From e65cd9946109a7f86c639d8b4ec9dcb904c4f8f5 Mon Sep 17 00:00:00 2001 From: Mukund Sivaraman Date: Wed, 13 Jul 2016 14:15:22 +0530 Subject: [PATCH] Some general cleanup (#42827) --- lib/dns/include/dns/message.h | 2 +- lib/dns/rbtdb.c | 35 +++++++++++++++++++---------------- lib/dns/rdata.c | 2 +- 3 files changed, 21 insertions(+), 18 deletions(-) diff --git a/lib/dns/include/dns/message.h b/lib/dns/include/dns/message.h index ec6779ce0c..ebaa4d6d77 100644 --- a/lib/dns/include/dns/message.h +++ b/lib/dns/include/dns/message.h @@ -27,7 +27,7 @@ * * How this beast works: * - * When a dns message is received in a buffer, dns_message_fromwire() is called + * When a dns message is received in a buffer, dns_message_parse() is called * on the memory region. Various items are checked including the format * of the message (if counts are right, if counts consume the entire sections, * and if sections consume the entire message) and known pseudo-RRs in the diff --git a/lib/dns/rbtdb.c b/lib/dns/rbtdb.c index aa15c88420..7a90020260 100644 --- a/lib/dns/rbtdb.c +++ b/lib/dns/rbtdb.c @@ -1659,7 +1659,7 @@ free_rdataset(dns_rbtdb_t *rbtdb, isc_mem_t *mctx, rdatasetheader_t *rdataset) { free_acachearray(mctx, rdataset, rdataset->additional_auth); free_acachearray(mctx, rdataset, rdataset->additional_glue); - if ((rdataset->attributes & RDATASET_ATTR_NONEXISTENT) != 0) + if (NONEXISTENT(rdataset)) size = sizeof(*rdataset); else size = dns_rdataslab_size((unsigned char *)rdataset, @@ -6067,30 +6067,34 @@ add32(dns_rbtdb_t *rbtdb, dns_rbtnode_t *rbtnode, rbtdb_version_t *rbtversion, /* * We're adding a negative cache entry. */ - for (topheader = rbtnode->data; - topheader != NULL; - topheader = topheader->next) { + if (covers == dns_rdatatype_any) { /* * If we're adding an negative cache entry * which covers all types (NXDOMAIN, - * NODATA(QTYPE=ANY)). + * NODATA(QTYPE=ANY)), * * We make all other data stale so that the * only rdataset that can be found at this * node is the negative cache entry. - * - * Otherwise look for any RRSIGs of the - * given type so they can be marked stale - * later. */ - if (covers == dns_rdatatype_any) { + for (topheader = rbtnode->data; + topheader != NULL; + topheader = topheader->next) + { set_ttl(rbtdb, topheader, 0); mark_stale_header(rbtdb, topheader); - } else if (topheader->type == sigtype) - sigheader = topheader; - } - if (covers == dns_rdatatype_any) + } goto find_header; + } + /* + * Otherwise look for any RRSIGs of the given + * type so they can be marked stale later. + */ + for (topheader = rbtnode->data; + topheader != NULL; + topheader = topheader->next) + if (topheader->type == sigtype) + sigheader = topheader; negtype = RBTDB_RDATATYPE_VALUE(covers, 0); } else { /* @@ -8903,8 +8907,7 @@ rdatasetiter_next(dns_rdatasetiter_t *iterator) { * ANY and RRSIG queries for 0 TTL * rdatasets to work. */ - if ((header->attributes & - RDATASET_ATTR_NONEXISTENT) != 0 || + if (NONEXISTENT(header) || (now != 0 && now > header->rdh_ttl)) header = NULL; break; diff --git a/lib/dns/rdata.c b/lib/dns/rdata.c index ade9f56823..83dc7f8281 100644 --- a/lib/dns/rdata.c +++ b/lib/dns/rdata.c @@ -2246,7 +2246,7 @@ fromtext_error(void (*callback)(dns_rdatacallbacks_t *, const char *, ...), dns_rdatatype_t dns_rdata_covers(dns_rdata_t *rdata) { - if (rdata->type == 46) + if (rdata->type == dns_rdatatype_rrsig) return (covers_rrsig(rdata)); return (covers_sig(rdata)); }