]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
- Ignore cache blacklisting when trying to reply with expired data from
authorGeorge Thessalonikefs <george@nlnetlabs.nl>
Tue, 26 Jan 2021 14:31:50 +0000 (15:31 +0100)
committerGeorge Thessalonikefs <george@nlnetlabs.nl>
Tue, 26 Jan 2021 14:32:50 +0000 (15:32 +0100)
  cache. (#394)

doc/Changelog
services/mesh.c

index fed967d55682ad05e6d490a3e25c0e3309600f04..af53d783682b99a9974d6ad675502e1bdf45c06e 100644 (file)
@@ -4,6 +4,8 @@
          original instead of a decrementing TTL ('serve-original-ttl')
        - Merge PR #355 from noloader: Make ICANN Update CA and DS Trust Anchor
          static data.
+       - Ignore cache blacklisting when trying to reply with expired data from
+         cache (#394).
 
 22 January 2022: Willem
        - Padding of queries and responses with DNS over TLS as specified in
index 69f4d75e38e1a7cbc15b2fd3fd33c339c53078b6..91d23debf351cd868121ee8a614a1840beaa655a 100644 (file)
@@ -1929,7 +1929,9 @@ mesh_serve_expired_callback(void* arg)
        verbose(VERB_ALGO, "Serve expired: Trying to reply with expired data");
        comm_timer_delete(qstate->serve_expired_data->timer);
        qstate->serve_expired_data->timer = NULL;
-       if(qstate->blacklist || qstate->no_cache_lookup || qstate->is_drop) {
+       /* If is_drop or no_cache_lookup (modules that handle their own cache e.g.,
+        * subnetmod) ignore stale data from the main cache. */
+       if(qstate->no_cache_lookup || qstate->is_drop) {
                verbose(VERB_ALGO,
                        "Serve expired: Not allowed to look into cache for stale");
                return;