Merge branch '2982-servfail-servestale-duplicate-queries-v9_18' into 'v9_18'

[v9_18] Don't enable serve-stale on duplicate queries

See merge request isc-projects/bind9!6642
This commit is contained in:
Matthijs Mekking 2022-08-09 09:02:41 +00:00
commit 5d200cb2bd
3 changed files with 16 additions and 1 deletions

View file

@ -1,3 +1,7 @@
5936. [bug] Don't enable serve-stale for lookups that error because
it is a duplicate query or a query that would be
dropped. [GL #2982]
5935. [bug] Fix DiG lookup reference counting bug, which could
be observed in NSSEARCH mode. [GL #3478]

View file

@ -40,4 +40,7 @@ Feature Changes
Bug Fixes
~~~~~~~~~
- None.
- Fix a serve-stale bug, where BIND would try to return stale data from cache
for lookups that received duplicate queries or queries that would be dropped.
This bug resulted in premature SERVFAIL responses, and has now been resolved.
:gl:`#2982`

View file

@ -7575,6 +7575,14 @@ query_usestale(query_ctx_t *qctx, isc_result_t result) {
return (false);
}
if (result == DNS_R_DUPLICATE || result == DNS_R_DROP) {
/*
* Don't enable serve-stale if the result signals a duplicate
* query or query that is being dropped.
*/
return (false);
}
qctx_clean(qctx);
qctx_freedata(qctx);