mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-30 05:57:52 +00:00
Revert "Use a binary search to find the NSEC3 closest encloser"
This reverts commit ae718fab5366465a4c928e4d8d89717431f78547.
This commit is contained in:
parent
d0e0706797
commit
5df876e968
@ -11367,33 +11367,24 @@ again:
|
||||
* No NSEC proof available, return NSEC3 proofs instead.
|
||||
*/
|
||||
cname = dns_fixedname_initname(&cfixed);
|
||||
|
||||
/*
|
||||
* Find the closest encloser using a binary search.
|
||||
* maxlabels: suffix length of NXDOMAIN result
|
||||
* minlabels: suffix length of non NXDOMAIN result
|
||||
* Find the closest encloser.
|
||||
*/
|
||||
unsigned int maxlabels = dns_name_countlabels(name);
|
||||
unsigned int minlabels = dns_name_countlabels(fname);
|
||||
bool search = result == DNS_R_NXDOMAIN;
|
||||
dns_name_copy(name, cname);
|
||||
while (search) {
|
||||
labels = (maxlabels + minlabels) / 2;
|
||||
dns_name_split(name, labels, NULL, cname);
|
||||
if (labels == minlabels) {
|
||||
break;
|
||||
while (result == DNS_R_NXDOMAIN) {
|
||||
labels = dns_name_countlabels(cname) - 1;
|
||||
/*
|
||||
* Sanity check.
|
||||
*/
|
||||
if (labels == 0U) {
|
||||
goto cleanup;
|
||||
}
|
||||
dns_name_split(cname, labels, NULL, cname);
|
||||
result = dns_db_findext(qctx->db, cname, qctx->version,
|
||||
dns_rdatatype_nsec, options, 0,
|
||||
NULL, fname, &cm, &ci, NULL,
|
||||
NULL);
|
||||
if (result == DNS_R_NXDOMAIN) {
|
||||
maxlabels = labels;
|
||||
} else {
|
||||
minlabels = labels;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Add closest (provable) encloser NSEC3.
|
||||
*/
|
||||
|
Loading…
x
Reference in New Issue
Block a user