2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-08-22 18:19:42 +00:00
bind/doc/notes/notes-9.21.3.rst

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

199 lines
7.9 KiB
ReStructuredText
Raw Normal View History

.. Copyright (C) Internet Systems Consortium, Inc. ("ISC")
..
.. SPDX-License-Identifier: MPL-2.0
..
.. This Source Code Form is subject to the terms of the Mozilla Public
.. License, v. 2.0. If a copy of the MPL was not distributed with this
.. file, you can obtain one at https://mozilla.org/MPL/2.0/.
..
.. See the COPYRIGHT file distributed with this work for additional
.. information regarding copyright ownership.
2024-12-02 15:29:59 +01:00
Notes for BIND 9.21.3
---------------------
New Features
~~~~~~~~~~~~
- Add separate query counters for new protocols.
Add query counters for DoT, DoH, unencrypted DoH and their proxied
2024-12-02 16:24:43 +01:00
counterparts. The new protocols do not update their respective TCP/UDP
transport counter. The previously existing counters are now dedicated
for TCP/UDP over plain port 53 only. :gl:`#598`
2024-12-02 15:29:59 +01:00
2024-12-02 16:24:43 +01:00
- Implement :rfc:`9567`: EDNS Report-Channel option.
2024-12-02 15:29:59 +01:00
2024-12-02 16:24:43 +01:00
Add new :namedconf:ref:`send-report-channel` and :namedconf:ref:`log-report-channel` options.
:namedconf:ref:`send-report-channel` specifies an *agent domain*, to which error
2024-12-02 15:29:59 +01:00
reports can be sent by querying a specially constructed name within
2024-12-02 16:24:43 +01:00
the agent domain. The EDNS Report-Channel option has been added to
outgoing authoritative responses, to inform clients where to send such
error reports in the event of a problem.
2024-12-02 15:29:59 +01:00
2024-12-02 16:24:43 +01:00
If a :namedconf:ref:`zone` is configured which matches the *agent domain* and has
:namedconf:ref:`log-report-channel` set to `yes`, error-reporting queries will be
logged at level `info` to the `dns-reporting-agent` logging :namedconf:ref:`channel`.
2024-12-02 15:29:59 +01:00
:gl:`#3659`
2024-12-02 16:24:43 +01:00
- Add detailed debugging of :namedconf:ref:`update-policy` rule matching.
2024-12-02 15:29:59 +01:00
2024-12-02 16:24:43 +01:00
This logs how :iscman:`named` determines whether an update request is granted or
2024-12-02 15:29:59 +01:00
denied when using update-policy. :gl:`#4751`
2024-12-02 16:24:43 +01:00
- Update built-in :file:`bind.keys` file with the new 2025 `IANA root key
<https://www.iana.org/dnssec/files>`_.
2024-12-02 15:29:59 +01:00
2024-12-02 16:24:43 +01:00
Add an `initial-ds` entry to :file:`bind.keys` for the new root key, ID
38696, which is scheduled for publication in January 2025. :gl:`#4896`
2024-12-02 15:29:59 +01:00
- Enable runtime selection of FIPS mode in :iscman:`dig` and delv.
2024-12-02 15:29:59 +01:00
2024-12-02 16:24:43 +01:00
:option:`dig -F` and :option:`delv -F` can now be used to select FIPS mode at
runtime. :gl:`#5046`
2024-12-02 15:29:59 +01:00
Removed Features
~~~~~~~~~~~~~~~~
2024-12-02 16:24:43 +01:00
- Move contributed DLZ modules into a separate repository. DLZ modules should
not be used except in testing.
2024-12-02 15:29:59 +01:00
2024-12-02 16:24:43 +01:00
The DLZ modules were not maintained, the DLZ interface itself is going to be
scheduled for removal, and the DLZ interface is blocking. Any module that
blocks the query to the :namedconf:ref:`database` blocks the whole server.
2024-12-02 15:29:59 +01:00
The DLZ modules now live in
https://gitlab.isc.org/isc-projects/dlz-modules repository.
:gl:`#4865`
- Remove RBTDB implementation.
2024-12-02 16:24:43 +01:00
Remove the RBTDB :namedconf:ref:`database` implementation, and only leave the
QPDB-based implementations of :namedconf:ref:`zone` and cache databases. This means it is no
longer possible to choose RBTDB as the default database at compilation
time, nor to configure RBTDB as the :namedconf:ref:`database` backend
2024-12-02 15:29:59 +01:00
in the configuration file. :gl:`#5027`
Feature Changes
~~~~~~~~~~~~~~~
2024-12-02 16:24:43 +01:00
- :iscman:`dnssec-ksr` now supports KSK rollovers.
2024-12-02 15:29:59 +01:00
2024-12-02 16:24:43 +01:00
The tool now allows for KSK generation, as well as planned KSK rollovers.
When signing a bundle from a Key Signing Request (KSR), only the
key that is active in that time frame is
2024-12-02 15:29:59 +01:00
used for signing. Also, the CDS and CDNSKEY records are now added and
removed at the correct time. :gl:`#4697` :gl:`#4705`
2024-12-02 16:24:43 +01:00
- Add `none` parameter to :namedconf:ref:`query-source` and
:namedconf:ref:`query-source-v6` to disable IPv4 or IPv6 upstream queries but
allow listening to queries from clients on IPv4 or IPv6.
2024-12-02 15:29:59 +01:00
2024-12-02 16:24:43 +01:00
- Print :rfc:`7314`: EXPIRE option in transfer summary. :gl:`#5013`
2024-12-02 15:29:59 +01:00
2024-12-02 16:24:43 +01:00
- Add missing EDNS option mnemonics to :iscman:`dig`.
2024-12-02 15:29:59 +01:00
2024-12-02 16:24:43 +01:00
The `Report-Channel` and `ZONEVERSION` options can now be sent
2024-12-02 15:29:59 +01:00
using `dig +ednsopt=report-channel` (or `dig +ednsopt=rc` for short),
and `dig +ednsopt=zoneversion`.
Several other EDNS option names, including `DAU`, `DHU`, `N3U`, and
2024-12-02 16:24:43 +01:00
`CHAIN`, are now displayed correctly in text and YAML formats.
Also, an inconsistency has been corrected: the `TCP-KEEPALIVE` option is now
2024-12-02 15:29:59 +01:00
spelled with a hyphen in both text and YAML formats; previously, text
format used a space.
2024-12-02 16:24:43 +01:00
- Add new :namedconf:ref:`logging` module for crypto errors in libisc.
2024-12-02 15:29:59 +01:00
2024-12-02 16:24:43 +01:00
Add a new `crypto` log module to be used for low-level
cryptographic operations. The DNS-related cryptography logs are still
2024-12-02 15:29:59 +01:00
logged in the 'dns/crypto' module.
2024-12-02 16:24:43 +01:00
- Emit more helpful log messages for exceeding :namedconf:ref:`max-records-per-type`.
2024-12-02 15:29:59 +01:00
The new log message is emitted when adding or updating an RRset fails
2024-12-02 16:24:43 +01:00
due to exceeding the :namedconf:ref:`max-records-per-type` limit. The log includes the
owner name and type, corresponding zone name, and the limit value. It
will be emitted on loading a zone file, inbound zone transfer (both
2024-12-02 15:29:59 +01:00
AXFR and IXFR), handling a DDNS update, or updating a cache DB. It's
2024-12-02 16:24:43 +01:00
especially helpful in the case of zone transfer, since the secondary
side doesn't have direct access to the offending zone data.
2024-12-02 15:29:59 +01:00
2024-12-02 16:24:43 +01:00
It could also be used for :namedconf:ref:`max-types-per-name`, but this change doesn't
2024-12-02 15:29:59 +01:00
implement it yet as it's much less likely to happen in practice.
2024-12-02 16:24:43 +01:00
- Harden key management when key files have become unavailable.
2024-12-02 15:29:59 +01:00
2024-12-02 16:24:43 +01:00
Prior to doing key management, BIND 9 will check if the key files on
disk match the expected keys. If key files for previously observed
keys have become unavailable, this will prevent the internal key
2024-12-02 15:29:59 +01:00
manager from running.
2024-12-03 10:36:58 +01:00
- Reduce memory footprint by optimizing commonly-used data structures.
:gl:`#5022`
2024-12-02 15:29:59 +01:00
Bug Fixes
~~~~~~~~~
- Use TLS for notifies if configured to do so.
Notifies configured to use TLS will now be sent over TLS, instead of
2024-12-02 16:24:43 +01:00
plain text UDP or TCP. Also, failing to load the TLS configuration for
:namedconf:ref:`notify` now results in an error. :gl:`#4821`
2024-12-02 15:29:59 +01:00
2024-12-02 16:24:43 +01:00
- `{&dns}` is as valid as `{?dns}` in a SVCB's dohpath.
2024-12-02 15:29:59 +01:00
2024-12-02 16:24:43 +01:00
:iscman:`dig` failed to parse a valid `SVCB` record with a `dohpath` URI
template containing a `{&dns}`, like `dohpath=/some/path?key=value{&dns}"`.
:gl:`#4922`
2024-12-02 15:29:59 +01:00
- Fix NSEC3 closest encloser lookup for names with empty non-terminals.
2024-12-02 16:24:43 +01:00
A previous performance optimization for finding the NSEC3 closest encloser
2024-12-02 15:29:59 +01:00
when generating authoritative responses could cause servers to return
incorrect NSEC3 records in some cases. This has been fixed.
:gl:`#4950`
2024-12-02 16:24:43 +01:00
- Report client transport in :option:`rndc recursing` output
2024-12-02 15:29:59 +01:00
2024-12-02 16:24:43 +01:00
When :option:`rndc recursing` is used to dump the list of recursing
clients, it now indicates whether a query was sent via UDP, TCP,
TLS, or HTTP.
2024-12-02 15:29:59 +01:00
:gl:`#4971`
2024-12-02 16:24:43 +01:00
- :namedconf:ref:`recursive-clients` statement with value 0 triggered an assertion failure.
2024-12-02 15:29:59 +01:00
BIND 9.20.0 broke `recursive-clients 0;`. This has now been fixed.
:gl:`#4987`
- Parsing of hostnames in :iscman:`rndc.conf` was broken.
2024-12-02 15:29:59 +01:00
When DSCP support was removed, parsing of hostnames in :iscman:`rndc.conf` was
2024-12-02 15:29:59 +01:00
accidentally broken, resulting in an assertion failure. This has been
fixed. :gl:`#4991`
2024-12-02 16:24:43 +01:00
- :iscman:`dig` options of the form `[+-]option=<value>` failed to display the
value on the printed command line. This has been fixed. :gl:`#4993`
2024-12-02 15:29:59 +01:00
2024-12-02 16:24:43 +01:00
- Provide more visibility into TLS configuration errors by logging
`SSL_CTX_use_certificate_chain_file()` and `SSL_CTX_use_PrivateKey_file()`
errors individually. :gl:`#5008`
2024-12-02 15:29:59 +01:00
2024-12-02 16:24:43 +01:00
- Fix a race condition when canceling ADB find which could cause an assertion
failure. :gl:`#5024`
2024-12-02 15:29:59 +01:00
2024-12-03 10:19:17 +01:00
- Fix doubled memory usage during incoming zone transfer. :gl:`#4986`
2024-12-02 16:24:43 +01:00
- SERVFAIL cache memory cleaning is now more aggressive; it no longer consumes a
lot of memory if the server encounters many SERVFAILs at once.
:gl:`#5025`
2024-12-02 15:29:59 +01:00
2024-12-02 16:24:43 +01:00
- Fix trying the next primary XoT server when the previous one was marked as
2024-12-02 15:29:59 +01:00
unreachable.
2024-12-02 16:24:43 +01:00
In some cases :iscman:`named` failed to try the next primary
server in the :namedconf:ref:`primaries` list when the previous one was marked as
unreachable. This has been fixed. :gl:`#5038`