mirror of
https://github.com/isc-projects/bind9.git
synced 2026-06-11 09:09:59 -04:00
Clear serve-stale flags when following the CNAME chains
A stale answer or SERVFAIL could have been served in case of multiple
upstream failures when following the CNAME chains. This has been fixed.
(cherry picked from commit d46277b398)
This commit is contained in:
parent
c3b320f12a
commit
6ac20d5099
1 changed files with 9 additions and 0 deletions
|
|
@ -5780,6 +5780,8 @@ root_key_sentinel_detect(query_ctx_t *qctx) {
|
|||
isc_result_t
|
||||
ns__query_start(query_ctx_t *qctx) {
|
||||
isc_result_t result = ISC_R_UNSET;
|
||||
ns_client_t *client = qctx->client;
|
||||
|
||||
CCTRACE(ISC_LOG_DEBUG(3), "ns__query_start");
|
||||
qctx->want_restart = false;
|
||||
qctx->authoritative = false;
|
||||
|
|
@ -5788,6 +5790,13 @@ ns__query_start(query_ctx_t *qctx) {
|
|||
qctx->need_wildcardproof = false;
|
||||
qctx->rpz = false;
|
||||
|
||||
/*
|
||||
* Clean existing stale options in case ns__query_start was restarted
|
||||
* due to the CNAME/DNAME chains.
|
||||
*/
|
||||
client->query.dboptions &= ~(DNS_DBFIND_STALETIMEOUT |
|
||||
DNS_DBFIND_STALEOK);
|
||||
|
||||
CALL_HOOK(NS_QUERY_START_BEGIN, qctx);
|
||||
|
||||
/*
|
||||
|
|
|
|||
Loading…
Reference in a new issue