bind9/doc
Evan Hunt 3704cf42eb Don't use dns_db_findzonecut() in query_addbestns()
Previously, when answering from the cache, and when minimal-responses
was not set, we added the best known zone cut to the authority section
of the response message, using dns_db_findzonecut() to look it up in
the DNS cache.  Since the DNS cache will no longer be used to store
parent-side NS RRsets, it will now be possible for an ancestor node
to be used as the zone cut, leading to the wrong NS record being
included.

There are various ways we could correct this:

1. Use dns_deleg_lookup() instead of dns_db_findzonecut() to find the
   zone cut. But currently, the deleg database stores only the server
   addresses for the delegation, not the full NS RRset; this would need
   to be changed.
2. Look up <name>/NS whenever we cache a referral; that way we'll get
   the child-side NS RRset and cache that, and we can retrieve it when
   building the response.

But the solution chosen here is simply not to look up the NS record
when answering from the cache, effectively making "minimal-responses
yes;" mandatory for queries answered from the cache.

System tests have been updated as needed, so they no longer expect
NS RRsets in the authority section of recursive responses.
2026-03-30 20:41:13 +02:00
..
arm Don't use dns_db_findzonecut() in query_addbestns() 2026-03-30 20:41:13 +02:00
changelog Generate changelog for BIND 9.21.20 2026-03-13 15:51:19 +01:00
design Remove DLV remnants 2024-12-13 11:24:47 +01:00
dev Change the loopmgr to be singleton 2025-07-23 22:44:16 +02:00
dnssec-guide Fix keytag typos in DNSSEC guide 2026-03-16 16:10:45 +00:00
doxygen Remove trailing whitespace from all text files 2023-06-13 15:05:40 +02:00
man Remove NZF support, make LMDB required for new zone storage 2026-03-18 11:02:33 +01:00
misc Introduce max-delegation-servers configuration option 2026-03-04 16:13:49 +01:00
notes Tweak and reword release notes 2026-03-13 15:51:19 +01:00
meson.build Fix cross builds 2025-07-10 16:56:15 +02:00