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

This commit is contained in:
Daniel Hååvi
2025-05-05 15:05:48 +02:00
committed by GitHub
parent eccda20802
commit f233a56eea

View File

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