bind9/lib/dns
Matthijs Mekking 667d81b52b Make serve-stale refresh behave as prefetch
A serve-stale refresh is similar to a prefetch, the only difference
is when it triggers. Where a prefetch is done when an RRset is about
to expire, a serve-stale refresh is done when the RRset is already
stale.

This means that the check for the stale-refresh window needs to
move into query_stale_refresh(). We need to clear the
DNS_DBFIND_STALEENABLED option at the same places as where we clear
DNS_DBFIND_STALETIMEOUT.

Now that serve-stale refresh acts the same as prefetch, there is no
worry that the same rdataset is added to the message twice. This makes
some code obsolete, specifically where we need to clear rdatasets from
the message.

(cherry picked from commit a66b04c8d4)
2025-07-23 12:12:51 +00:00
..
include Make serve-stale refresh behave as prefetch 2025-07-23 12:12:51 +00:00
rdata Use clang-format-20 to update formatting 2025-06-25 13:32:08 +10:00
.gitignore Add support for User Statically Defined Tracing (USDT) probes 2023-08-21 18:39:53 +02:00
acl.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
adb.c When overmem, clean enough memory when adding new ADB names/entries 2025-07-11 13:58:11 +02:00
badcache.c Improve the badcache cleaning by adding LRU and using RCU 2024-11-27 17:07:03 +00:00
byaddr.c Use clang-format-20 to update formatting 2025-06-25 13:32:08 +10:00
cache.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
callbacks.c add setup/commit functions to rdatacallbacks 2024-03-08 15:36:56 -08:00
catz.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
client.c Split and simplify the use of EDE list implementation 2025-01-30 12:37:55 +00:00
clientinfo.c refactor dns_clientinfo_init(); use separate function to set ECS 2023-02-07 23:48:22 -08:00
compress.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
db.c Limit the additional processing for large RDATA sets 2025-01-15 13:57:27 +01:00
db_p.h Rewrite the GLUE cache in QP zone database 2025-01-06 14:00:47 +01:00
dbiterator.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
diff.c Incrementally apply AXFR transfer 2024-11-26 07:17:06 +00:00
dispatch.c Use clang-format-20 to update formatting 2025-06-25 13:32:08 +10:00
dlz.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
dns64.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
dnsrps.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
dnssec.c Warn about deprecated DNSKEY and DS algorithms / digest types 2025-07-16 01:39:58 +10:00
dnstap.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
dnstap.proto Update the dnstap protobuf definition 2024-04-26 16:08:46 +03:00
ds.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
dst_api.c Fix spurious missing key files log messages 2025-06-19 11:42:04 +02:00
dst_internal.h Create keys with PKCS#11 URI instead of object 2024-01-25 14:48:07 +01:00
dst_openssl.h Report file and line when converting OpenSSL errors 2023-04-03 12:06:04 +10:00
dst_parse.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
dst_parse.h Remove TKEY Mode 2 (Diffie-Hellman) 2023-03-08 08:36:25 +01:00
dyndb.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
ecs.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
ede.c Don't copy EDE codes if source is same as destination 2025-04-02 16:42:23 +00:00
fixedname.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
forward.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
gen.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
geoip2.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
gssapi_link.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
gssapictx.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
hmac_link.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
ipkeylist.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
iptable.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
journal.c Optimize memory layout of core structs 2024-12-09 09:04:28 +01:00
kasp.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
key.c Don't check DNS_KEYFLAG_NOAUTH 2025-03-24 23:52:02 -07:00
keydata.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
keymgr.c Use clang-format-20 to update formatting 2025-06-25 13:32:08 +10:00
keystore.c Allow keystore.c to compile on Solaris 2025-05-30 06:37:09 +00:00
keytable.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
log.c remove {root-}delegation-only 2023-03-23 12:57:01 -07:00
Makefile.am Split and simplify the use of EDE list implementation 2025-01-30 12:37:55 +00:00
master.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
masterdump.c Print the expiration time of the stale records (not ancient) 2025-02-04 18:07:59 +01:00
message.c Use clang-format-20 to update formatting 2025-06-25 13:32:08 +10:00
name.c Optimize memory layout of core structs 2024-12-09 09:04:28 +01:00
nametree.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
ncache.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
nsec.c Drop single-use RETERR macro 2024-12-10 08:47:25 +00:00
nsec3.c Use clang-format-20 to update formatting 2025-06-25 13:32:08 +10:00
nta.c Split and simplify the use of EDE list implementation 2025-01-30 12:37:55 +00:00
openssl_link.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
openssl_shim.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
openssl_shim.h Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
opensslecdsa_link.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
openssleddsa_link.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
opensslrsa_link.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
order.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
peer.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
private.c Apply more SET_IF_NOT_NULL() changes 2024-12-13 13:50:05 +00:00
probes.d Do not destroy IXFR journal in xfrin_end() 2023-12-20 17:21:14 +01:00
qp.c Rename 'free' variable to 'nfree' to not clash with free() 2025-07-22 14:28:15 +02:00
qp_p.h Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
qpcache.c Fix find_coveringnsec in qpcache.c 2025-07-21 17:46:00 +02:00
qpcache_p.h rename qpdb to qpcache 2024-03-08 15:36:56 -08:00
qpzone.c Revert "qpzone find() function could set foundname incorrectly" 2025-05-06 09:14:18 +02:00
qpzone_p.h stub dns_qpmulti-based zone database implementation 2024-03-06 20:57:31 -08:00
rbt-cachedb.c Use clang-format-20 to update formatting 2025-06-25 13:32:08 +10:00
rbt-zonedb.c Revert "rbtdb zone find() function could set foundname incorrectly" 2025-05-06 09:14:18 +02:00
rbt.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
rbtdb.c Fix "CNAME and other data" detection 2025-02-14 13:41:11 +11:00
rbtdb_p.h Expand the usage of mark_ancient() helper functions 2025-02-03 15:53:34 +01:00
rcode.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
rdata.c Use clang-format-20 to update formatting 2025-06-25 13:32:08 +10:00
rdatalist.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
rdataset.c Use clang-format-20 to update formatting 2025-06-25 13:32:08 +10:00
rdatasetiter.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
rdataslab.c Use clang-format-20 to update formatting 2025-06-25 13:32:08 +10:00
remote.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
request.c Emit a ISC_R_CANCELED result instead of ISC_R_SHUTTINGDOWN 2025-05-28 19:18:19 +02:00
resconf.c Fix parsing of unknown directives in resolv.conf 2024-12-10 00:49:06 +00:00
resolver.c Add few extra WANT_QUERYTRACE logs into resume_qmin 2025-07-09 11:05:27 +10:00
result.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
rootns.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
rpz.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
rriterator.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
rrl.c Use clang-format-20 to update formatting 2025-06-25 13:32:08 +10:00
sdlz.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
skr.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
soa.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
ssu.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
ssu_external.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
stats.c Use clang-format-20 to update formatting 2025-06-25 13:32:08 +10:00
tests Move all the unit tests to /tests/<libname>/ 2022-05-28 14:53:02 -07:00
time.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
tkey.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
transport.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
tsig.c Prevent assertion when processing TSIG algorithm 2025-05-07 13:45:48 +02:00
tsig_p.h remove dns__tsig_algallocated() 2023-06-14 08:14:38 +00:00
ttl.c Use clang-format-20 to update formatting 2025-06-25 13:32:08 +10:00
update.c Revert "Attach dnssecsignstats, rcvquerystats, and requeststats" 2024-12-08 12:03:12 +01:00
validator.c Add static ede context into each validator layer 2025-04-02 16:42:23 +00:00
view.c Prepare a zone for shutting down when deleting it from a view 2025-05-28 18:30:45 +00:00
xfrin.c Expose the incoming transfers' rates in the statistics channel 2025-02-20 11:05:09 +00:00
zone.c Digest type GOST is also deprecated 2025-07-16 01:42:17 +10:00
zone_p.h Refactor findzonekeys 2024-01-25 14:48:07 +01:00
zonekey.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
zoneverify.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00
zt.c Remove redundant parentheses from the return statement 2024-11-19 14:26:52 +01:00