bind9/lib/ns
Kevin Chen 0cdf85d204 Several serve-stale improvements
Commit a83c8cb0af updated masterdump so
that stale records in "rndc dumpdb" output no longer shows 0 TTLs.  In
this commit we change the name of the `rdataset->stale_ttl` field to
`rdataset->expired` to make its purpose clearer, and set it to zero in
cases where it's unused.

Add 'rbtdb->serve_stale_ttl' to various checks so that stale records
are not purged from the cache when they've been stale for RBTDB_VIRTUAL
(300) seconds.

Increment 'ns_statscounter_usedstale' when a stale answer is used.

Note: There was a question of whether 'overmem_purge' should be
purging ancient records, instead of stale ones.  It is left as purging
stale records, since stale records could take up the majority of the
cache.

This submission is copyrighted Akamai Technologies, Inc. and provided
under an MPL 2.0 license.

This commit was originally authored by Kevin Chen, and was updated by
Matthijs Mekking to match recent serve-stale developments.
2021-05-30 11:45:35 -07:00
..
include clean up query correctly if already answered by serve-stale 2021-05-27 10:35:48 -07:00
tests Reduce the number of clientmgr objects created 2021-05-24 20:44:54 +02:00
win32 Reduce the number of clientmgr objects created 2021-05-24 20:44:54 +02:00
client.c Add missing initialisations 2021-05-26 08:15:08 +00:00
hooks.c Use libuv's shared library handling capabilities 2020-10-28 15:48:58 +01:00
interfacemgr.c Fix the sizeof() for array holding the pointers to clientmgr 2021-05-26 10:03:52 +02:00
lib.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
listenlist.c support "tls ephemeral" with https 2021-02-03 12:06:17 +01:00
log.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
Makefile.am Use -release instead of -version-info for internal library SONAMEs 2021-01-25 14:19:53 +01:00
notify.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
query.c Several serve-stale improvements 2021-05-30 11:45:35 -07:00
server.c Simplify the EDNS buffer size logic for DNS Flag Day 2020 2020-10-05 16:21:21 +02:00
sortlist.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
stats.c update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
update.c Reduce the number of clientmgr objects created 2021-05-24 20:44:54 +02:00
xfrout.c use a fixedname buffer in dns_message_gettempname() 2021-05-20 20:41:29 +02:00