Lines Matching full:ns
2 * iterator/iter_delegpt.c - delegation point with NS and address information.
67 struct delegpt_ns* ns; in delegpt_copy() local
77 for(ns = dp->nslist; ns; ns = ns->next) { in delegpt_copy()
78 if(!delegpt_add_ns(copy, region, ns->name, ns->lame, in delegpt_copy()
79 ns->tls_auth_name, ns->port)) in delegpt_copy()
81 copy->nslist->cache_lookup_count = ns->cache_lookup_count; in delegpt_copy()
82 copy->nslist->resolved = ns->resolved; in delegpt_copy()
83 copy->nslist->got4 = ns->got4; in delegpt_copy()
84 copy->nslist->got6 = ns->got6; in delegpt_copy()
85 copy->nslist->done_pside4 = ns->done_pside4; in delegpt_copy()
86 copy->nslist->done_pside6 = ns->done_pside6; in delegpt_copy()
109 struct delegpt_ns* ns; in delegpt_add_ns() local
117 ns = (struct delegpt_ns*)regional_alloc(region, in delegpt_add_ns()
119 if(!ns) in delegpt_add_ns()
121 ns->next = dp->nslist; in delegpt_add_ns()
122 ns->namelen = len; in delegpt_add_ns()
123 dp->nslist = ns; in delegpt_add_ns()
124 ns->name = regional_alloc_init(region, name, ns->namelen); in delegpt_add_ns()
125 ns->cache_lookup_count = 0; in delegpt_add_ns()
126 ns->resolved = 0; in delegpt_add_ns()
127 ns->got4 = 0; in delegpt_add_ns()
128 ns->got6 = 0; in delegpt_add_ns()
129 ns->lame = lame; in delegpt_add_ns()
130 ns->done_pside4 = 0; in delegpt_add_ns()
131 ns->done_pside6 = 0; in delegpt_add_ns()
132 ns->port = port; in delegpt_add_ns()
134 ns->tls_auth_name = regional_strdup(region, tls_auth_name); in delegpt_add_ns()
135 if(!ns->tls_auth_name) in delegpt_add_ns()
138 ns->tls_auth_name = NULL; in delegpt_add_ns()
140 return ns->name != 0; in delegpt_add_ns()
178 struct delegpt_ns* ns = delegpt_find_ns(dp, name, namelen); in delegpt_add_target() local
180 if(!ns) { in delegpt_add_target()
186 ns->got6 = 1; in delegpt_add_target()
187 else ns->got4 = 1; in delegpt_add_target()
188 if(ns->got4 && ns->got6) in delegpt_add_target()
189 ns->resolved = 1; in delegpt_add_target()
192 ns->done_pside6 = 1; in delegpt_add_target()
193 else ns->done_pside4 = 1; in delegpt_add_target()
195 log_assert(ns->port>0); in delegpt_add_target()
197 ns->tls_auth_name, ns->port, additions); in delegpt_add_target()
250 struct delegpt_ns* ns; in delegpt_count_ns() local
253 for(ns = dp->nslist; ns; ns = ns->next) { in delegpt_count_ns()
255 if(!ns->resolved) in delegpt_count_ns()
282 struct delegpt_ns* ns; in delegpt_log() local
300 for(ns = dp->nslist; ns; ns = ns->next) { in delegpt_log()
301 dname_str(ns->name, buf); in delegpt_log()
303 (ns->resolved?"*":""), in delegpt_log()
304 (ns->got4?" A":""), (ns->got6?" AAAA":""), in delegpt_log()
305 (dp->bogus?" BOGUS":""), (ns->lame?" PARENTSIDE":""), in delegpt_log()
306 (ns->done_pside4?" PSIDE_A":""), in delegpt_log()
307 (ns->done_pside6?" PSIDE_AAAA":"")); in delegpt_log()
388 struct delegpt_ns* ns; in delegpt_count_missing_targets() local
390 for(ns = dp->nslist; ns; ns = ns->next) { in delegpt_count_missing_targets()
391 if(ns->resolved) continue; in delegpt_count_missing_targets()
393 if(ns->lame) nlame++; in delegpt_count_missing_targets()
399 /** find NS rrset in given list */
417 /* look for NS records in the authority section... */ in delegpt_from_message()
422 * NS set for the "referral" might be in the answer section. */ in delegpt_from_message()
426 /* If there was no NS rrset in the authority section, then this in delegpt_from_message()
476 /* add rdata of NS (= wirefmt dname), skip rdatalen bytes */ in delegpt_rrset_add_ns()
547 void delegpt_mark_neg(struct delegpt_ns* ns, uint16_t qtype) in delegpt_mark_neg() argument
549 if(ns) { in delegpt_mark_neg()
551 ns->got4 = 2; in delegpt_mark_neg()
553 ns->got6 = 2; in delegpt_mark_neg()
554 if(ns->got4 && ns->got6) in delegpt_mark_neg()
555 ns->resolved = 1; in delegpt_mark_neg()
566 struct delegpt_ns* ns = delegpt_find_ns(dp, msg->key.qname, in delegpt_add_neg_msg() local
568 delegpt_mark_neg(ns, msg->key.qtype); in delegpt_add_neg_msg()
574 struct delegpt_ns* ns; in delegpt_no_ipv6() local
575 for(ns = dp->nslist; ns; ns = ns->next) { in delegpt_no_ipv6()
577 if(ns->got4) in delegpt_no_ipv6()
578 ns->resolved = 1; in delegpt_no_ipv6()
584 struct delegpt_ns* ns; in delegpt_no_ipv4() local
585 for(ns = dp->nslist; ns; ns = ns->next) { in delegpt_no_ipv4()
587 if(ns->got6) in delegpt_no_ipv4()
588 ns->resolved = 1; in delegpt_no_ipv4()
645 struct delegpt_ns* ns; in delegpt_add_ns_mlc() local
653 ns = (struct delegpt_ns*)malloc(sizeof(struct delegpt_ns)); in delegpt_add_ns_mlc()
654 if(!ns) in delegpt_add_ns_mlc()
656 ns->namelen = len; in delegpt_add_ns_mlc()
657 ns->name = memdup(name, ns->namelen); in delegpt_add_ns_mlc()
658 if(!ns->name) { in delegpt_add_ns_mlc()
659 free(ns); in delegpt_add_ns_mlc()
662 ns->next = dp->nslist; in delegpt_add_ns_mlc()
663 dp->nslist = ns; in delegpt_add_ns_mlc()
664 ns->cache_lookup_count = 0; in delegpt_add_ns_mlc()
665 ns->resolved = 0; in delegpt_add_ns_mlc()
666 ns->got4 = 0; in delegpt_add_ns_mlc()
667 ns->got6 = 0; in delegpt_add_ns_mlc()
668 ns->lame = (uint8_t)lame; in delegpt_add_ns_mlc()
669 ns->done_pside4 = 0; in delegpt_add_ns_mlc()
670 ns->done_pside6 = 0; in delegpt_add_ns_mlc()
671 ns->port = port; in delegpt_add_ns_mlc()
673 ns->tls_auth_name = strdup(tls_auth_name); in delegpt_add_ns_mlc()
674 if(!ns->tls_auth_name) { in delegpt_add_ns_mlc()
675 free(ns->name); in delegpt_add_ns_mlc()
676 free(ns); in delegpt_add_ns_mlc()
680 ns->tls_auth_name = NULL; in delegpt_add_ns_mlc()
734 struct delegpt_ns* ns = delegpt_find_ns(dp, name, namelen); in delegpt_add_target_mlc() local
736 if(!ns) { in delegpt_add_target_mlc()
742 ns->got6 = 1; in delegpt_add_target_mlc()
743 else ns->got4 = 1; in delegpt_add_target_mlc()
744 if(ns->got4 && ns->got6) in delegpt_add_target_mlc()
745 ns->resolved = 1; in delegpt_add_target_mlc()
748 ns->done_pside6 = 1; in delegpt_add_target_mlc()
749 else ns->done_pside4 = 1; in delegpt_add_target_mlc()
751 log_assert(ns->port>0); in delegpt_add_target_mlc()
753 ns->tls_auth_name, ns->port); in delegpt_add_target_mlc()
758 struct delegpt_ns* ns; in delegpt_get_mem() local
763 for(ns=dp->nslist; ns; ns=ns->next) in delegpt_get_mem()
764 s += sizeof(*ns)+ns->namelen; in delegpt_get_mem()