Commit graph

7646 commits

Author SHA1 Message Date
Ondřej Surý
ac79f8cfeb Remove the rndc testgen command
testgen existed solely to let the rndc system test exercise large
response payloads — it has no operator value, accepts an unbounded
count, and could be invoked by any read-only rndc client to drive
named into memory exhaustion.  Drop the command, the gencheck helper
that validated its output, and the buffer-size loop in the rndc
system test; the remaining rndc subcommands already produce
non-trivial responses, so the framing path stays exercised.

Assisted-by: Claude:claude-opus-4-7
2026-04-30 06:35:01 +02:00
Michal Nowak
ca3a582099
Add Sphinx 9.1.0
Update Sphinx Python package to the current version pulled in by "pip3
install sphinx_rtd_theme" run in a fresh Debian "trixie" container.
2026-04-07 15:53:03 +02:00
Aydın Mercan
e16a3d7a8e
embed default sanitizer flags in executables
Replicating CI failures requires the developer to piece together the
sanitizer flags by hand, reducing ergonomics.

Fix this problem by embedding the relevant settings to the executables.
Symbol resolution still needs manual intervention by setting the env
variable `*SAN_SYMBOLIZER_PATH`. However, this doesn't affect any behavior.
2026-04-05 12:46:38 +03:00
Michal Nowak
aef329b18d
Revert "Add Sphinx 9.1.0"
This reverts commit a31a4c2d2d.

ReadTheDocs will not work with this version:

    python -m pip install -r https://gitlab.isc.org/isc-projects/bind9/-/raw/main/doc/arm/requirements.txt
    ERROR: Ignored the following yanked versions: 8.3.0
    ERROR: Ignored the following versions that require a different python version: 9.1.0 Requires-Python >=3.12; 9.1.0rc1 Requires-Python >=3.12; 9.1.0rc2 Requires-Python >=3.12
    ERROR: Could not find a version that satisfies the requirement Sphinx==9.1.0 (from versions: 0.1.61611, ..., 9.0.4)
    ERROR: No matching distribution found for Sphinx==9.1.0
2026-04-02 11:45:46 +02:00
Michal Nowak
a31a4c2d2d Add Sphinx 9.1.0
Update Sphinx Python package to the current version pulled in by "pip3
install sphinx_rtd_theme" run in a fresh Debian "trixie" container.
2026-04-02 10:34:53 +02:00
Michal Nowak
8e3e3e7194
Remove changelog for GL #5747 2026-03-31 18:21:33 +02:00
Michal Nowak
cac569a1af
Remove release note for GL #5747
This has been reverted.
2026-03-31 16:52:31 +02:00
Michal Nowak
ce291c4421
Tweak and reword release notes 2026-03-31 16:52:31 +02:00
Michal Nowak
e438401b8c
Prepare release notes for BIND 9.21.21 2026-03-31 11:31:22 +02:00
Michal Nowak
4709d1dc32
Generate changelog for BIND 9.21.21 2026-03-31 11:29:32 +02:00
Ondřej Surý
dc9564f14d Raise the minimum cache size to 8 MB, warn below 256 MB
Lower the hard floor for max-cache-size from 2 MB to 8 MB to support
resource-constrained environments (e.g. CPE devices) while remaining
safe for LRU-only eviction.
2026-03-30 21:46:44 +02:00
Ondřej Surý
d7c99c14fc Remove 'unlimited' setting for the max-cache-size
Since TTL-based cache cleaning has been removed, an unlimited
max-cache-size would eventually exhaust system memory.

Both 'max-cache-size unlimited;' and 'max-cache-size 0;' now fall
back to the default value (90% of physical memory for recursive
views).
2026-03-30 21:46:44 +02:00
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