mirror of
https://github.com/isc-projects/bind9.git
synced 2026-06-03 22:08:25 -04:00
Fix find_coveringnsec in qpcache.c
dns_qp_lookup was returning ISC_R_NOTFOUND rather than DNS_R_PARTIALMATCH
when there wasn't a parent with a NSEC record in the cache. This was
causing find_coveringnsec to fail rather than returing the covering NSEC.
(cherry picked from commit 7de4207cb6)
This commit is contained in:
parent
d4fb3a060b
commit
e4d64a0c33
1 changed files with 7 additions and 1 deletions
|
|
@ -1517,7 +1517,13 @@ find_coveringnsec(qpc_search_t *search, const dns_name_t *name,
|
|||
*/
|
||||
result = dns_qp_lookup(search->qpdb->nsec, name, NULL, &iter, NULL,
|
||||
(void **)&node, NULL);
|
||||
if (result != DNS_R_PARTIALMATCH) {
|
||||
/*
|
||||
* When DNS_R_PARTIALMATCH or ISC_R_NOTFOUND is returned from
|
||||
* dns_qp_lookup there is potentially a covering NSEC present
|
||||
* in the cache so we need to search for it. Otherwise we are
|
||||
* done here.
|
||||
*/
|
||||
if (result != DNS_R_PARTIALMATCH && result != ISC_R_NOTFOUND) {
|
||||
return ISC_R_NOTFOUND;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue