mirror of
https://github.com/isc-projects/bind9.git
synced 2026-06-13 01:30:00 -04:00
Some general cleanup (#42827)
(cherry picked from commite65cd99461) (cherry picked from commit47ed813864) (cherry picked from commite7a3b8948f)
This commit is contained in:
parent
01ccf0d480
commit
995cda9432
3 changed files with 21 additions and 18 deletions
|
|
@ -36,7 +36,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
|
||||
|
|
|
|||
|
|
@ -1436,7 +1436,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,
|
||||
|
|
@ -6123,32 +6123,36 @@ 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);
|
||||
topheader->attributes |=
|
||||
RDATASET_ATTR_STALE;
|
||||
rbtnode->dirty = 1;
|
||||
} 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 {
|
||||
/*
|
||||
|
|
@ -8492,8 +8496,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;
|
||||
|
|
|
|||
|
|
@ -2245,7 +2245,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));
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue