mirror of
https://github.com/isc-projects/bind9.git
synced 2026-06-11 01:50:45 -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.
This commit is contained in:
parent
c32de7df95
commit
d46277b398
1 changed files with 9 additions and 0 deletions
|
|
@ -5382,6 +5382,8 @@ qctx_setrad(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;
|
||||
|
|
@ -5390,6 +5392,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