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

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

89 lines
3.5 KiB
ReStructuredText
Raw Normal View History

2025-06-05 12:01:37 +02:00
.. 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.
Notes for BIND 9.21.9
---------------------
New Features
~~~~~~~~~~~~
- Add support for zone templates.
To simplify the configuration of multiple similar zones, BIND now
supports a zone template mechanism. `template` blocks containing zone
options can be defined at the top level of the configuration file;
they can then be referenced in `zone` statements. A zone referencing a
template will use the options in the specified `template` block as
defaults. (Options locally defined in the `zone` statement override
the template.)
The filename for a zone can now be generated parametrically from a
format specified in the `file` option. The first occurrences of
`$name`, `$type` and `$view` in `file` are replaced with the zone
origin, the zone type (i.e., primary, secondary, etc), and the view
name, respectively.
Primary zones can now take an `initial-file` option, specifying the
path to a generic zone file that will be copied into the zone's `file`
path when the zone is first loaded, if the `file` does not already
exist.
For example, the following template can be used for primary zones: ```
template primary { type primary; file
"$name.db"; initial-file "generic.db"; }; ```
With this template in place, a new primary zone could be added using a
single `rndc addzone` command:
``` $ rndc addzone example.com '{ template primary; };' ```
The zone would be created using the filename `example.com.db`, which
would be copied into place from `generic.db`. :gl:`#2964`
- Redesign the unreachable primaries cache.
Previously, the cache for the unreachable primary servers was limited
to 10 entries (LRU) and a fixed 10 minutes delay for each entry,
unless removed forcibly by a new entry. The cache is now redesigned to
remove the 10 entry limitation and to introduce delay values with
exponential backoff time - initially an unreachable primary server is
cached as being unreachable for 10 seconds, but each time the cache
entry is expired and the same server is added again during the
eligibility period of the next 120 seconds, the delay time is doubled
up until to the maximum of 640 seconds. :gl:`#3992`
- Implement a new 'notify-defer' configuration option.
This new option sets a delay (in seconds) to wait before sending a set
of NOTIFY messages for a zone. Whenever a NOTIFY message is ready to
be sent, sending will be deferred for this duration. This option is
not to be confused with the :any:`notify-delay` option. The default is
0 seconds. :gl:`#5259`
Bug Fixes
~~~~~~~~~
- Fix zone deletion issue.
A secondary zone could initiate a new zone transfer from the primary
server after it had been already deleted from the secondary server,
and before the internal garbage collection was activated to clean it
up completely. This has been fixed. :gl:`#5291`
- Fix a zone refresh bug.
A secondary zone could fail to further refresh with new versions of
the zone from a primary server if named was reconfigured during the
SOA request step of an ongoing zone transfer. This has been fixed.
:gl:`#5307`