Lines Matching refs:rep
67 struct query_info* qinf, struct reply_info* rep, size_t skip) in val_classify_response() argument
69 int rcode = (int)FLAGS_GET_RCODE(rep->flags); in val_classify_response()
74 if(rcode == LDNS_RCODE_NXDOMAIN && rep->an_numrrsets == 0) in val_classify_response()
78 if(!(query_flags&BIT_RD) && rep->an_numrrsets == 0 && in val_classify_response()
85 for(i=0; i<rep->ns_numrrsets; i++) { in val_classify_response()
86 if(ntohs(rep->rrsets[i]->rk.type) == LDNS_RR_TYPE_SOA) in val_classify_response()
88 if(ntohs(rep->rrsets[i]->rk.type) == LDNS_RR_TYPE_DS) in val_classify_response()
90 if(ntohs(rep->rrsets[i]->rk.type) == LDNS_RR_TYPE_NS) in val_classify_response()
96 if(!(query_flags&BIT_RD) && rep->ns_numrrsets == 0 && in val_classify_response()
97 rep->an_numrrsets == 1 && rcode == LDNS_RCODE_NOERROR && in val_classify_response()
98 ntohs(rep->rrsets[0]->rk.type) == LDNS_RR_TYPE_NS && in val_classify_response()
99 query_dname_compare(rep->rrsets[0]->rk.dname, in val_classify_response()
107 if(skip>0 && rep->an_numrrsets <= skip) in val_classify_response()
111 if(rcode == LDNS_RCODE_NOERROR && rep->an_numrrsets == 0) in val_classify_response()
125 for(i=skip; i<rep->an_numrrsets; i++) { in val_classify_response()
127 ntohs(rep->rrsets[i]->rk.type) in val_classify_response()
130 rep->rrsets[i]->rk.dname) == 0) { in val_classify_response()
136 if(ntohs(rep->rrsets[i]->rk.type) in val_classify_response()
141 qinf, rep); in val_classify_response()
147 for(i=skip; i<rep->an_numrrsets; i++) { in val_classify_response()
149 ntohs(rep->rrsets[i]->rk.type) == qinf->qtype) in val_classify_response()
151 if(ntohs(rep->rrsets[i]->rk.type) == LDNS_RR_TYPE_CNAME) in val_classify_response()
155 qinf, rep); in val_classify_response()
247 cname_under_previous_dname(struct reply_info* rep, size_t cname_idx, in cname_under_previous_dname() argument
252 if(ntohs(rep->rrsets[i]->rk.type) == LDNS_RR_TYPE_DNAME && in cname_under_previous_dname()
253 dname_strict_subdomain_c(rep->rrsets[cname_idx]-> in cname_under_previous_dname()
254 rk.dname, rep->rrsets[i]->rk.dname)) { in cname_under_previous_dname()
265 struct reply_info* rep, size_t skip, uint8_t** signer_name, in val_find_signer() argument
272 for(i=skip; i<rep->an_numrrsets; i++) { in val_find_signer()
274 rep->rrsets[i]->rk.dname) == 0) { in val_find_signer()
275 val_find_rrset_signer(rep->rrsets[i], in val_find_signer()
284 ntohs(rep->rrsets[i]->rk.type) == in val_find_signer()
286 ntohs(rep->rrsets[i-1]->rk.type) == in val_find_signer()
288 dname_strict_subdomain_c(rep->rrsets[i]->rk.dname, rep->rrsets[i-1]->rk.dname)) { in val_find_signer()
289 val_find_rrset_signer(rep->rrsets[i-1], in val_find_signer()
300 for(i=skip; i<rep->an_numrrsets; i++) { in val_find_signer()
301 val_find_rrset_signer(rep->rrsets[i], in val_find_signer()
305 if(ntohs(rep->rrsets[i]->rk.type) == LDNS_RR_TYPE_CNAME in val_find_signer()
306 && cname_under_previous_dname(rep, i, &j)) { in val_find_signer()
307 val_find_rrset_signer(rep->rrsets[j], in val_find_signer()
311 if(ntohs(rep->rrsets[i]->rk.type) != LDNS_RR_TYPE_DNAME) in val_find_signer()
319 for(i=rep->an_numrrsets; i< in val_find_signer()
320 rep->an_numrrsets+rep->ns_numrrsets; i++) { in val_find_signer()
321 if(ntohs(rep->rrsets[i]->rk.type) == LDNS_RR_TYPE_NSEC in val_find_signer()
322 || ntohs(rep->rrsets[i]->rk.type) == in val_find_signer()
324 val_find_rrset_signer(rep->rrsets[i], in val_find_signer()
335 for(i=rep->an_numrrsets; i<rep->an_numrrsets+rep-> in val_find_signer()
337 if(ntohs(rep->rrsets[i]->rk.type) == LDNS_RR_TYPE_NSEC in val_find_signer()
338 || ntohs(rep->rrsets[i]->rk.type) == in val_find_signer()
340 val_find_best_signer(rep->rrsets[i], qinf, in val_find_signer()
347 for(i=skip; i<rep->an_numrrsets; i++) { in val_find_signer()
349 rep->rrsets[i]->rk.dname) == 0) { in val_find_signer()
350 val_find_rrset_signer(rep->rrsets[i], in val_find_signer()
357 if(skip < rep->an_numrrsets && in val_find_signer()
358 ntohs(rep->rrsets[skip]->rk.type) == in val_find_signer()
360 val_find_rrset_signer(rep->rrsets[skip], in val_find_signer()
369 if(skip < rep->rrset_count) { in val_find_signer()
370 val_find_rrset_signer(rep->rrsets[skip], in val_find_signer()
970 val_chase_cname(struct query_info* qchase, struct reply_info* rep, in val_chase_cname() argument
974 for(i = *cname_skip; i < rep->an_numrrsets; i++) { in val_chase_cname()
975 if(ntohs(rep->rrsets[i]->rk.type) == LDNS_RR_TYPE_CNAME && in val_chase_cname()
976 query_dname_compare(qchase->qname, rep->rrsets[i]-> in val_chase_cname()
979 get_cname_target(rep->rrsets[i], &qchase->qname, in val_chase_cname()
1080 void val_reply_remove_auth(struct reply_info* rep, size_t index) in val_reply_remove_auth() argument
1082 log_assert(index < rep->rrset_count); in val_reply_remove_auth()
1083 log_assert(index >= rep->an_numrrsets); in val_reply_remove_auth()
1084 log_assert(index < rep->an_numrrsets+rep->ns_numrrsets); in val_reply_remove_auth()
1085 memmove(rep->rrsets+index, rep->rrsets+index+1, in val_reply_remove_auth()
1087 (rep->rrset_count - index - 1)); in val_reply_remove_auth()
1088 rep->ns_numrrsets--; in val_reply_remove_auth()
1089 rep->rrset_count--; in val_reply_remove_auth()
1093 val_check_nonsecure(struct module_env* env, struct reply_info* rep) in val_check_nonsecure() argument
1097 for(i=rep->an_numrrsets; i<rep->an_numrrsets+rep->ns_numrrsets; i++) { in val_check_nonsecure()
1098 if(((struct packed_rrset_data*)rep->rrsets[i]->entry.data) in val_check_nonsecure()
1114 if(rep->an_numrrsets != 0 && in val_check_nonsecure()
1115 ntohs(rep->rrsets[i]->rk.type) in val_check_nonsecure()
1118 rep->ar_numrrsets = 0; in val_check_nonsecure()
1119 rep->rrset_count = rep->an_numrrsets + in val_check_nonsecure()
1120 rep->ns_numrrsets; in val_check_nonsecure()
1122 memmove(rep->rrsets+i, rep->rrsets+i+1, in val_check_nonsecure()
1124 (rep->rrset_count - i - 1)); in val_check_nonsecure()
1125 rep->ns_numrrsets--; in val_check_nonsecure()
1126 rep->rrset_count--; in val_check_nonsecure()
1133 rep->rrsets[i]->rk.dname, in val_check_nonsecure()
1134 ntohs(rep->rrsets[i]->rk.type), in val_check_nonsecure()
1135 ntohs(rep->rrsets[i]->rk.rrset_class)); in val_check_nonsecure()
1136 rep->security = sec_status_bogus; in val_check_nonsecure()
1143 for(i=rep->an_numrrsets+rep->ns_numrrsets; i<rep->rrset_count; i++) { in val_check_nonsecure()
1144 if(((struct packed_rrset_data*)rep->rrsets[i]->entry.data) in val_check_nonsecure()
1155 memmove(rep->rrsets+i, rep->rrsets+i+1, in val_check_nonsecure()
1157 (rep->rrset_count - i - 1)); in val_check_nonsecure()
1158 rep->ar_numrrsets--; in val_check_nonsecure()
1159 rep->rrset_count--; in val_check_nonsecure()
1177 val_mark_indeterminate(struct reply_info* rep, struct val_anchors* anchors, in val_mark_indeterminate() argument
1182 for(i=0; i<rep->rrset_count; i++) { in val_mark_indeterminate()
1183 d = (struct packed_rrset_data*)rep->rrsets[i]->entry.data; in val_mark_indeterminate()
1185 check_no_anchor(anchors, rep->rrsets[i]->rk.dname, in val_mark_indeterminate()
1186 rep->rrsets[i]->rk.dname_len, in val_mark_indeterminate()
1187 ntohs(rep->rrsets[i]->rk.rrset_class))) in val_mark_indeterminate()
1191 rrset_update_sec_status(r, rep->rrsets[i], *env->now); in val_mark_indeterminate()
1197 val_mark_insecure(struct reply_info* rep, uint8_t* kname, in val_mark_insecure() argument
1202 for(i=0; i<rep->rrset_count; i++) { in val_mark_insecure()
1203 d = (struct packed_rrset_data*)rep->rrsets[i]->entry.data; in val_mark_insecure()
1205 dname_subdomain_c(rep->rrsets[i]->rk.dname, kname)) { in val_mark_insecure()
1208 rrset_update_sec_status(r, rep->rrsets[i], *env->now); in val_mark_insecure()
1214 val_next_unchecked(struct reply_info* rep, size_t skip) in val_next_unchecked() argument
1218 for(i=skip+1; i<rep->rrset_count; i++) { in val_next_unchecked()
1219 d = (struct packed_rrset_data*)rep->rrsets[i]->entry.data; in val_next_unchecked()
1224 return rep->rrset_count; in val_next_unchecked()
1277 int val_has_signed_nsecs(struct reply_info* rep, char** reason) in val_has_signed_nsecs() argument
1281 for(i=rep->an_numrrsets; i<rep->an_numrrsets+rep->ns_numrrsets; i++) { in val_has_signed_nsecs()
1282 if(rep->rrsets[i]->rk.type == htons(LDNS_RR_TYPE_NSEC)) in val_has_signed_nsecs()
1284 else if(rep->rrsets[i]->rk.type == htons(LDNS_RR_TYPE_NSEC3)) in val_has_signed_nsecs()
1287 d = (struct packed_rrset_data*)rep->rrsets[i]->entry.data; in val_has_signed_nsecs()
1319 msg->rep->rrsets[0] = copy; in val_find_DS()
1320 msg->rep->rrset_count++; in val_find_DS()
1321 msg->rep->an_numrrsets++; in val_find_DS()