mirror of
https://github.com/isc-projects/bind9.git
synced 2026-04-27 17:17:22 -04:00
Merge branch 'each-nsec3-ixfr-v9_16' into 'v9_16'
don't bother checking for empty nodes when searching the NSEC3 tree See merge request isc-projects/bind9!3528
This commit is contained in:
commit
5c596c41d7
2 changed files with 15 additions and 5 deletions
4
CHANGES
4
CHANGES
|
|
@ -1,3 +1,7 @@
|
|||
5409. [performance] When looking up NSEC3 data in a zone database, skip
|
||||
the check for empty non-terminal nodes; the NSEC3
|
||||
tree doesn't have any. [GL #1834]
|
||||
|
||||
5407. [func] The zone timers are now exported to the statistics
|
||||
channel. Thanks to Paul Frieden, Verizon Media.
|
||||
[GL #1232]
|
||||
|
|
|
|||
|
|
@ -3274,7 +3274,7 @@ activeempty(rbtdb_search_t *search, dns_rbtnodechain_t *chain,
|
|||
}
|
||||
|
||||
static inline bool
|
||||
activeemtpynode(rbtdb_search_t *search, const dns_name_t *qname,
|
||||
activeemptynode(rbtdb_search_t *search, const dns_name_t *qname,
|
||||
dns_name_t *wname) {
|
||||
dns_fixedname_t fnext;
|
||||
dns_fixedname_t forigin;
|
||||
|
|
@ -3505,7 +3505,7 @@ find_wildcard(rbtdb_search_t *search, dns_rbtnode_t **nodep,
|
|||
NODE_UNLOCK(lock, isc_rwlocktype_read);
|
||||
if (header != NULL ||
|
||||
activeempty(search, &wchain, wname)) {
|
||||
if (activeemtpynode(search, qname,
|
||||
if (activeemptynode(search, qname,
|
||||
wname)) {
|
||||
return (ISC_R_NOTFOUND);
|
||||
}
|
||||
|
|
@ -3909,7 +3909,6 @@ zone_find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version,
|
|||
rdatasetheader_t *foundsig, *cnamesig, *nsecsig;
|
||||
rbtdb_rdatatype_t sigtype;
|
||||
bool active;
|
||||
dns_rbtnodechain_t chain;
|
||||
nodelock_t *lock;
|
||||
dns_rbt_t *tree;
|
||||
|
||||
|
|
@ -3987,8 +3986,15 @@ zone_find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version,
|
|||
}
|
||||
}
|
||||
|
||||
chain = search.chain;
|
||||
active = activeempty(&search, &chain, name);
|
||||
active = false;
|
||||
if ((options & DNS_DBFIND_FORCENSEC3) == 0) {
|
||||
/*
|
||||
* The NSEC3 tree won't have empty nodes,
|
||||
* so it isn't necessary to check for them.
|
||||
*/
|
||||
dns_rbtnodechain_t chain = search.chain;
|
||||
active = activeempty(&search, &chain, name);
|
||||
}
|
||||
|
||||
/*
|
||||
* If we're here, then the name does not exist, is not
|
||||
|
|
|
|||
Loading…
Reference in a new issue