• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/contrib/unbound/util/data/

Lines Matching refs:rrset

74  * Allocate new rrset in region, fill with data.
108 /** See if next rrset is nsec at zone apex */
153 /** Calculate rrset flags */
180 /** create partial dname hash for rrset hash */
192 /** create a rrset hash from a partial dname hash */
265 msgparse_bucket_remove(struct msg_parse* msg, struct rrset_parse* rrset)
268 p = &msg->hashtable[ rrset->hash & (PARSE_TABLE_SIZE-1) ];
270 if(*p == rrset) {
271 *p = rrset->rrset_bucket_next;
278 /** change section of rrset from previous to current section */
280 change_section(struct msg_parse* msg, struct rrset_parse* rrset,
285 if(section == rrset->section)
290 if(p == rrset) {
293 if(msg->rrset_last == rrset)
301 switch(rrset->section) {
308 rrset->rrset_all_next = 0;
310 msg->rrset_last->rrset_all_next = rrset;
311 else msg->rrset_first = rrset;
312 msg->rrset_last = rrset;
319 rrset->section = section;
322 /** see if rrset of type RRSIG contains sig over given type */
324 rrset_has_sigover(sldns_buffer* pkt, struct rrset_parse* rrset, uint16_t type,
328 struct rr_parse* rr = rrset->rr_first;
329 log_assert( rrset->type == LDNS_RR_TYPE_RRSIG );
388 /** change an rrsig rrset for use as data rrset */
400 /* need to make new rrset to hold data type */
419 /* changeover the type of the rrset to data set */
441 /** Find rrset. If equal to previous it is fast. hash if not so.
448 * @param hash: hash value is returned if the rrset could not be found.
449 * @param rrset_flags: is returned if the rrset could not be found.
707 sig_is_double(sldns_buffer* pkt, struct rrset_parse* rrset, uint8_t* ttldata)
722 sig = rrset->rrsig_first;
747 /** Add rr (from packet here) to rrset, skips rr */
749 add_rr_to_rrset(struct rrset_parse* rrset, sldns_buffer* pkt,
754 /* check section of rrset. */
755 if(rrset->section != section && type != LDNS_RR_TYPE_RRSIG &&
756 rrset->type != LDNS_RR_TYPE_RRSIG) {
763 verbose(VERB_QUERY, "Packet contains rrset data in "
775 && sig_is_double(pkt, rrset, sldns_buffer_current(pkt))) {
787 if(type == LDNS_RR_TYPE_RRSIG && rrset->type != LDNS_RR_TYPE_RRSIG) {
788 if(rrset->rrsig_last)
789 rrset->rrsig_last->next = rr;
790 else rrset->rrsig_first = rr;
791 rrset->rrsig_last = rr;
792 rrset->rrsig_count++;
794 if(rrset->rr_last)
795 rrset->rr_last->next = rr;
796 else rrset->rr_first = rr;
797 rrset->rr_last = rr;
798 rrset->rr_count++;
804 rrset->size += rr->size;
832 struct rrset_parse* rrset = NULL;
878 &prev_dnamelen, &prev_type, &prev_dclass, &rrset,
881 if(!rrset) {
884 rrset = new_rrset(msg, dname, dnamelen, type, dclass,
886 if(!rrset)
891 dname_print(stderr, pkt, rrset->dname);
893 sldns_rr_descript(rrset->type)?
894 sldns_rr_descript(rrset->type)->_name: "??",
895 (int)rrset->type);
897 /* add to rrset. */
898 if((r=add_rr_to_rrset(rrset, pkt, msg, region, section,
970 struct rrset_parse* rrset = msg->rrset_first;
978 while(rrset) {
979 if(rrset->type == LDNS_RR_TYPE_OPT) {
984 found = rrset;
986 prev = rrset;
987 rrset = rrset->rrset_all_next;