]> git.ipfire.org Git - thirdparty/bind9.git/commit
Open the stale-refresh-time window on any resolver failure
authorOndřej Surý <ondrej@isc.org>
Thu, 14 May 2026 11:58:39 +0000 (13:58 +0200)
committerOndřej Surý <ondrej@isc.org>
Tue, 19 May 2026 09:18:30 +0000 (11:18 +0200)
commit1af37e24b2bcbcd461366d5f52683fa87a211e19
tree0f1aaaf0e97518d31c6e3337008630fb0f3fc0dc
parent59c00a6f311108a6fe5dcf58a3bea51cc4f9224c
Open the stale-refresh-time window on any resolver failure

The TCP-fallback fix in the previous commits means a query that would
previously have timed out on UDP now actually escalates to TCP, and a
TCP-side failure surfaces a non-ISC_R_TIMEDOUT result code to
query_usestale().  The trigger for DNS_DBFIND_STALESTART was previously
narrowed to ISC_R_TIMEDOUT, so the stale-refresh-time window stopped
opening for those clients.

Broaden the condition to any failure that has already cleared the
upstream DUPLICATE/DROP filtering in query_usestale() — the spirit of
the window is "the resolver tried and could not get a fresh answer",
not "the resolver timed out specifically".

Co-authored-by: Evan Hunt <each@isc.org>
Assisted-by: Claude:claude-opus-4-7
lib/ns/query.c