Commit graph

3211 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
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ń
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
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
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
Andoni Duarte
4eaeb79173 Merge tag 'v9.21.16' 2025-12-17 15:33:14 +00: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
Michal Nowak
350c3a9a19
Add Fedora 43 2025-11-27 16:30:30 +01:00
Alessio Podda
1378aeefa5 Add auto LTO option
Add an auto option to named-lto that disables weird setups like clang +
ld.bfd.
2025-11-27 13:00:22 +01:00
Andoni Duarte Pintado
fe98568be6 Update wiki.wireshark.org link in doc/arm
Fix the broken link https://wiki.wireshark.org/TLS#tls-decryption.
Since their TOC also has the wrong anchor, we remove it altogether,
i.e. https://wiki.wireshark.org/TLS.
2025-11-26 14:30:26 +01:00
Michal Nowak
e69c343e91
Prepare release notes for BIND 9.21.15 2025-11-06 11:48:00 +01:00
Michal Nowak
30616432b8
Generate changelog for BIND 9.21.15 2025-11-06 11:45:48 +01:00
Aydın Mercan
9eaf32db1a
bump the minimum meson version to 1.3.0
After a couple releases, it appears that the minimum version can be
increased without much trouble.

Because meson only requires python 3.7 or greater, most supported
distributions can run a newer meson without having to deal with
additional dependencies or a new python version.
2025-10-24 16:42:24 +02:00
Michał Kępień
c2a672bbae Merge tag 'v9.21.14' 2025-10-22 18:13:34 +02:00
Petr Špaček
485e04aa7e Remove stub chapter about load balancing from ARM
Clearly Support wants this in Knowledge base, so let's comply.

Related: !6610
2025-10-21 09:41:54 +00:00
Michał Kępień
3ecab35af6
Prepare release notes for BIND 9.21.14 2025-10-18 09:47:28 +02:00
Michał Kępień
a63db9857c
Prepare changelog for BIND 9.21.14 2025-10-18 09:47:28 +02:00
Evan Hunt
a373671f5e remove "bindkeys-file" option
The bindkeys-file option was only used for testing purposes, and
has now been replaced with a "-T bindkeys=<filename>" option for
named.
2025-10-12 23:37:49 -07:00
Michał Kępień
84b96df153
Remove "tkey-gssapi-credential" and related code
Since the "tkey-gssapi-credential" statement has been previously
deprecated, mark it as ancient and remove all code related to it:

  - The code processing the "tkey-gssapi-credential" statement in the
    configuration is the only user of the dst_gssapi_acquirecred() and
    dst_gssapi_releasecred() functions, so remove them along with their
    static helper functions and a backup definition of the
    GSS_KRB5_MECHANISM macro.

  - When calling gss_accept_sec_context(), pass GSS_C_NO_CREDENTIAL
    instead of the credential acquired by gss_acquire_cred().
    (Previously, NULL was passed when "tkey-gssapi-credential" was not
    specified.  Kerberos headers define GSS_C_NO_CREDENTIAL as
    (gss_cred_id_t) 0, so the logic was effectively the same, but using
    the GSS_C_NO_CREDENTIAL macro is more appropriate.)  This renders
    the 'cred' parameter for dst_gssapi_acceptctx() redundant, so remove
    it from the prototype of the latter.  (Contrary to what the
    documentation for dst_gssapi_acceptctx() claims,
    dst_gssapi_releasecred() does not need to subsequently be called to
    free the GSS-API context; a dst_gssapi_deletectx() call in
    gssapi_destroy() takes care of that when the dynamically generated
    TSIG key is destroyed.)

  - Remove the 'gsscred' member from struct dns_tkeyctx, along with its
    related dns_gss_cred_id_t typedef.

Update the relevant sections of the ARM and code comments accordingly.

This makes the "tkey-gssapi-keytab" statement the only way to set up
GSS-TSIG in named.

Remove redundant code from bin/named/tkeyconf.c while at it.
2025-10-06 13:19:50 +02:00
Michał Kępień
40a62df4f0
Prepare release notes for BIND 9.21.13 2025-10-02 18:12:18 +02:00
Michał Kępień
3a6b756179
Generate changelog for BIND 9.21.13 2025-10-02 18:12:18 +02:00
Mark Andrews
2e40705c06
Retry lookups with unsigned DNAME over TCP
To prevent spoofed unsigned DNAME responses being accepted retry
response with unsigned DNAMEs over TCP if the response is not TSIG
signed or there isn't a good DNS CLIENT COOKIE.
2025-10-02 12:54:42 +02:00
Colin Vidal
7b2eab90c0 add synthrecord plugin documentation
Add synthrecord plugin documentation as well as update some
documentation for the other filter-a and filter-aaaa plugins.
2025-10-01 12:16:05 +02:00