Only use stale dns cache entries when the query result was successful

(cherry picked from commit f233a56eea)
This commit is contained in:
Daniel Hååvi
2025-05-05 15:05:48 +02:00
committed by Alexandr Stelnykovych
parent c6f47967b1
commit 03da033cd2

View File

@@ -184,7 +184,7 @@ func Resolve(ctx context.Context, q *Query) (rrCache *RRCache, err error) {
case !rrCache.Expired(): case !rrCache.Expired():
// Return non-expired cached entry immediately. // Return non-expired cached entry immediately.
return rrCache, nil return rrCache, nil
case useStaleCache(): case rrCache.RCode == dns.RcodeSuccess && useStaleCache():
// Return expired cache if we should use stale cache entries, // Return expired cache if we should use stale cache entries,
// but start an async query instead. // but start an async query instead.
log.Tracer(ctx).Tracef( log.Tracer(ctx).Tracef(