]> git.ipfire.org Git - thirdparty/unbound.git/commit
Serve expired cache update fixes (#1174)
authorYorgos Thessalonikefs <yorgos@nlnetlabs.nl>
Tue, 31 Dec 2024 15:28:12 +0000 (16:28 +0100)
committerGitHub <noreply@github.com>
Tue, 31 Dec 2024 15:28:12 +0000 (16:28 +0100)
commitfff9f62a1ec008185868a369207b0d56ffb7dcb3
treec3ccdf54295977de80347e0426cc1efa448a52eb
parente57e537c85ddf5c175b8e785e34cc21c85ec1168
Serve expired cache update fixes (#1174)

- Fixes a regression bug with serve-expired that appeared in 1.22.0
  and would not allow the iterator to update the cache with
  not-yet-validated entries resulting in increased outgoing traffic.

- Treat serve_expired_norec_ttl as a backoff timer for failed updates of expired records.
- Try to use expired answers instead of SERVFAIL if serve-expired is
  enabled even without serve-expired-client-timeout.
- Add suggestion to refresh the cached norec_ttl and expired_ttl when a
  response cannot update the usable expired entry.
daemon/worker.c
services/cache/dns.c
services/mesh.c
testdata/serve_expired_client_timeout_servfail.rpl
testdata/serve_expired_client_timeout_val_bogus.rpl
testdata/serve_expired_ttl_reset.rpl
testdata/serve_expired_val_bogus.rpl