Commit graph

7634 commits

Author SHA1 Message Date
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
Michał Kępień
b0fc0e31c5 Merge tag 'v9.21.20' 2026-03-25 14:23:41 +00:00
Michal Nowak
bf56489c45
pkcs11-provider project has new home 2026-03-25 10:47:42 +01:00
Michal Nowak
617471d85d
Set User-Agent for Sphinx to fix gitlab.gnome.org
The linkcheck started to fail because of a new check on gitlab.gnome.org
that now forbids Sphinx User-Agent, returnin 406 HTTP status.

    (       chapter10: line  115) broken    https://gitlab.gnome.org/GNOME/libxml2/-/wikis/home - 406 Client Error: Not Acceptable for url: https://gitlab.gnome.org/GNOME/libxml2/-/wikis/home
2026-03-25 10:39:15 +01:00
Matthijs Mekking
81dca80877
Update documentation now that LMDB is required
Remove references to viewname.nzf, and no longer use "if LMDB is used".
2026-03-18 11:02:33 +01:00
Ondřej Surý
7f8b972a3d
Remove NZF support, make LMDB required for new zone storage
Drop the NZF (New Zone File) fallback for persisting runtime zone
configurations, making LMDB (NZD) the only storage backend. This
removes all #ifdef HAVE_LMDB conditionals, the meson 'lmdb' option,
and the NZF-related functions. LMDB is now a mandatory build
dependency.

The named-nzd2nzf tool is now always built.
2026-03-18 11:02:33 +01:00
Ethan Meng
a2b36d4bcb Fix keytag typos in DNSSEC guide
The key identifiers in the comments did not match those in the
output.
2026-03-16 16:10:45 +00:00
Michał Kępień
d98a5eb653
Tweak and reword release notes 2026-03-13 15:51:19 +01:00
Michał Kępień
b8d673421d
Prepare release notes for BIND 9.21.20 2026-03-13 15:51:19 +01:00
Michał Kępień
4540850500
Generate changelog for BIND 9.21.20 2026-03-13 15:51:19 +01:00
Ondřej Surý
2b23c7011e Expand blackhole description
Clarify the behavior of negated addresses within the `blackhole`
statement to prevent common configuration misunderstandings.
2026-03-12 09:48:05 +11:00
Ondřej Surý
c1ba80169c
Introduce max-delegation-servers configuration option
Make the maximum number of processed delegation nameservers configurable
via the new 'max-delegation-servers' option (default: 13), replacing the
hardcoded NS_PROCESSING_LIMIT (20).

The default is reduced to 13 to precisely match the maximum number of
root servers that can fit into a classic 512-byte UDP payload.  This
provides a natural, historically sound cap that mitigates resource
exhaustion and amplification attacks from artificially inflated or
misconfigured delegations.

The configuration option is strictly bounded between 1 and 100 to ensure
resolver stability.
2026-03-04 16:13:49 +01:00
Michał Kępień
536573d691
Update Sphinx-related Python packages
Update Sphinx-related Python packages to their current versions pulled
in by "pip install sphinx-rtd-theme" run in a fresh Debian "bookworm"
container.
2026-02-27 14:10:26 +01:00
Michał Kępień
ee7269b25e Merge tag 'v9.21.19' 2026-02-27 12:19:34 +00:00
Michał Kępień
56bf659a4b
Add release note for GL !11563 2026-02-26 21:17:47 +01:00
Michał Kępień
205c35b9cd
Reorder release notes 2026-02-26 21:17:47 +01:00
Michał Kępień
f3be1bf699
Tweak and reword release notes 2026-02-26 21:17:47 +01:00
Michał Kępień
32fa0c3ff0
Prepare release notes for BIND 9.21.19 2026-02-26 21:17:47 +01:00
Michał Kępień
a02da8cd4c
Generate changelog for BIND 9.21.19 2026-02-26 21:17:47 +01:00
Aram Sargsyan
38841ba78b Document response time RTT counetrs 2026-02-26 14:00:10 +00:00
Štěpán Balážik
08f5e5ebd1 Remove superfluous 'pylint: disable' directives
Some of these have been fixed already, fix the rest.
2026-02-20 15:17:32 +01:00
Štěpán Balážik
ffd5b6ac26 Automatically sort imports in Python code
Generated with: ruff check --extend-select I --fix (with the changes to
pyproject.toml applied).
2026-02-20 15:17:32 +01:00
Štěpán Balážik
0fb7403ef4 Lint code in doc directory
Adjust ignore lists of linters to check more code.
2026-02-20 15:17:32 +01:00
Petr Špaček
249785c167 Tweak and reword release notes 2026-02-04 14:22:45 +01:00
Petr Špaček
63a17937db Prepare release notes for BIND 9.21.18 2026-02-04 11:42:11 +01:00
Petr Špaček
3d1b272013 Generate changelog for BIND 9.21.18 2026-02-04 11:41:30 +01:00
Ondřej Surý
0bebf8ee9d
Enable minimal ANY answers by default
ANY queries are widely abused by attackers doing reflection attacks as
they return the largest answers.  Enable minimal ANY answers by default
to reduce the attack surface of the DNS servers.
2026-01-28 15:38:18 +01:00
Nicki Křížek
bb6d7a0fc3 Apply black formatting changes
Generated by black 26.1.0 which got updated in CI.
2026-01-22 09:41:21 +01:00
Nicki Křížek
320ec03c0d Tweak and reword release notes 2026-01-09 10:55:52 +01:00
Nicki Křížek
6aae2425b3 Move release note for EDE 13 to proper section 2026-01-09 10:55:21 +01:00
Nicki Křížek
7c3cce9e8b Remove release note for GL #5671
This was already fixed in the previous release.
2026-01-09 10:54:54 +01:00
Nicki Křížek
a1acf7f068 Remove release note for GL #5675
It is sufficient to leave this as a changelog entry.
2026-01-09 10:54:35 +01:00
Nicki Křížek
897f275934 Prepare release notes for BIND 9.21.17 2026-01-09 10:54:11 +01:00
Nicki Křížek
1959cfb07c Generate changelog for BIND 9.21.17 2026-01-08 13:28:40 +01:00
Colin Vidal
7bf04a9a4c update doc for strict boundaries check
Update documentation, removing the mention of statements being
implicitely "fixed" if they are defined out of range (for
`edns-version`, `edns-udp-size`, `max-udp-size`, `no-cookie-udp-size`
and `padding`) as the ranges are now enforced.
2026-01-07 07:01:59 +00:00
Michal Nowak
282f87461b
Add FreeBSD 15.0 2026-01-06 21:17:48 +01:00
Matthijs Mekking
52c940551d Change notify-cds option to notify-cfg CDS
Change the notify configuration to be more flexible for other types
of generalized DNS notifications.

Also allow for notify-cfg SOA.
2025-12-29 10:06:16 +01:00
Matthijs Mekking
dda2e99c36 Document 'notify-cds' configuration option
Add text about the 'notify-cds' option in the ARM reference.
2025-12-19 14:08:15 +01:00
Matthijs Mekking
6554a5f9f7 Add new 'notify-cds' configuration option
Add a new configuration option to enable/disable sending NOTIFY(CDS)
messages.
2025-12-19 14:08:15 +01:00
Andoni Duarte
4eaeb79173 Merge tag 'v9.21.16' 2025-12-17 15:33:14 +00:00
Andoni Duarte Pintado
227376de4e Tweak and reword release notes 2025-12-09 16:36:23 +01:00
Andoni Duarte Pintado
24acadc35e Prepare release notes for BIND 9.21.16 2025-12-09 15:02:24 +01:00
Andoni Duarte Pintado
51fcef08a8 Generate changelog for BIND 9.21.16 2025-12-09 15:01:26 +01:00
Michal Nowak
492256643d Add Alpine Linux 3.23 2025-12-09 11:18:08 +01:00
Paul Hoffman
95f5e3cc57 Added the required steps for installing after building 2025-12-06 17:00:23 +00:00
Evan Hunt
d054741d92 correct a double negative in the padding doc
`padding` is incompatible with TSIG and SIG(0), not with "no" TSIG
and SIG(0).
2025-12-05 22:31:36 +00:00
Matthijs Mekking
c3951cdec0 Fix sig-signing-* duplicate documentation 2025-12-05 11:17:06 +01:00
Colin Vidal
15aa160e2e remove --memstats from cfg_test
The `--memstats` option from cfg_test is unused, and even if used, does
nothing because `--memstats` relies on `isc_mem_stats` which dump memory
pools statistics, which are not used at all for configuration.

Also, dropping the option avoid to add a parser API to get the memory
stats (as the parser now uses the global memory context).
2025-12-04 16:09:40 +01:00
Colin Vidal
f7b64e2e87 cfg_parse_ API doesn't need memory context
Because the parser now uses global memory context, the cfg_parse_* API
doesn't take a memory context anymore.
2025-12-04 16:09:40 +01:00
Michal Nowak
350c3a9a19
Add Fedora 43 2025-11-27 16:30:30 +01:00