diff --git a/CHANGES b/CHANGES index a7a85a6756..15ed661dac 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,10 @@ +5484. [func] Expire the 0 TTL RRSet quickly rather using them for + stale answers. [GL #1829] + +5483. [func] Keeping "stale" answers in cache has been disabled by + default and can be re-enabled with a new configuration + option "stale-cache-enable". [GL #1712] + 5482. [bug] BIND 9 would fail to bind to IPv6 addresses in a tentative state when a new IPv6 address was added to the system, but the Duplicate Address Detection (DAD) diff --git a/bin/named/server.c b/bin/named/server.c index c0b29fd206..b6e17b3a0a 100644 --- a/bin/named/server.c +++ b/bin/named/server.c @@ -4363,6 +4363,10 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config, INSIST(result == ISC_R_SUCCESS); max_stale_ttl = ISC_MAX(cfg_obj_asduration(obj), 1); } + /* + * If 'stale-cache-enable' is false, max_stale_ttl is set to 0, + * meaning keeping stale RRsets in cache is disabled. + */ obj = NULL; result = named_config_get(maps, "stale-answer-enable", &obj); diff --git a/doc/notes/notes-current.rst b/doc/notes/notes-current.rst index 7ee6470292..25cb1648e8 100644 --- a/doc/notes/notes-current.rst +++ b/doc/notes/notes-current.rst @@ -26,6 +26,9 @@ New Features - None. +- A new configuration option ``stale-cache-enable`` has been introduced to + enable or disable the keeping of stale answers in cache. [GL #1712] + Feature Changes ~~~~~~~~~~~~~~~ @@ -36,6 +39,11 @@ Feature Changes prevents interruption to query resolution when the hash tables need to be increased in size. [GL #1775] +- Keeping stale answers in cache has been disabled by default. + +- The resource records received with 0 TTL are no longer kept in the cache + to be used for stale answers. [GL #1829] + Bug Fixes ~~~~~~~~~