mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-30 05:57:52 +00:00
fix: dev: Revert "Improve performance when looking for the closest encloser"
Revert "fix: chg: Improve performance when looking for the closest encloser when returning NSEC3 proofs" This reverts merge request !9436 Closes #4950 Merge branch 'revert-78d48f7a' into 'main' See merge request isc-projects/bind9!9611
This commit is contained in:
commit
3a321ec661
@ -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
|
||||
|
@ -258,7 +258,6 @@ enum {
|
||||
DNS_DBFIND_FORCENSEC3 = 1 << 5,
|
||||
DNS_DBFIND_ADDITIONALOK = 1 << 6,
|
||||
DNS_DBFIND_NOZONECUT = 1 << 7,
|
||||
DNS_DBFIND_WANTPARTIAL = 1 << 8,
|
||||
};
|
||||
|
||||
/*
|
||||
|
@ -3412,11 +3412,7 @@ 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) {
|
||||
|
@ -1094,11 +1094,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) {
|
||||
|
@ -10960,7 +10960,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;
|
||||
/*
|
||||
@ -10970,21 +10969,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…
x
Reference in New Issue
Block a user