bind9/bin
Matthijs Mekking 2a5e0232ed Fix nonsensical stale TTL values in cache dump
When introducing change 5149, "rndc dumpdb" started to print a line
above a stale RRset, indicating how long the data will be retained.

At that time, I thought it should also be possible to load
a cache from file. But if a TTL has a value of 0 (because it is stale),
stale entries wouldn't be loaded from file. So, I added the
'max-stale-ttl' to TTL values, and adjusted the $DATE accordingly.

Since we actually don't have a "load cache from file" feature, this
is premature and is causing confusion at operators. This commit
changes the 'max-stale-ttl' adjustments.

A check in the serve-stale system test is added for a non-stale
RRset (longttl.example) to make sure the TTL in cache is sensible.

Also, the comment above stale RRsets could have nonsensical
values. A possible reason why this may happen is when the RRset was
marked a stale but the 'max-stale-ttl' has passed (and is actually an
RRset awaiting cleanup). This would lead to the "will be retained"
value to be negative (but since it is stored in an uint32_t, you would
get a nonsensical value (e.g. 4294362497).

To mitigate against this, we now also check if the header is not
ancient. In addition we check if the stale_ttl would be negative, and
if so we set it to 0. Most likely this will not happen because the
header would already have been marked ancient, but there is a possible
race condition where the 'rdh_ttl + serve_stale_ttl' has passed,
but the header has not been checked for staleness.
2021-04-13 09:48:20 +02:00
..
check Install man page for named-compilezone 2021-03-22 09:36:48 +01:00
confgen Address a Sphinx duplicate label warning 2021-02-03 11:44:02 +01:00
delv Reformat sources using clang-format-11 2020-12-08 18:36:23 +01:00
dig Ensure dig lookup is detached on UDP connect failure 2021-04-07 15:36:59 +02:00
dnssec Cleanup redundant isc_rwlock_init() result checks 2021-02-03 12:22:33 +11:00
named Update named's usage description 2021-04-12 12:07:44 +10:00
nsupdate Stop including gssapi.h from dst/gssapi.h header 2021-02-16 01:04:46 +00:00
pkcs11 Add libssl libraries to Windows build 2020-11-09 16:00:28 +01:00
plugins Add filter-a plugin for IPv6-dominant environments 2021-03-19 08:06:55 +01:00
rndc isc_nm_*connect() always return via callback 2021-04-07 15:36:59 +02:00
tests Fix nonsensical stale TTL values in cache dump 2021-04-13 09:48:20 +02:00
tools Move cleanup of queries to later in the shutdown sequence 2021-03-04 13:21:56 +01:00
win32/BINDInstall nghttp2-based HTTP layer in netmgr 2021-02-03 12:06:17 +01:00
Makefile.am Complete rewrite the BIND 9 build system 2020-04-21 14:19:48 +02:00