mirror of
https://github.com/isc-projects/bind9.git
synced 2026-06-11 06:49:58 -04:00
Revert "fix: chg: Improve performance when looking for the closest encloser"
The 9.18 code does not have the rbtdb refactoring. Rather than
backporting from MR !9611, this reverts directly from commit
5d81a258e3.
This commit is contained in:
parent
a3b61ad9ec
commit
60bd3bc051
4 changed files with 7 additions and 24 deletions
|
|
@ -386,9 +386,9 @@ status=$((status + ret))
|
|||
|
||||
echo_i "checking negative validation NXDOMAIN NSEC3 ($n)"
|
||||
ret=0
|
||||
dig_with_opts +noauth a.b.c.d.e.f.g.h.i.j.nsec3.example. \
|
||||
dig_with_opts +noauth q.nsec3.example. \
|
||||
@10.53.0.3 a >dig.out.ns3.test$n || ret=1
|
||||
dig_with_opts +noauth a.b.c.d.e.f.g.h.i.j.nsec3.example. \
|
||||
dig_with_opts +noauth q.nsec3.example. \
|
||||
@10.53.0.4 a >dig.out.ns4.test$n || ret=1
|
||||
digcomp dig.out.ns3.test$n dig.out.ns4.test$n || ret=1
|
||||
grep "flags:.*ad.*QUERY" dig.out.ns4.test$n >/dev/null || ret=1
|
||||
|
|
|
|||
|
|
@ -244,7 +244,6 @@ struct dns_dbonupdatelistener {
|
|||
#define DNS_DBFIND_FORCENSEC3 0x0080
|
||||
#define DNS_DBFIND_ADDITIONALOK 0x0100
|
||||
#define DNS_DBFIND_NOZONECUT 0x0200
|
||||
#define DNS_DBFIND_WANTPARTIAL 0x0400
|
||||
|
||||
/*
|
||||
* DNS_DBFIND_STALEOK: This flag is set when BIND fails to refresh a RRset due
|
||||
|
|
|
|||
|
|
@ -4134,11 +4134,7 @@ zone_find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t *version,
|
|||
: DNS_R_NXDOMAIN;
|
||||
}
|
||||
} else {
|
||||
bool wantpartial = (options & DNS_DBFIND_WANTPARTIAL) !=
|
||||
0;
|
||||
result = active ? DNS_R_EMPTYNAME
|
||||
: wantpartial ? DNS_R_PARTIALMATCH
|
||||
: DNS_R_NXDOMAIN;
|
||||
result = active ? DNS_R_EMPTYNAME : DNS_R_NXDOMAIN;
|
||||
}
|
||||
goto tree_exit;
|
||||
} else if (result != ISC_R_SUCCESS) {
|
||||
|
|
|
|||
|
|
@ -11569,7 +11569,6 @@ again:
|
|||
* Find the closest encloser.
|
||||
*/
|
||||
dns_name_copy(name, cname);
|
||||
bool once = true;
|
||||
while (result == DNS_R_NXDOMAIN) {
|
||||
labels = dns_name_countlabels(cname) - 1;
|
||||
/*
|
||||
|
|
@ -11579,21 +11578,10 @@ again:
|
|||
goto cleanup;
|
||||
}
|
||||
dns_name_split(cname, labels, NULL, cname);
|
||||
result = dns_db_findext(
|
||||
qctx->db, cname, qctx->version,
|
||||
dns_rdatatype_nsec,
|
||||
options | (once ? DNS_DBFIND_WANTPARTIAL : 0),
|
||||
0, NULL, fname, &cm, &ci, NULL, NULL);
|
||||
if (result == DNS_R_PARTIALMATCH && once) {
|
||||
unsigned int flabels =
|
||||
dns_name_countlabels(fname);
|
||||
if (labels > flabels + 1) {
|
||||
dns_name_split(cname, flabels + 1, NULL,
|
||||
cname);
|
||||
}
|
||||
result = DNS_R_NXDOMAIN;
|
||||
}
|
||||
once = false;
|
||||
result = dns_db_findext(qctx->db, cname, qctx->version,
|
||||
dns_rdatatype_nsec, options, 0,
|
||||
NULL, fname, &cm, &ci, NULL,
|
||||
NULL);
|
||||
}
|
||||
/*
|
||||
* Add closest (provable) encloser NSEC3.
|
||||
|
|
|
|||
Loading…
Reference in a new issue