From: Otto Moerbeek Date: Fri, 8 Jul 2022 11:49:34 +0000 (+0200) Subject: When refreshing, consider entries being served stale as *really* stale X-Git-Tag: rec-4.8.0-alpha1~24^2~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ab69c53e80664a06c8bab118bf73422f4dd21654;p=thirdparty%2Fpdns.git When refreshing, consider entries being served stale as *really* stale --- diff --git a/pdns/recursordist/negcache.cc b/pdns/recursordist/negcache.cc index e86e49a18f..0a1db6ae38 100644 --- a/pdns/recursordist/negcache.cc +++ b/pdns/recursordist/negcache.cc @@ -125,7 +125,7 @@ bool NegCache::get(const DNSName& qname, const QType& qtype, const struct timeva if (!refresh && (serveStale || ni->d_servedStale > 0) && ni->d_ttd <= now.tv_sec && ni->d_servedStale < s_maxServedStaleExtensions) { updateStaleEntry(now.tv_sec, firstIndexIterator); } - if (now.tv_sec < ni->d_ttd) { + if (now.tv_sec < ni->d_ttd && !(refresh && ni->d_servedStale > 0)) { // Not expired ne = *ni; moveCacheItemToBack(content->d_map, firstIndexIterator);