mirror of
https://github.com/isc-projects/bind9.git
synced 2026-06-11 07:09:59 -04:00
Refactor the conditions when adding new NEGATIVE header
Refactor the block when adding existing negative header under common block, so it is easier to understand that the two conditions inside are related.
This commit is contained in:
parent
f4adabb2dd
commit
3d2244a745
1 changed files with 23 additions and 26 deletions
|
|
@ -2681,35 +2681,32 @@ add(qpcache_t *qpdb, qpcnode_t *qpnode, dns_slabheader_t *newheader,
|
|||
continue;
|
||||
}
|
||||
|
||||
if (EXISTS(newheader) && NEGATIVE(newheader) &&
|
||||
rdtype == dns_rdatatype_any)
|
||||
{
|
||||
/*
|
||||
* We're adding a negative cache entry which
|
||||
* covers all types (NXDOMAIN, NODATA(QTYPE=ANY)).
|
||||
*
|
||||
* Make all other data ancient so that the only
|
||||
* rdataset that can be found at this node is the
|
||||
* negative cache entry.
|
||||
*/
|
||||
mark_ancient(header);
|
||||
}
|
||||
|
||||
if (EXISTS(newheader) && NEGATIVE(newheader) &&
|
||||
rdtype == dns_rdatatype_rrsig)
|
||||
{
|
||||
/*
|
||||
* We're adding a proof that a signature doesn't exist.
|
||||
*
|
||||
* Mark all existing signatures as ancient.
|
||||
*/
|
||||
if (DNS_TYPEPAIR_TYPE(top->typepair) ==
|
||||
dns_rdatatype_rrsig)
|
||||
{
|
||||
if (EXISTS(newheader) && NEGATIVE(newheader)) {
|
||||
if (rdtype == dns_rdatatype_any) {
|
||||
/*
|
||||
* We're adding a negative cache entry which
|
||||
* covers all types (NXDOMAIN,
|
||||
* NODATA(QTYPE=ANY)).
|
||||
*
|
||||
* Make all other data ancient so that the only
|
||||
* rdataset that can be found at this node is
|
||||
* the negative cache entry.
|
||||
*/
|
||||
mark_ancient(header);
|
||||
} else if (rdtype == dns_rdatatype_rrsig) {
|
||||
/*
|
||||
* We're adding a proof that a signature doesn't
|
||||
* exist.
|
||||
*
|
||||
* Mark all existing signatures as ancient.
|
||||
*/
|
||||
if (DNS_TYPEPAIR_TYPE(top->typepair) ==
|
||||
dns_rdatatype_rrsig)
|
||||
{
|
||||
mark_ancient(header);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (EXISTS(newheader) && !NEGATIVE(newheader) &&
|
||||
NEGATIVE(header) && EXISTS(header) && ACTIVE(header, now))
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in a new issue