Lines Matching refs:rrset

270 msgparse_bucket_remove(struct msg_parse* msg, struct rrset_parse* rrset)  in msgparse_bucket_remove()  argument
273 p = &msg->hashtable[ rrset->hash & (PARSE_TABLE_SIZE-1) ]; in msgparse_bucket_remove()
275 if(*p == rrset) { in msgparse_bucket_remove()
276 *p = rrset->rrset_bucket_next; in msgparse_bucket_remove()
285 change_section(struct msg_parse* msg, struct rrset_parse* rrset, in change_section() argument
290 if(section == rrset->section) in change_section()
295 if(p == rrset) { in change_section()
298 if(msg->rrset_last == rrset) in change_section()
306 switch(rrset->section) { in change_section()
313 rrset->rrset_all_next = 0; in change_section()
315 msg->rrset_last->rrset_all_next = rrset; in change_section()
316 else msg->rrset_first = rrset; in change_section()
317 msg->rrset_last = rrset; in change_section()
324 rrset->section = section; in change_section()
329 rrset_has_sigover(sldns_buffer* pkt, struct rrset_parse* rrset, uint16_t type, in rrset_has_sigover() argument
333 struct rr_parse* rr = rrset->rr_first; in rrset_has_sigover()
334 log_assert( rrset->type == LDNS_RR_TYPE_RRSIG ); in rrset_has_sigover()
712 sig_is_double(sldns_buffer* pkt, struct rrset_parse* rrset, uint8_t* ttldata) in sig_is_double() argument
727 sig = rrset->rrsig_first; in sig_is_double()
754 add_rr_to_rrset(struct rrset_parse* rrset, sldns_buffer* pkt, in add_rr_to_rrset() argument
760 if(rrset->section != section && type != LDNS_RR_TYPE_RRSIG && in add_rr_to_rrset()
761 rrset->type != LDNS_RR_TYPE_RRSIG) { in add_rr_to_rrset()
780 && sig_is_double(pkt, rrset, sldns_buffer_current(pkt))) { in add_rr_to_rrset()
792 if(type == LDNS_RR_TYPE_RRSIG && rrset->type != LDNS_RR_TYPE_RRSIG) { in add_rr_to_rrset()
793 if(rrset->rrsig_last) in add_rr_to_rrset()
794 rrset->rrsig_last->next = rr; in add_rr_to_rrset()
795 else rrset->rrsig_first = rr; in add_rr_to_rrset()
796 rrset->rrsig_last = rr; in add_rr_to_rrset()
797 rrset->rrsig_count++; in add_rr_to_rrset()
799 if(rrset->rr_last) in add_rr_to_rrset()
800 rrset->rr_last->next = rr; in add_rr_to_rrset()
801 else rrset->rr_first = rr; in add_rr_to_rrset()
802 rrset->rr_last = rr; in add_rr_to_rrset()
803 rrset->rr_count++; in add_rr_to_rrset()
809 rrset->size += rr->size; in add_rr_to_rrset()
837 struct rrset_parse* rrset = NULL; in parse_section() local
883 &prev_dnamelen, &prev_type, &prev_dclass, &rrset, in parse_section()
886 if(!rrset) { in parse_section()
889 rrset = new_rrset(msg, dname, dnamelen, type, dclass, in parse_section()
891 if(!rrset) in parse_section()
896 dname_print(stderr, pkt, rrset->dname); in parse_section()
898 sldns_rr_descript(rrset->type)? in parse_section()
899 sldns_rr_descript(rrset->type)->_name: "??", in parse_section()
900 (int)rrset->type); in parse_section()
903 if((r=add_rr_to_rrset(rrset, pkt, msg, region, section, in parse_section()
1128 struct rrset_parse* rrset = msg->rrset_first; in parse_extract_edns_from_response_msg() local
1136 while(rrset) { in parse_extract_edns_from_response_msg()
1137 if(rrset->type == LDNS_RR_TYPE_OPT) { in parse_extract_edns_from_response_msg()
1142 found = rrset; in parse_extract_edns_from_response_msg()
1144 prev = rrset; in parse_extract_edns_from_response_msg()
1145 rrset = rrset->rrset_all_next; in parse_extract_edns_from_response_msg()
1312 msgparse_rrset_remove_rr(const char* str, sldns_buffer* pkt, struct rrset_parse* rrset, in msgparse_rrset_remove_rr() argument
1315 if(verbosity >= VERB_QUERY && rrset->dname_len <= LDNS_MAX_DOMAINLEN && str) { in msgparse_rrset_remove_rr()
1317 dname_pkt_copy(pkt, buf, rrset->dname); in msgparse_rrset_remove_rr()
1321 rrset->type, ntohs(rrset->rrset_class)); in msgparse_rrset_remove_rr()
1325 else rrset->rr_first = rr->next; in msgparse_rrset_remove_rr()
1326 if(rrset->rr_last == rr) in msgparse_rrset_remove_rr()
1327 rrset->rr_last = prev; in msgparse_rrset_remove_rr()
1328 rrset->rr_count --; in msgparse_rrset_remove_rr()
1329 rrset->size -= rr->size; in msgparse_rrset_remove_rr()
1332 return rrset->rr_count == 0; in msgparse_rrset_remove_rr()