Compare commits
13 Commits
marka-cppc
...
v9.17.8
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fba4f351fe | ||
|
|
8d14e39a0b | ||
|
|
9ac1ae758b | ||
|
|
bd27f38852 | ||
|
|
3285e7651d | ||
|
|
f8dd22df9c | ||
|
|
0da5320998 | ||
|
|
89b154b7d8 | ||
|
|
53ef1923a3 | ||
|
|
6749215951 | ||
|
|
7878f2f672 | ||
|
|
fe31d08e0c | ||
|
|
515ea13421 |
42
CHANGES
42
CHANGES
@@ -1,16 +1,18 @@
|
||||
5545. [func] Restore reading of incoming queries by multiple netmgr
|
||||
threads on platforms other than Linux and FreeBSD 12.
|
||||
[GL #2137]
|
||||
--- 9.17.8 released ---
|
||||
|
||||
5544. [func] Restore the default value of nocookie-udp-size to 4096.
|
||||
[GL #2250]
|
||||
5545. [func] OS support for load-balanced sockets is no longer
|
||||
required to receive incoming queries in multiple netmgr
|
||||
threads. [GL #2137]
|
||||
|
||||
5543. [bug] Restore the UDP performance after the user netmgr
|
||||
callbacks have been made asynchronous. [GL #2320]
|
||||
5544. [func] Restore the default value of "nocookie-udp-size" to 4096
|
||||
bytes. [GL #2250]
|
||||
|
||||
5542. [bug] Refactor the netmgr. [GL #1920] [GL #2034] [GL #2061]
|
||||
[GL #2194] [GL #2266] [GL #2283] [GL #2318] [GL #2321]
|
||||
[GL #2221]
|
||||
5543. [bug] Fix UDP performance issues caused by making netmgr
|
||||
callbacks asynchronous-only. [GL #2320]
|
||||
|
||||
5542. [bug] Refactor netmgr. [GL #1920] [GL #2034] [GL #2061]
|
||||
[GL #2194] [GL #2221] [GL #2266] [GL #2283] [GL #2318]
|
||||
[GL #2321]
|
||||
|
||||
5541. [func] Adjust the "max-recursion-queries" default from 75 to
|
||||
100. [GL #2305]
|
||||
@@ -21,26 +23,25 @@
|
||||
5539. [bug] Tighten handling of missing DNS COOKIE responses over
|
||||
UDP by falling back to TCP. [GL #2275]
|
||||
|
||||
5538. [func] Add NSEC3 support for zones that manage DNSSEC with
|
||||
the 'dnssec-policy' configuration. A new option
|
||||
'nsec3param' can be used to set the NSEC3 parameters.
|
||||
This now also detects salt collisions, and logs salt
|
||||
generation messages with zone context.
|
||||
[GL #1620]
|
||||
5538. [func] Add NSEC3 support to KASP. A new option for
|
||||
"dnssec-policy", "nsec3param", can be used to set the
|
||||
desired NSEC3 parameters. NSEC3 salt collisions are
|
||||
automatically prevented during resalting. Salt
|
||||
generation is now logged with zone context. [GL #1620]
|
||||
|
||||
5537. [func] The query plugin mechanism has been extended
|
||||
to support asynchronous operations. For example, a
|
||||
plugin can now trigger recursion and resume
|
||||
processing when it's complete. Thanks to Jinmei
|
||||
processing when it is complete. Thanks to Jinmei
|
||||
Tatuya at Infoblox. [GL #2141]
|
||||
|
||||
5536. [func] Dig can now report the DNS64 prefixes in use
|
||||
(+dns64prefix). [GL #1154]
|
||||
|
||||
5535. [bug] dig/nslookup/host could crash on shutdown after an
|
||||
interrupt. [GL #2288]
|
||||
interrupt. [GL #2287] [GL #2288]
|
||||
|
||||
5534. [bug] The synthesised CNAME from a DNAME was incorrectly
|
||||
5534. [bug] The CNAME synthesized from a DNAME was incorrectly
|
||||
followed when the QTYPE was CNAME or ANY. [GL #2280]
|
||||
|
||||
--- 9.17.7 released ---
|
||||
@@ -56,7 +57,8 @@
|
||||
to those files. [GL #1913]
|
||||
|
||||
5531. [func] Add support for DNS over TLS (DoT) to dig and named.
|
||||
[GL #1840]
|
||||
dig output now includes the transport protocol used.
|
||||
[GL #1816] [GL #1840]
|
||||
|
||||
5530. [bug] dnstap did not capture responses to forwarded UPDATE
|
||||
requests. [GL #2252]
|
||||
|
||||
@@ -39,7 +39,7 @@ anyone can see the source, but only ISC employees have commit access.
|
||||
In the past, the source could only be seen once ISC had published
|
||||
a release; read access to the source repository was restricted just
|
||||
as commit access was. That has changed, as ISC now provides a
|
||||
public git mirror to the BIND source tree (see below).
|
||||
public git repository of the BIND source tree (see below).
|
||||
|
||||
At ISC, we're committed to
|
||||
building communities that are welcoming and inclusive: environments where people
|
||||
@@ -55,14 +55,12 @@ the industry.
|
||||
Public BIND releases are always available from the
|
||||
[ISC FTP site](ftp://ftp.isc.org/isc/bind9).
|
||||
|
||||
A public-access GIT repository is also available at
|
||||
[https://gitlab.isc.org](https://gitlab.isc.org).
|
||||
This repository is a mirror, updated several times per day, of the
|
||||
source repository maintained by ISC. It contains all the public release
|
||||
branches; upcoming releases can be viewed in their current state at any
|
||||
time. It does *not* contain development branches or unreviewed work in
|
||||
progress. Commits which address security vulnerablilities are withheld
|
||||
until after public disclosure.
|
||||
A public-access git repository is also available at
|
||||
[https://gitlab.isc.org](https://gitlab.isc.org). This repository
|
||||
contains all public release branches. Upcoming releases can be viewed in
|
||||
their current state at any time. Short-lived development branches
|
||||
contain unreviewed work in progress. Commits which address security
|
||||
vulnerablilities are withheld until after public disclosure.
|
||||
|
||||
You can browse the source online via
|
||||
[https://gitlab.isc.org/isc-projects/bind9](https://gitlab.isc.org/isc-projects/bind9)
|
||||
|
||||
@@ -61,7 +61,7 @@ The following are platforms on which BIND is known to build and run.
|
||||
ISC makes every effort to fix bugs on these platforms, but may be unable to
|
||||
do so quickly due to lack of hardware, less familiarity on the part of
|
||||
engineering staff, and other constraints. With the exception of Windows
|
||||
Server 2012 R2, none of these are tested regularly by ISC.
|
||||
Server 2016, none of these are tested regularly by ISC.
|
||||
|
||||
* Windows Server 2012 R2, 2016 / x64
|
||||
* Windows 10 / x64
|
||||
|
||||
11
README.md
11
README.md
@@ -15,7 +15,6 @@
|
||||
1. [Introduction](#intro)
|
||||
1. [Reporting bugs and getting help](#help)
|
||||
1. [Contributing to BIND](#contrib)
|
||||
1. [BIND 9.17 features](#features)
|
||||
1. [Building BIND](#build)
|
||||
1. [macOS](#macos)
|
||||
1. [Dependencies](#dependencies)
|
||||
@@ -125,16 +124,6 @@ If you prefer, you may also submit code by opening a
|
||||
including your patch as an attachment, preferably generated by
|
||||
`git format-patch`.
|
||||
|
||||
### <a name="features"/> BIND 9.17 features
|
||||
|
||||
BIND 9.17 is the newest development branch of BIND 9. It includes a
|
||||
number of changes from BIND 9.16 and earlier releases. New features include:
|
||||
|
||||
* The new option `max-ixfr-ratio` to limit the size of outgoing IXFR responses
|
||||
before falling back to full zone transfers.
|
||||
* `rndc nta -d` and `rndc secroots` now include `validate-except` entries
|
||||
when listing negative trust anchors.
|
||||
|
||||
### <a name="build"/> Building BIND 9
|
||||
|
||||
At a minimum, BIND requires a Unix or Linux system with an ANSI C compiler,
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
#
|
||||
m4_define([bind_VERSION_MAJOR], 9)dnl
|
||||
m4_define([bind_VERSION_MINOR], 17)dnl
|
||||
m4_define([bind_VERSION_PATCH], 7)dnl
|
||||
m4_define([bind_VERSION_PATCH], 8)dnl
|
||||
m4_define([bind_VERSION_EXTRA], )dnl
|
||||
m4_define([bind_DESCRIPTION], [(Development Release)])dnl
|
||||
m4_define([bind_SRCID], [m4_esyscmd_s([git rev-parse --short HEAD | cut -b1-7])])dnl
|
||||
|
||||
@@ -52,7 +52,7 @@ https://www.isc.org/download/. There you will find additional
|
||||
information about each release, source code, and pre-compiled versions
|
||||
for Microsoft Windows operating systems.
|
||||
|
||||
.. include:: ../notes/notes-current.rst
|
||||
.. include:: ../notes/notes-9.17.8.rst
|
||||
.. include:: ../notes/notes-9.17.7.rst
|
||||
.. include:: ../notes/notes-9.17.6.rst
|
||||
.. include:: ../notes/notes-9.17.5.rst
|
||||
|
||||
@@ -4755,235 +4755,200 @@ can be found, the initializing key is also compiled directly into
|
||||
|
||||
.. _dnssec_policy_grammar:
|
||||
|
||||
``dnssec-policy`` Statement Grammar
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. include:: ../misc/dnssec-policy.grammar.rst
|
||||
|
||||
.. _dnssec_policy:
|
||||
|
||||
The ``dnssec-policy`` statement defines a key and
|
||||
signing policy (KASP) for zones.
|
||||
``dnssec-policy`` Statement Definition and Usage
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
A KASP determines how one or more zones are signed
|
||||
with DNSSEC. For example, it specifies how often keys should
|
||||
roll, which cryptographic algorithms to use, and how often RRSIG
|
||||
records need to be refreshed.
|
||||
The ``dnssec-policy`` statement defines a key and signing policy (KASP)
|
||||
for zones.
|
||||
|
||||
Keys are not shared among zones, which means that one set of keys
|
||||
per zone is generated even if they have the same policy.
|
||||
If multiple views are configured with different versions of the
|
||||
same zone, each separate version uses the same set of signing
|
||||
keys.
|
||||
A KASP determines how one or more zones are signed with DNSSEC. For
|
||||
example, it specifies how often keys should roll, which cryptographic
|
||||
algorithms to use, and how often RRSIG records need to be refreshed.
|
||||
|
||||
Multiple key and signing policies can be configured. To
|
||||
attach a policy to a zone, add a ``dnssec-policy``
|
||||
option to the ``zone`` statement, specifying the
|
||||
name of the policy that should be used.
|
||||
Keys are not shared among zones, which means that one set of keys per
|
||||
zone is generated even if they have the same policy. If multiple views
|
||||
are configured with different versions of the same zone, each separate
|
||||
version uses the same set of signing keys.
|
||||
|
||||
Key rollover timing is computed for each key according to
|
||||
the key lifetime defined in the KASP. The lifetime may be
|
||||
modified by zone TTLs and propagation delays, to
|
||||
prevent validation failures. When a key reaches the end of its
|
||||
lifetime,
|
||||
``named`` generates and publishes a new key
|
||||
automatically, then deactivates the old key and activates the
|
||||
new one; finally, the old key is retired according to a computed
|
||||
schedule.
|
||||
Multiple key and signing policies can be configured. To attach a policy
|
||||
to a zone, add a ``dnssec-policy`` option to the ``zone`` statement,
|
||||
specifying the name of the policy that should be used.
|
||||
|
||||
Zone-signing key (ZSK) rollovers require no operator input.
|
||||
Key-signing key (KSK) and combined-signing key (CSK) rollovers
|
||||
require action to be taken to submit a DS record to the parent.
|
||||
Rollover timing for KSKs and CSKs is adjusted to take into account
|
||||
delays in processing and propagating DS updates.
|
||||
Key rollover timing is computed for each key according to the key
|
||||
lifetime defined in the KASP. The lifetime may be modified by zone TTLs
|
||||
and propagation delays, to prevent validation failures. When a key
|
||||
reaches the end of its lifetime, ``named`` generates and publishes a new
|
||||
key automatically, then deactivates the old key and activates the new
|
||||
one; finally, the old key is retired according to a computed schedule.
|
||||
|
||||
There are two predefined ``dnssec-policy`` names:
|
||||
``none`` and ``default``.
|
||||
Setting a zone's policy to
|
||||
``none`` is the same as not setting
|
||||
``dnssec-policy`` at all; the zone is not
|
||||
signed. Policy ``default`` causes the
|
||||
zone to be signed with a single combined-signing key (CSK)
|
||||
using algorithm ECDSAP256SHA256; this key has an
|
||||
unlimited lifetime. (A verbose copy of this policy
|
||||
may be found in the source tree, in the file
|
||||
``doc/misc/dnssec-policy.default.conf``.)
|
||||
Zone-signing key (ZSK) rollovers require no operator input. Key-signing
|
||||
key (KSK) and combined-signing key (CSK) rollovers require action to be
|
||||
taken to submit a DS record to the parent. Rollover timing for KSKs and
|
||||
CSKs is adjusted to take into account delays in processing and
|
||||
propagating DS updates.
|
||||
|
||||
.. note::
|
||||
There are two predefined ``dnssec-policy`` names: ``none`` and
|
||||
``default``. Setting a zone's policy to ``none`` is the same as not
|
||||
setting ``dnssec-policy`` at all; the zone is not signed. Policy
|
||||
``default`` causes the zone to be signed with a single combined-signing
|
||||
key (CSK) using algorithm ECDSAP256SHA256; this key has an unlimited
|
||||
lifetime. (A verbose copy of this policy may be found in the source
|
||||
tree, in the file ``doc/misc/dnssec-policy.default.conf``.)
|
||||
|
||||
The default signing policy may change in future releases.
|
||||
This could require changes to a signing policy
|
||||
when upgrading to a new version of BIND. Check
|
||||
the release notes carefully when upgrading to be informed
|
||||
of such changes. To prevent policy changes on upgrade,
|
||||
use an explicitly defined ``dnssec-policy``,
|
||||
rather than ``default``.
|
||||
.. note:: The default signing policy may change in future releases.
|
||||
This could require changes to a signing policy when upgrading to a
|
||||
new version of BIND. Check the release notes carefully when
|
||||
upgrading to be informed of such changes. To prevent policy changes
|
||||
on upgrade, use an explicitly defined ``dnssec-policy``, rather than
|
||||
``default``.
|
||||
|
||||
If a ``dnssec-policy`` statement is modified
|
||||
and the server restarted or reconfigured, ``named``
|
||||
attempts to change the policy smoothly from the old one to
|
||||
the new. For example, if the key algorithm is changed, then
|
||||
a new key is generated with the new algorithm, and the old
|
||||
algorithm is retired when the existing key's lifetime ends.
|
||||
If a ``dnssec-policy`` statement is modified and the server restarted or
|
||||
reconfigured, ``named`` attempts to change the policy smoothly from the
|
||||
old one to the new. For example, if the key algorithm is changed, then
|
||||
a new key is generated with the new algorithm, and the old algorithm is
|
||||
retired when the existing key's lifetime ends.
|
||||
|
||||
.. note::
|
||||
|
||||
Rolling to a new policy while another key rollover is
|
||||
already in progress is not yet supported, and may result in
|
||||
unexpected behavior.
|
||||
.. note:: Rolling to a new policy while another key rollover is already
|
||||
in progress is not yet supported, and may result in unexpected
|
||||
behavior.
|
||||
|
||||
The following options can be specified in a ``dnssec-policy`` statement:
|
||||
|
||||
``dnskey-ttl``
|
||||
This indicates the TTL to use when generating DNSKEY resource records. The default is 1
|
||||
hour (3600 seconds).
|
||||
This indicates the TTL to use when generating DNSKEY resource
|
||||
records. The default is 1 hour (3600 seconds).
|
||||
|
||||
``keys``
|
||||
This is a list specifying the algorithms and roles to use when
|
||||
generating keys and signing the zone.
|
||||
Entries in this list do not represent specific
|
||||
DNSSEC keys, which may be changed on a regular basis,
|
||||
but the roles that keys play in the signing policy.
|
||||
For example, configuring a KSK of algorithm RSASHA256 ensures
|
||||
that the DNSKEY RRset always includes a key-signing key
|
||||
for that algorithm.
|
||||
generating keys and signing the zone. Entries in this list do not
|
||||
represent specific DNSSEC keys, which may be changed on a regular
|
||||
basis, but the roles that keys play in the signing policy. For
|
||||
example, configuring a KSK of algorithm RSASHA256 ensures that the
|
||||
DNSKEY RRset always includes a key-signing key for that algorithm.
|
||||
|
||||
Here is an example (for illustration purposes only) of
|
||||
some possible entries in a ``keys``
|
||||
list:
|
||||
Here is an example (for illustration purposes only) of some possible
|
||||
entries in a ``keys`` list:
|
||||
|
||||
::
|
||||
|
||||
keys {
|
||||
ksk key-directory lifetime unlimited algorithm rsasha1 2048;
|
||||
zsk lifetime P30D algorithm 8;
|
||||
csk lifetime P6MT12H3M15S algorithm ecdsa256;
|
||||
};
|
||||
ksk key-directory lifetime unlimited algorithm rsasha1 2048;
|
||||
zsk lifetime P30D algorithm 8;
|
||||
csk lifetime P6MT12H3M15S algorithm ecdsa256;
|
||||
};
|
||||
|
||||
This example specifies that three keys should be used
|
||||
in the zone. The first token determines which role the
|
||||
key plays in signing RRsets. If set to
|
||||
``ksk``, then this is
|
||||
a key-signing key; it has the KSK flag set and
|
||||
is only used to sign DNSKEY, CDS, and CDNSKEY RRsets.
|
||||
If set to ``zsk``, this is
|
||||
a zone-signing key; the KSK flag is unset, and
|
||||
the key signs all RRsets *except*
|
||||
DNSKEY, CDS, and CDNSKEY. If set to
|
||||
``csk``, the key has the KSK
|
||||
flag set and is used to sign all RRsets.
|
||||
This example specifies that three keys should be used in the zone.
|
||||
The first token determines which role the key plays in signing
|
||||
RRsets. If set to ``ksk``, then this is a key-signing key; it has
|
||||
the KSK flag set and is only used to sign DNSKEY, CDS, and CDNSKEY
|
||||
RRsets. If set to ``zsk``, this is a zone-signing key; the KSK flag
|
||||
is unset, and the key signs all RRsets *except* DNSKEY, CDS, and
|
||||
CDNSKEY. If set to ``csk``, the key has the KSK flag set and is
|
||||
used to sign all RRsets.
|
||||
|
||||
An optional second token determines where the key is
|
||||
stored. Currently, keys can only be stored in the
|
||||
configured ``key-directory``. This token
|
||||
may be used in the future to store keys in hardware
|
||||
service modules or separate directories.
|
||||
An optional second token determines where the key is stored.
|
||||
Currently, keys can only be stored in the configured
|
||||
``key-directory``. This token may be used in the future to store
|
||||
keys in hardware service modules or separate directories.
|
||||
|
||||
The ``lifetime`` parameter specifies how
|
||||
long a key may be used before rolling over. In the
|
||||
example above, the first key has an unlimited
|
||||
lifetime, the second key may be used for 30 days, and the
|
||||
third key has a rather peculiar lifetime of 6 months,
|
||||
12 hours, 3 minutes, and 15 seconds. A lifetime of 0
|
||||
seconds is the same as ``unlimited``.
|
||||
The ``lifetime`` parameter specifies how long a key may be used
|
||||
before rolling over. In the example above, the first key has an
|
||||
unlimited lifetime, the second key may be used for 30 days, and the
|
||||
third key has a rather peculiar lifetime of 6 months, 12 hours, 3
|
||||
minutes, and 15 seconds. A lifetime of 0 seconds is the same as
|
||||
``unlimited``.
|
||||
|
||||
Note that the lifetime of a key may be extended if
|
||||
retiring it too soon would cause validation failures.
|
||||
For example, if the key were configured to roll more
|
||||
frequently than its own TTL, its lifetime would
|
||||
automatically be extended to account for this.
|
||||
Note that the lifetime of a key may be extended if retiring it too
|
||||
soon would cause validation failures. For example, if the key were
|
||||
configured to roll more frequently than its own TTL, its lifetime
|
||||
would automatically be extended to account for this.
|
||||
|
||||
The ``algorithm`` parameter specifies
|
||||
the key's algorithm, expressed either as a string
|
||||
("rsasha256", "ecdsa384", etc.) or as a decimal number.
|
||||
An optional second parameter specifies the key's size
|
||||
in bits. If it is omitted, as shown in the
|
||||
example for the second and third keys, an appropriate
|
||||
default size for the algorithm is used.
|
||||
The ``algorithm`` parameter specifies the key's algorithm, expressed
|
||||
either as a string ("rsasha256", "ecdsa384", etc.) or as a decimal
|
||||
number. An optional second parameter specifies the key's size in
|
||||
bits. If it is omitted, as shown in the example for the second and
|
||||
third keys, an appropriate default size for the algorithm is used.
|
||||
|
||||
``publish-safety``
|
||||
This is a margin that is added to the pre-publication
|
||||
interval in rollover timing calculations, to give some
|
||||
extra time to cover unforeseen events. This increases
|
||||
the time between when keys are published and when they become active.
|
||||
The default is ``PT1H`` (1 hour).
|
||||
``publish-safety``
|
||||
This is a margin that is added to the pre-publication interval in
|
||||
rollover timing calculations, to give some extra time to cover
|
||||
unforeseen events. This increases the time between when keys are
|
||||
published and when they become active. The default is ``PT1H`` (1
|
||||
hour).
|
||||
|
||||
``retire-safety``
|
||||
This is a margin that is added to the post-publication interval
|
||||
in rollover timing calculations, to give some extra time
|
||||
to cover unforeseen events. This increases the time a key
|
||||
remains published after it is no longer active. The
|
||||
default is ``PT1H`` (1 hour).
|
||||
``retire-safety``
|
||||
This is a margin that is added to the post-publication interval in
|
||||
rollover timing calculations, to give some extra time to cover
|
||||
unforeseen events. This increases the time a key remains published
|
||||
after it is no longer active. The default is ``PT1H`` (1 hour).
|
||||
|
||||
``signatures-refresh``
|
||||
This determines how frequently an RRSIG record needs to be
|
||||
refreshed. The signature is renewed when the time until
|
||||
the expiration time is less than the specified interval.
|
||||
The default is ``P5D`` (5 days), meaning
|
||||
signatures that expire in 5 days or sooner are
|
||||
refreshed.
|
||||
``signatures-refresh``
|
||||
This determines how frequently an RRSIG record needs to be
|
||||
refreshed. The signature is renewed when the time until the
|
||||
expiration time is less than the specified interval. The default is
|
||||
``P5D`` (5 days), meaning signatures that expire in 5 days or sooner
|
||||
are refreshed.
|
||||
|
||||
``signatures-validity``
|
||||
This indicates the validity period of an RRSIG record (subject to
|
||||
inception offset and jitter). The default is
|
||||
``P2W`` (2 weeks).
|
||||
``signatures-validity``
|
||||
This indicates the validity period of an RRSIG record (subject to
|
||||
inception offset and jitter). The default is ``P2W`` (2 weeks).
|
||||
|
||||
``signatures-validity-dnskey``
|
||||
This is similar to ``signatures-validity``, but for
|
||||
DNSKEY records. The default is ``P2W``
|
||||
(2 weeks).
|
||||
``signatures-validity-dnskey``
|
||||
This is similar to ``signatures-validity``, but for DNSKEY records.
|
||||
The default is ``P2W`` (2 weeks).
|
||||
|
||||
``max-zone-ttl``
|
||||
Like the ``max-zone-ttl`` zone option,
|
||||
this specifies the maximum permissible TTL value, in
|
||||
seconds, for the zone. When loading a zone file using
|
||||
a ``masterfile-format`` of
|
||||
``text`` or ``raw``,
|
||||
any record encountered with a TTL higher than
|
||||
``max-zone-ttl`` is capped at the
|
||||
maximum permissible TTL value.
|
||||
``max-zone-ttl``
|
||||
Like the ``max-zone-ttl`` zone option, this specifies the maximum
|
||||
permissible TTL value, in seconds, for the zone. When loading a
|
||||
zone file using a ``masterfile-format`` of ``text`` or ``raw``, any
|
||||
record encountered with a TTL higher than ``max-zone-ttl`` is capped
|
||||
at the maximum permissible TTL value.
|
||||
|
||||
This is needed in DNSSEC-maintained zones because when
|
||||
rolling to a new DNSKEY, the old key needs to remain
|
||||
available until RRSIG records have expired from caches.
|
||||
The ``max-zone-ttl`` option guarantees that
|
||||
the largest TTL in the zone is no higher than the
|
||||
set value.
|
||||
This is needed in DNSSEC-maintained zones because when rolling to a
|
||||
new DNSKEY, the old key needs to remain available until RRSIG
|
||||
records have expired from caches. The ``max-zone-ttl`` option
|
||||
guarantees that the largest TTL in the zone is no higher than the
|
||||
set value.
|
||||
|
||||
.. note::
|
||||
Because ``map``-format files
|
||||
load directly into memory, this option cannot be
|
||||
used with them.
|
||||
.. note:: Because ``map``-format files load directly into memory,
|
||||
this option cannot be used with them.
|
||||
|
||||
The default value is ``PT24H`` (24 hours).
|
||||
A ``max-zone-ttl`` of zero is treated as if
|
||||
the default value were in use.
|
||||
The default value is ``PT24H`` (24 hours). A ``max-zone-ttl`` of
|
||||
zero is treated as if the default value were in use.
|
||||
|
||||
``nsec3param``
|
||||
Use NSEC3 instead of NSEC, and optionally set the NSEC3 parameters.
|
||||
``nsec3param``
|
||||
Use NSEC3 instead of NSEC, and optionally set the NSEC3 parameters.
|
||||
|
||||
Here is an example of an ``nsec3`` configuration:
|
||||
Here is an example of an ``nsec3`` configuration:
|
||||
|
||||
::
|
||||
::
|
||||
|
||||
nsec3param iterations 5 optout no salt-length 8;
|
||||
nsec3param iterations 5 optout no salt-length 8;
|
||||
|
||||
The default is to use NSEC. The ``iterations``, ``optout``
|
||||
and ``salt-length`` parts are optional, but if not set, the
|
||||
values in the example above are the default NSEC3 parameters.
|
||||
The default is to use NSEC. The ``iterations``, ``optout`` and
|
||||
``salt-length`` parts are optional, but if not set, the values in
|
||||
the example above are the default NSEC3 parameters.
|
||||
|
||||
``zone-propagation-delay``
|
||||
This is the expected propagation delay from the time when a zone
|
||||
is first updated to the time when the new version of the
|
||||
zone is served by all secondary servers. The default
|
||||
is ``PT5M`` (5 minutes).
|
||||
``zone-propagation-delay``
|
||||
This is the expected propagation delay from the time when a zone is
|
||||
first updated to the time when the new version of the zone is served
|
||||
by all secondary servers. The default is ``PT5M`` (5 minutes).
|
||||
|
||||
``parent-ds-ttl``
|
||||
This is the TTL of the DS RRset that the parent zone uses. The
|
||||
default is ``P1D`` (1 day).
|
||||
``parent-ds-ttl``
|
||||
This is the TTL of the DS RRset that the parent zone uses. The
|
||||
default is ``P1D`` (1 day).
|
||||
|
||||
``parent-propagation-delay``
|
||||
This is the expected propagation delay from the time when the
|
||||
parent zone is updated to the time when the new version
|
||||
is served by all of the parent zone's name servers.
|
||||
The default is ``PT1H`` (1 hour).
|
||||
``parent-propagation-delay``
|
||||
This is the expected propagation delay from the time when the parent
|
||||
zone is updated to the time when the new version is served by all of
|
||||
the parent zone's name servers. The default is ``PT1H`` (1 hour).
|
||||
|
||||
.. _managed-keys:
|
||||
|
||||
|
||||
72
doc/notes/notes-9.17.8.rst
Normal file
72
doc/notes/notes-9.17.8.rst
Normal file
@@ -0,0 +1,72 @@
|
||||
..
|
||||
Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
|
||||
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.17.8
|
||||
---------------------
|
||||
|
||||
New Features
|
||||
~~~~~~~~~~~~
|
||||
|
||||
- NSEC3 support was added to KASP. A new option for ``dnssec-policy``,
|
||||
``nsec3param``, can be used to set the desired NSEC3 parameters.
|
||||
NSEC3 salt collisions are automatically prevented during resalting.
|
||||
[GL #1620]
|
||||
|
||||
- ``dig`` output now includes the transport protocol used (UDP, TCP, or
|
||||
TLS). [GL #1816]
|
||||
|
||||
- ``dig`` can now report the DNS64 prefixes in use (``+dns64prefix``).
|
||||
This is useful when the host on which ``dig`` is run is behind an
|
||||
IPv6-only link, using DNS64/NAT64 or 464XLAT for IPv4aaS (IPv4 as a
|
||||
Service). [GL #1154]
|
||||
|
||||
Feature Changes
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
- The new networking code introduced in BIND 9.16 (netmgr) was
|
||||
overhauled in order to make it more stable, testable, and
|
||||
maintainable. [GL #2321]
|
||||
|
||||
- Earlier releases of BIND versions 9.16 and newer required the
|
||||
operating system to support load-balanced sockets in order for
|
||||
``named`` to be able to achieve high performance (by distributing
|
||||
incoming queries among multiple threads). However, the only operating
|
||||
systems currently known to support load-balanced sockets are Linux and
|
||||
FreeBSD 12, which means both UDP and TCP performance were limited to a
|
||||
single thread on other systems. As of BIND 9.17.8, ``named`` attempts
|
||||
to distribute incoming queries among multiple threads on systems which
|
||||
lack support for load-balanced sockets (except Windows). [GL #2137]
|
||||
|
||||
- The default value of ``max-recursion-queries`` was increased from 75
|
||||
to 100. Since the queries sent towards root and TLD servers are now
|
||||
included in the count (as a result of the fix for CVE-2020-8616),
|
||||
``max-recursion-queries`` has a higher chance of being exceeded by
|
||||
non-attack queries, which is the main reason for increasing its
|
||||
default value. [GL #2305]
|
||||
|
||||
- The default value of ``nocookie-udp-size`` was restored back to 4096
|
||||
bytes. Since ``max-udp-size`` is the upper bound for
|
||||
``nocookie-udp-size``, this change relieves the operator from having
|
||||
to change ``nocookie-udp-size`` together with ``max-udp-size`` in
|
||||
order to increase the default EDNS buffer size limit.
|
||||
``nocookie-udp-size`` can still be set to a value lower than
|
||||
``max-udp-size``, if desired. [GL #2250]
|
||||
|
||||
Bug Fixes
|
||||
~~~~~~~~~
|
||||
|
||||
- Handling of missing DNS COOKIE responses over UDP was tightened by
|
||||
falling back to TCP. [GL #2275]
|
||||
|
||||
- The CNAME synthesized from a DNAME was incorrectly followed when the
|
||||
QTYPE was CNAME or ANY. [GL #2280]
|
||||
|
||||
- Building with native PKCS#11 support for AEP Keyper has been broken
|
||||
since BIND 9.17.4. This has been fixed. [GL #2315]
|
||||
@@ -1,75 +0,0 @@
|
||||
..
|
||||
Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
|
||||
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.17.8
|
||||
---------------------
|
||||
|
||||
Security Fixes
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
- None.
|
||||
|
||||
Known Issues
|
||||
~~~~~~~~~~~~
|
||||
|
||||
- None.
|
||||
|
||||
New Features
|
||||
~~~~~~~~~~~~
|
||||
|
||||
- ``dig`` can now report the DNS64 prefixes in use (``+dns64prefix``).
|
||||
This is useful when the host on which ``dig`` is run is behind an
|
||||
IPv6-only link, using DNS64/NAT64 or 464XLAT for IPv4aaS (IPv4 as a
|
||||
Service). [GL #1154]
|
||||
|
||||
Removed Features
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
- None.
|
||||
|
||||
Feature Changes
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
- Add NSEC3 support for zones that manage their DNSSEC with the `dnssec-policy`
|
||||
configuration. A new option 'nsec3param' can be used to set the desired
|
||||
NSEC3 parameters, and will detect collisions when resalting. [GL #1620].
|
||||
|
||||
- Adjust the ``max-recursion-queries`` default from 75 to 100. Since the
|
||||
queries sent towards root and TLD servers are now included in the
|
||||
count (as a result of the fix for CVE-2020-8616), ``max-recursion-queries``
|
||||
has a higher chance of being exceeded by non-attack queries, which is the
|
||||
main reason for increasing its default value. [GL #2305]
|
||||
|
||||
- Restore the ``nocookie-udp-size`` default from 1232 to 4096. Normally the
|
||||
EDNS buffer size is configured by ``max-udp-size``, but this configuration
|
||||
option overrides the value, but most people don't and won't realize there's
|
||||
an extra configuration option that needs to be tweaked. By changing the
|
||||
default here, we allow the the ``max-udp-size`` to be the sole option that
|
||||
needs to be changed when operator wants to change the default EDNS buffer
|
||||
size. [GL #2250]
|
||||
|
||||
Bug Fixes
|
||||
~~~~~~~~~
|
||||
|
||||
- The synthesised CNAME from a DNAME was incorrectly followed when the QTYPE
|
||||
was CNAME or ANY. [GL #2280]
|
||||
|
||||
- Tighten handling of missing DNS COOKIE responses over UDP by
|
||||
falling back to TCP. [GL #2275]
|
||||
|
||||
- Building with native PKCS#11 support for AEP Keyper has been broken
|
||||
since BIND 9.17.4. This has been fixed. [GL #2315]
|
||||
|
||||
- The ``named`` daemon uses load-balanced sockets to increase performance by
|
||||
distributing the incoming queries among multiple threads. Currently, the only
|
||||
operating systems that support load-balanced sockets are Linux and FreeBSD 12,
|
||||
thus both UDP and TCP performance was limited to a single-thread on systems
|
||||
without load-balancing socket support. This has been fixed on all platforms
|
||||
except Windows. [GL #2137]
|
||||
@@ -11,6 +11,6 @@
|
||||
# 9.13/9.14: 1300-1499
|
||||
# 9.15/9.16: 1500-1699
|
||||
# 9.17/9.18: 1700-1899
|
||||
LIBINTERFACE = 1707
|
||||
LIBINTERFACE = 1708
|
||||
LIBREVISION = 0
|
||||
LIBAGE = 0
|
||||
|
||||
@@ -11,6 +11,6 @@
|
||||
# 9.13/9.14: 1300-1499
|
||||
# 9.15/9.16: 1500-1699
|
||||
# 9.17/9.18: 1700-1899
|
||||
LIBINTERFACE = 1706
|
||||
LIBINTERFACE = 1707
|
||||
LIBREVISION = 0
|
||||
LIBAGE = 0
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
#endif
|
||||
|
||||
#if defined(SO_REUSEPORT_LB) || (defined(SO_REUSEPORT) && defined(__linux__))
|
||||
#define HAVE_REUSEPORT_LB 1
|
||||
#define HAVE_SO_REUSEPORT_LB 1
|
||||
#endif
|
||||
|
||||
/*
|
||||
|
||||
@@ -406,7 +406,9 @@ isc_nm_listentcp(isc_nm_t *mgr, isc_nmiface_t *iface,
|
||||
isc_nmsocket_t *sock = NULL;
|
||||
sa_family_t sa_family = iface->addr.type.sa.sa_family;
|
||||
size_t children_size = 0;
|
||||
#if !HAVE_SO_REUSEPORT_LB && !defined(WIN32)
|
||||
uv_os_sock_t fd = -1;
|
||||
#endif
|
||||
|
||||
REQUIRE(VALID_NM(mgr));
|
||||
|
||||
|
||||
@@ -450,7 +450,9 @@ isc_nm_listentcpdns(isc_nm_t *mgr, isc_nmiface_t *iface,
|
||||
isc_nmsocket_t *sock = NULL;
|
||||
sa_family_t sa_family = iface->addr.type.sa.sa_family;
|
||||
size_t children_size = 0;
|
||||
#if !HAVE_SO_REUSEPORT_LB && !defined(WIN32)
|
||||
uv_os_sock_t fd = -1;
|
||||
#endif
|
||||
|
||||
REQUIRE(VALID_NM(mgr));
|
||||
|
||||
|
||||
@@ -106,7 +106,9 @@ isc_nm_listenudp(isc_nm_t *mgr, isc_nmiface_t *iface, isc_nm_recv_cb_t cb,
|
||||
isc_nmsocket_t *sock = NULL;
|
||||
sa_family_t sa_family = iface->addr.type.sa.sa_family;
|
||||
size_t children_size = 0;
|
||||
#if !HAVE_SO_REUSEPORT_LB && !defined(WIN32)
|
||||
uv_os_sock_t fd = -1;
|
||||
#endif
|
||||
|
||||
REQUIRE(VALID_NM(mgr));
|
||||
|
||||
@@ -269,7 +271,7 @@ isc__nm_async_udplisten(isc__networker_t *worker, isc__netievent_t *ev0) {
|
||||
uv_bind_flags |= UV_UDP_IPV6ONLY;
|
||||
}
|
||||
|
||||
#if HAVE_SO_REUSEPORT_LB || WIN32
|
||||
#if HAVE_SO_REUSEPORT_LB || defined(WIN32)
|
||||
r = isc_uv_udp_freebind(&sock->uv_handle.udp,
|
||||
&sock->parent->iface->addr.type.sa,
|
||||
uv_bind_flags);
|
||||
|
||||
@@ -11,6 +11,6 @@
|
||||
# 9.13/9.14: 1300-1499
|
||||
# 9.15/9.16: 1500-1699
|
||||
# 9.17/9.18: 1700-1899
|
||||
LIBINTERFACE = 1702
|
||||
LIBREVISION = 2
|
||||
LIBINTERFACE = 1703
|
||||
LIBREVISION = 0
|
||||
LIBAGE = 0
|
||||
|
||||
@@ -11,6 +11,6 @@
|
||||
# 9.13/9.14: 1300-1499
|
||||
# 9.15/9.16: 1500-1699
|
||||
# 9.17/9.18: 1700-1899
|
||||
LIBINTERFACE = 1705
|
||||
LIBINTERFACE = 1706
|
||||
LIBREVISION = 0
|
||||
LIBAGE = 0
|
||||
|
||||
@@ -1253,7 +1253,7 @@
|
||||
./doc/notes/notes-9.17.5.rst RST 2020
|
||||
./doc/notes/notes-9.17.6.rst RST 2020
|
||||
./doc/notes/notes-9.17.7.rst RST 2020
|
||||
./doc/notes/notes-current.rst RST 2020
|
||||
./doc/notes/notes-9.17.8.rst RST 2020
|
||||
./docutil/HTML_COPYRIGHT X 2001,2004,2016,2018,2019,2020
|
||||
./docutil/MAN_COPYRIGHT X 2001,2004,2016,2018,2019,2020
|
||||
./docutil/patch-db2latex-duplicate-template-bug X 2007,2018,2019,2020
|
||||
|
||||
Reference in New Issue
Block a user