2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-08-30 14:07:59 +00:00

regen master

This commit is contained in:
Tinderbox User
2017-12-16 01:09:51 +00:00
parent 5637645847
commit 9448aacadb
6 changed files with 155 additions and 1509 deletions

55
README
View File

@@ -5,13 +5,14 @@ Contents
1. Introduction 1. Introduction
2. Reporting bugs and getting help 2. Reporting bugs and getting help
3. Contributing to BIND 3. Contributing to BIND
4. BIND 9.12 features 4. BIND 9.13 features
5. Building BIND 5. Building BIND
6. Compile-time options 6. MacOS
7. Automated testing 7. Compile-time options
8. Documentation 8. Automated testing
9. Change log 9. Documentation
10. Acknowledgments 10. Change log
11. Acknowledgments
Introduction Introduction
@@ -89,39 +90,13 @@ header with "[PATCH]" so it will be easier for us to find. If your patch
introduces a new feature in BIND, please submit it to bind-suggest@isc.org introduces a new feature in BIND, please submit it to bind-suggest@isc.org
; if it fixes a bug, please submit it to bind9-bugs@isc.org. ; if it fixes a bug, please submit it to bind9-bugs@isc.org.
BIND 9.12 features BIND 9.13 features
BIND 9.12.0 is the newest development branch of BIND 9. It includes a BIND 9.13.0 is the newest development branch of BIND 9. It includes a
number of changes from BIND 9.11 and earlier releases. New features number of changes from BIND 9.12 and earlier releases. New features
include: include:
* named and related libraries have been substantially refactored for * TBD
improved query performance -- particularly on delegation heavy zones
-- and for improved readability, maintainability, and testability.
* Code implementing the name server query processing logic has been
moved into a new libns library, for easier testing and use in tools
other than named.
* Cached, validated NSEC and other records can now be used to synthesize
NXDOMAIN responses.
* The DNS Response Policy Service API (DNSRPS) is now supported.
* Setting 'max-journal-size default' now limits the size of journal
files to twice the size of the zone.
* dnstap-read -x prints a hex dump of the wire format of each logged DNS
message.
* dnstap output files can now be configured to roll automatically when
reaching a given size.
* Log file timestamps can now also be formatted in ISO 8601 (local) or
ISO 8601 (UTC) formats.
* Logging channels and dnstap output files can now be configured to use
a timestamp as the suffix when rolling to a new file.
* 'named-checkconf -l' lists zones found in named.conf.
* Added support for the EDNS Padding and Keepalive options.
* 'new-zones-directory' option sets the location where the configuration
data for zones added by rndc addzone is stored.
* The default key algorithm in rndc-confgen is now hmac-sha256.
* filter-aaaa-on-v4 and filter-aaaa-on-v6 options are now available by
default without a configure option.
* The obsolete isc-hmac-fixup command has been removed.
Building BIND Building BIND
@@ -165,6 +140,14 @@ BUILD_CPPFLAGS
BUILD_LDFLAGS BUILD_LDFLAGS
BUILD_LIBS BUILD_LIBS
MacOS
Building on MacOS assumes that the "Command Tools for Xcode" is installed.
This can be downloaded from https://developer.apple.com/download/more/ or
if you have Xcode already installed you can run "xcode-select --install".
This will add /usr/include to the system and install the compiler and
other tools so that they can be easily found.
Compile-time options Compile-time options
To see a full list of configuration options, run configure --help. To see a full list of configuration options, run configure --help.

View File

@@ -4668,13 +4668,13 @@ options {
difference set. difference set.
</p> </p>
<p><span class="command"><strong>ixfr-from-differences</strong></span> <p><span class="command"><strong>ixfr-from-differences</strong></span>
also accepts <span class="command"><strong>master</strong></span> and also accepts <span class="command"><strong>master</strong></span> (or
<span class="command"><strong>slave</strong></span> at the view and options <span class="command"><strong>primary</strong></span>) and
levels which causes <span class="command"><strong>slave</strong></span> (or <span class="command"><strong>secondary</strong></span>)
at the view and options levels, which causes
<span class="command"><strong>ixfr-from-differences</strong></span> to be enabled for <span class="command"><strong>ixfr-from-differences</strong></span> to be enabled for
all <span class="command"><strong>master</strong></span> or all primary or secondary zones, respectively.
<span class="command"><strong>slave</strong></span> zones respectively. It is off for all zones by default.
It is off by default.
</p> </p>
</dd> </dd>
<dt><span class="term"><span class="command"><strong>multi-master</strong></span></span></dt> <dt><span class="term"><span class="command"><strong>multi-master</strong></span></span></dt>
@@ -9219,7 +9219,7 @@ view "external" {
Statement Grammar</h3></div></div></div> Statement Grammar</h3></div></div></div>
<pre class="programlisting"><span class="command"><strong>zone</strong></span> <em class="replaceable"><code>zone_name</code></em> [ <em class="replaceable"><code>class</code></em> ] <span class="command"><strong>{</strong></span> <pre class="programlisting"><span class="command"><strong>zone</strong></span> <em class="replaceable"><code>zone_name</code></em> [ <em class="replaceable"><code>class</code></em> ] <span class="command"><strong>{</strong></span>
<span class="command"><strong>type</strong></span> master ; <span class="command"><strong>type</strong></span> ( master | primary );
[ <span class="command"><strong>allow-query</strong></span> <span class="command"><strong>{</strong></span> <em class="replaceable"><code>address_match_list</code></em> <span class="command"><strong>}</strong></span> ; ] [ <span class="command"><strong>allow-query</strong></span> <span class="command"><strong>{</strong></span> <em class="replaceable"><code>address_match_list</code></em> <span class="command"><strong>}</strong></span> ; ]
[ <span class="command"><strong>allow-query-on</strong></span> <span class="command"><strong>{</strong></span> <em class="replaceable"><code>address_match_list</code></em> <span class="command"><strong>}</strong></span> ; ] [ <span class="command"><strong>allow-query-on</strong></span> <span class="command"><strong>{</strong></span> <em class="replaceable"><code>address_match_list</code></em> <span class="command"><strong>}</strong></span> ; ]
[ <span class="command"><strong>allow-transfer</strong></span> <span class="command"><strong>{</strong></span> <em class="replaceable"><code>address_match_list</code></em> <span class="command"><strong>}</strong></span> ; ] [ <span class="command"><strong>allow-transfer</strong></span> <span class="command"><strong>{</strong></span> <em class="replaceable"><code>address_match_list</code></em> <span class="command"><strong>}</strong></span> ; ]
@@ -9278,7 +9278,7 @@ view "external" {
<span class="command"><strong>}</strong></span> ; <span class="command"><strong>}</strong></span> ;
<span class="command"><strong>zone</strong></span> <em class="replaceable"><code>zone_name</code></em> [ <em class="replaceable"><code>class</code></em> ] <span class="command"><strong>{</strong></span> <span class="command"><strong>zone</strong></span> <em class="replaceable"><code>zone_name</code></em> [ <em class="replaceable"><code>class</code></em> ] <span class="command"><strong>{</strong></span>
<span class="command"><strong>type</strong></span> slave ; <span class="command"><strong>type</strong></span> (slave | secondary);
[ <span class="command"><strong>allow-notify</strong></span> <span class="command"><strong>{</strong></span> <em class="replaceable"><code>address_match_list</code></em> <span class="command"><strong>}</strong></span> ; ] [ <span class="command"><strong>allow-notify</strong></span> <span class="command"><strong>{</strong></span> <em class="replaceable"><code>address_match_list</code></em> <span class="command"><strong>}</strong></span> ; ]
[ <span class="command"><strong>allow-query</strong></span> <span class="command"><strong>{</strong></span> <em class="replaceable"><code>address_match_list</code></em> <span class="command"><strong>}</strong></span> ; ] [ <span class="command"><strong>allow-query</strong></span> <span class="command"><strong>{</strong></span> <em class="replaceable"><code>address_match_list</code></em> <span class="command"><strong>}</strong></span> ; ]
[ <span class="command"><strong>allow-query-on</strong></span> <span class="command"><strong>{</strong></span> <em class="replaceable"><code>address_match_list</code></em> <span class="command"><strong>}</strong></span> ; ] [ <span class="command"><strong>allow-query-on</strong></span> <span class="command"><strong>{</strong></span> <em class="replaceable"><code>address_match_list</code></em> <span class="command"><strong>}</strong></span> ; ]
@@ -9442,10 +9442,14 @@ view "external" {
The <span class="command"><strong>type</strong></span> keyword is required The <span class="command"><strong>type</strong></span> keyword is required
for the <span class="command"><strong>zone</strong></span> configuration unless for the <span class="command"><strong>zone</strong></span> configuration unless
it is an <span class="command"><strong>in-view</strong></span> configuration. Its it is an <span class="command"><strong>in-view</strong></span> configuration. Its
acceptable values include: <code class="varname">delegation-only</code>, acceptable values include:
<code class="varname">forward</code>, <code class="varname">hint</code>, <code class="varname">master</code> (or <code class="varname">primary</code>),
<code class="varname">master</code>, <code class="varname">redirect</code>, <code class="varname">slave</code> (or <code class="varname">secondary</code>),
<code class="varname">slave</code>, <code class="varname">static-stub</code>, <code class="varname">delegation-only</code>,
<code class="varname">forward</code>,
<code class="varname">hint</code>,
<code class="varname">redirect</code>,
<code class="varname">static-stub</code>,
and <code class="varname">stub</code>. and <code class="varname">stub</code>.
</p> </p>
@@ -9466,8 +9470,8 @@ view "external" {
<p> <p>
The server has a master copy of the data The server has a master copy of the data
for the zone and will be able to provide authoritative for the zone and will be able to provide authoritative
answers for answers for it. Type <code class="varname">primary</code> is
it. a synonym for <code class="varname">master</code>.
</p> </p>
</td> </td>
</tr> </tr>
@@ -9480,7 +9484,9 @@ view "external" {
<td> <td>
<p> <p>
A slave zone is a replica of a master A slave zone is a replica of a master
zone. The <span class="command"><strong>masters</strong></span> list zone. Type <code class="varname">secondary</code> is a
synonym for <code class="varname">slave</code>.
The <span class="command"><strong>masters</strong></span> list
specifies one or more IP addresses specifies one or more IP addresses
of master servers that the slave contacts to update of master servers that the slave contacts to update
its copy of the zone. its copy of the zone.

View File

@@ -40,14 +40,11 @@
<dd><dl> <dd><dl>
<dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes_intro">Introduction</a></span></dt> <dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes_intro">Introduction</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes_download">Download</a></span></dt> <dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes_download">Download</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes_license">License Change</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch09.html#win_support">Legacy Windows No Longer Supported</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes_security">Security Fixes</a></span></dt> <dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes_security">Security Fixes</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes_features">New Features</a></span></dt> <dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes_features">New Features</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes_removed">Removed Features</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch09.html#proto_changes">Protocol Changes</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes_changes">Feature Changes</a></span></dt> <dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes_changes">Feature Changes</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes_bugs">Bug Fixes</a></span></dt> <dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes_bugs">Bug Fixes</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes_license">License</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch09.html#end_of_life">End of Life</a></span></dt> <dt><span class="section"><a href="Bv9ARM.ch09.html#end_of_life">End of Life</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes_thanks">Thank You</a></span></dt> <dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes_thanks">Thank You</a></span></dt>
</dl></dd> </dl></dd>
@@ -61,10 +58,10 @@
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="relnotes_intro"></a>Introduction</h3></div></div></div> <a name="relnotes_intro"></a>Introduction</h3></div></div></div>
<p> <p>
BIND 9.12.0 is a new feature release of BIND, still under development. BIND 9.13 is unstable development release of BIND.
This document summarizes new features and functional changes that This document summarizes new features and functional changes that
have been introduced on this branch. With each development have been introduced on this branch. With each development
release leading up to the final BIND 9.12.0 release, this document release leading up to the stable BIND 9.14 release, this document
will be updated with additional features added and bugs fixed. will be updated with additional features added and bugs fixed.
</p> </p>
</div> </div>
@@ -83,46 +80,6 @@
<div class="section"> <div class="section">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="relnotes_license"></a>License Change</h3></div></div></div>
<p>
With the release of BIND 9.11.0, ISC changed to the open
source license for BIND from the ISC license to the Mozilla
Public License (MPL 2.0).
</p>
<p>
The MPL-2.0 license requires that if you make changes to
licensed software (e.g. BIND) and distribute them outside
your organization, that you publish those changes under that
same license. It does not require that you publish or disclose
anything other than the changes you made to our software.
</p>
<p>
This requirement will not affect anyone who is using BIND, with
or without modifications, without redistributing it, nor anyone
redistributing it without changes. Therefore, this change will be
without consequence for most individuals and organizations who are
using BIND.
</p>
<p>
Those unsure whether or not the license change affects their
use of BIND, or who wish to discuss how to comply with the
license may contact ISC at <a class="link" href="https://www.isc.org/mission/contact/" target="_top">
https://www.isc.org/mission/contact/</a>.
</p>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="win_support"></a>Legacy Windows No Longer Supported</h3></div></div></div>
<p>
As of BIND 9.11.2, Windows XP and Windows 2003 are no longer supported
platforms for BIND; "XP" binaries are no longer available for download
from ISC.
</p>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes_security"></a>Security Fixes</h3></div></div></div> <a name="relnotes_security"></a>Security Fixes</h3></div></div></div>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"> <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
<p> <p>
@@ -134,712 +91,81 @@
<div class="section"> <div class="section">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="relnotes_features"></a>New Features</h3></div></div></div> <a name="relnotes_features"></a>New Features</h3></div></div></div>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
<li class="listitem">
<p> <p>
Many aspects of <span class="command"><strong>named</strong></span> have been modified None.
to improve query performance, and in particular, performance
for delegation-heavy zones:
</p> </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; "> </li></ul></div>
<li class="listitem">
<p>
The additional cache ("acache") was found not to
significantly improve performance and has been removed.
As a result, the <span class="command"><strong>acache-enable</strong></span> and
<span class="command"><strong>acache-cleaning-interval</strong></span> options no longer
have any effect. For backwards compatibility, BIND will
accept their presence in a configuration file, but
will log a warning.
</p>
</li>
<li class="listitem">
<p>
In place of the acache, <span class="command"><strong>named</strong></span> can now use
a glue cache to speed up retrieval of glue records when sending
delegation responses. Unlike acache, this feature is on by
default; use <span class="command"><strong>glue-cache no;</strong></span> to disable it.
</p>
</li>
<li class="listitem">
<p>
<span class="command"><strong>minimal-responses</strong></span> is now set
to <code class="literal">no-auth-recursive</code> by default.
</p>
</li>
<li class="listitem">
<p>
The <span class="command"><strong>additional-from-cache</strong></span>
and <span class="command"><strong>additional-from-auth</strong></span> options no longer
have any effect. <span class="command"><strong>named</strong></span> will log a warning
if they are set.
</p>
</li>
<li class="listitem">
<p>
Several functions have been refactored to improve
performance, including name compression, owner name
case restoration, hashing, and buffers.
</p>
</li>
<li class="listitem">
<p>
When built with default <span class="command"><strong>configure</strong></span> options,
<span class="command"><strong>named</strong></span> no longer fills memory with tag
values when allocating or freeing it. This improves performance,
but makes it more difficult to debug certain memory-related
errors. The default is reversed if building with developer
options. <span class="command"><strong>named -M fill</strong></span> or
<span class="command"><strong>named -M nofill</strong></span> will set the behavior
accordingly regardless of build options.
</p>
</li>
</ul></div>
</li>
<li class="listitem">
<p>
Several areas of code have been refactored for improved
readability, maintainability, and testability:
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; ">
<li class="listitem">
<p>
The <span class="command"><strong>named</strong></span> query logic implemented in
<span class="command"><strong>query_find()</strong></span> has been split into
smaller functions with a context structure to maintain state
between them, and extensive comments have been added.
[RT #43929]
</p>
</li>
<li class="listitem">
<p>
Similarly the iterative query logic implemented in
<span class="command"><strong>resquery_response()</strong></span> function has been
split into smaller functions and comments added. [RT #45362]
</p>
</li>
</ul></div>
</li>
<li class="listitem">
<p>
Code implementing name server query processing has been moved
from <span class="command"><strong>named</strong></span> to an external library,
<span class="command"><strong>libns</strong></span>. This will make it easier to
write unit tests for the code, or to link it into new tools.
[RT #45186]
</p>
</li>
<li class="listitem">
<p>
<span class="command"><strong>named</strong></span> can now synthesize negative responses
(NXDOMAIN, NODATA, or wildcard answers) from cached DNSSEC-verified
records that were returned in negative or wildcard responses from
authoritative servers.
</p>
<p>
This will reduce query loads on authoritative servers for signed
domains: when existing cached records can be used by the resolver
to determine that a name does not exist in the authorittive domain,
no query needs to be sent. Reducing the number of iterative queries
should also improve resolver performance.
</p>
<p>
This behavior is controlled by the new
<code class="filename">named.conf</code> option
<span class="command"><strong>synth-from-dnssec</strong></span>. It is enabled by
default.
</p>
<p>
Note: this currently only works for zones signed using NSEC.
Support for zones signed using NSEC3 (without opt-out) is
planned for the future.
</p>
<p>
Thanks to APNIC for sponsoring this work.
</p>
</li>
<li class="listitem">
<p>
When acting as a recursive resolver, <span class="command"><strong>named</strong></span>
can now continue returning answers whose TTLs have expired
when the authoritative server is under attack and unable to
respond. This is controlled by the
<span class="command"><strong>stale-answer-enable</strong></span>,
<span class="command"><strong>stale-answer-ttl</strong></span> and
<span class="command"><strong>max-stale-ttl</strong></span> options. [RT #44790]
</p>
</li>
<li class="listitem">
<p>
The DNS Response Policy Service (DNSRPS) API, a mechanism to
allow <span class="command"><strong>named</strong></span> to use an external response policy
provider, is now supported. (One example of such a provider is
"FastRPZ" from Farsight Security, Inc.) This allows the same
types of policy filtering as standard RPZ, but can reduce the
workload for <span class="command"><strong>named</strong></span>, particularly when using
large and frequently-updated policy zones. It also enables
<span class="command"><strong>named</strong></span> to share response policy providers
with other DNS implementations such as Unbound.
</p>
<p>
This feature is avaiable if BIND is built with
<span class="command"><strong>configure --enable-dnsrps</strong></span>, if a DNSRPS
provider is installed, and if <span class="command"><strong>dnsrps-enable</strong></span>
is set to "yes" in <code class="filename">named.conf</code>. Standard
built-in RPZ is used otherwise.
</p>
<p>
Thanks to Vernon Schryver and Farsight Security for the
contribution. [RT #43376]
</p>
</li>
<li class="listitem">
<p>
Setting <span class="command"><strong>max-journal-size</strong></span> to
<code class="literal">default</code> limits journal sizes to twice the
size of the zone contents. This can be overridden by setting
<span class="command"><strong>max-journal-size</strong></span> to <code class="literal">unlimited</code>
or to an explicit value up to 2G. Thanks to Tony Finch for
the contribution. [RT #38324]
</p>
</li>
<li class="listitem">
<p>
<span class="command"><strong>dnstap</strong></span> logfiles can now be configured to
automatically roll when they reach a specified size. If
<span class="command"><strong>dnstap-output</strong></span> is configured with mode
<code class="literal">file</code>, then it can take optional
<span class="command"><strong>size</strong></span> and <span class="command"><strong>versions</strong></span>
key-value arguments to set the logfile rolling parameters.
(These have the same semantics as the corresponding
options in a <span class="command"><strong>logging</strong></span> channel statement.)
[RT #44502]
</p>
</li>
<li class="listitem">
<p>
Logging channels and <span class="command"><strong>dnstap-output</strong></span> files can
now be configured with a <span class="command"><strong>suffix</strong></span> option,
set to either <code class="literal">increment</code> or
<code class="literal">timestamp</code>, indicating whether log files
should be given incrementing suffixes when they roll
over (e.g., <code class="filename">logfile.0</code>,
<code class="filename">.1</code>, <code class="filename">.2</code>, etc)
or suffixes indicating the time of the roll. The default
is <code class="literal">increment</code>. [RT #42838]
</p>
</li>
<li class="listitem">
<p>
The <span class="command"><strong>print-time</strong></span> option in the
<span class="command"><strong>logging</strong></span> configuration can now take arguments
<strong class="userinput"><code>local</code></strong>, <strong class="userinput"><code>iso8601</code></strong> or
<strong class="userinput"><code>iso8601-utc</code></strong> to indicate the format in
which the date and time should be logged. For backward
compatibility, <strong class="userinput"><code>yes</code></strong> is a synonym for
<strong class="userinput"><code>local</code></strong>. [RT #42585]
</p>
</li>
<li class="listitem">
<p>
The new <span class="command"><strong>dnssec-cds</strong></span> command generates a new DS
set to place in a parent zone, based on the contents of a child
zone's validated CDS or CDNSKEY records. It can produce a
<code class="filename">dsset</code> file suitable for input to
<span class="command"><strong>dnssec-signzone</strong></span>, or a series of
<span class="command"><strong>nsupdate</strong></span> commands to update the parent zone
via dynamic DNS. Thanks to Tony Finch for the contribution.
[RT #46090]
</p>
</li>
<li class="listitem">
<p>
<span class="command"><strong>nsupdate</strong></span> and <span class="command"><strong>rndc</strong></span> now accept
command line options <span class="command"><strong>-4</strong></span> and <span class="command"><strong>-6</strong></span>
which force using only IPv4 or only IPv6, respectively. [RT #45632]
</p>
</li>
<li class="listitem">
<p>
<span class="command"><strong>nsec3hash -r</strong></span> ("rdata order") takes arguments
in the same order as they appear in NSEC3 or NSEC3PARAM records.
This makes it easier to generate an NSEC3 hash using values cut
and pasted from an existing record. Thanks to Tony Finch for
the contribution. [RT #45183]
</p>
</li>
<li class="listitem">
<p>
The <span class="command"><strong>new-zones-directory</strong></span> option allows
<span class="command"><strong>named</strong></span> to store configuration parameters
for zones added via <span class="command"><strong>rndc addzone</strong></span> in a
location other than the working directory. Thanks to Petr
Men&#353;<EFBFBD>k of Red Hat for the contribution.
[RT #44853]
</p>
</li>
<li class="listitem">
<p>
The <span class="command"><strong>dnstap-read -x</strong></span> option prints a hex
dump of the wire format DNS message encapsulated in each
<span class="command"><strong>dnstap</strong></span> log entry. [RT #44816]
</p>
</li>
<li class="listitem">
<p>
The <span class="command"><strong>host -A</strong></span> option returns most
records for a name, but omits types RRSIG, NSEC and NSEC3.
</p>
</li>
<li class="listitem">
<p>
<span class="command"><strong>dig +ednsopt</strong></span> now accepts the names
for EDNS options in addition to numeric values. For example,
an EDNS Client-Subnet option could be sent using
<span class="command"><strong>dig +ednsopt=ecs:...</strong></span>. Thanks to
John Worley of Secure64 for the contribution. [RT #44461]
</p>
</li>
<li class="listitem">
<p>
Added support for the EDNS TCP Keepalive option (RFC 7828);
this allows negotiation of longer-lived TCP sessions
to reduce the overhead of setting up TCP for individual
queries. [RT #42126]
</p>
</li>
<li class="listitem">
<p>
Added support for the EDNS Padding option (RFC 7830),
which obfuscates packet size analysis when DNS queries
are sent over an encrypted channel. [RT #42094]
</p>
</li>
<li class="listitem">
<p>
<span class="command"><strong>rndc</strong></span> commands which refer to zone names
can now reference a zone of type <span class="command"><strong>redirect</strong></span>
by using the special zone name "-redirect". (Previously this
was not possible because <span class="command"><strong>redirect</strong></span> zones
always have the name ".", which can be ambiguous.)
</p>
<p>
In the event you need to manipulate a zone actually
called "-redirect", use a trailing dot: "-redirect."
</p>
<p>
Note: This change does not appply to the
<span class="command"><strong>rndc addzone</strong></span> or
<span class="command"><strong>rndc modzone</strong></span> commands.
</p>
</li>
<li class="listitem">
<p>
<span class="command"><strong>named-checkconf -l</strong></span> lists the zones found
in <code class="filename">named.conf</code>. [RT #43154]
</p>
</li>
<li class="listitem">
<p>
Query logging now includes the ECS option, if one was
present in the query, in the format
"[ECS <em class="replaceable"><code>address/source/scope</code></em>]".
</p>
</li>
<li class="listitem">
<p>
By default, BIND now uses the random number generation functions
in the cryptographic library (i.e., OpenSSL or a PKCS#11
provider) as a source of high-quality randomness rather than
<code class="filename">/dev/random</code>. This is suitable for virtual
machine environments, which may have limited entropy pools and
lack hardware random number generators.
</p>
<p>
This can be overridden by specifying another entropy source via
the <span class="command"><strong>random-device</strong></span> option in
<code class="filename">named.conf</code>, or via the <span class="command"><strong>-r</strong></span>
command line option. However, for functions requiring full
cryptographic strength, such as DNSSEC key generation, this
<span class="emphasis"><em>cannot</em></span> be overridden. In particular, the
<span class="command"><strong>-r</strong></span> command line option no longer has any
effect on <span class="command"><strong>dnssec-keygen</strong></span>.
</p>
<p>
This can be disabled by building with
<span class="command"><strong>configure --disable-crypto-rand</strong></span>, in which
case <code class="filename">/dev/random</code> will be the default
entropy source. [RT #31459] [RT #46047]
</p>
</li>
<li class="listitem">
<p>
<span class="command"><strong>rndc managed-keys destroy</strong></span> shuts down all
RFC 5011 DNSSEC trust anchor maintenance, and deletes any
existing managed keys database. If immediately followed by
<span class="command"><strong>rndc reconfig</strong></span>, this will reinitialize
key maintenance just as if the server was being started for
the first time.
</p>
<p>
This is intended for testing purposes, but can be used -- with
extreme caution -- as a brute-force repair for unrecoverable
problems with a managed keys database, to jumpstart the key
acquisition process if <code class="filename">bind.keys</code> is updated,
etc. [RT #32456]
</p>
</li>
<li class="listitem">
<p>
<span class="command"><strong>dnssec-signzone -S</strong></span> can now add or remove
synchronization records (CDS and CDNSKEY) based on key metadata
set by the <span class="command"><strong>-Psync</strong></span> and <span class="command"><strong>-Dsync</strong></span>
options to <span class="command"><strong>dnssec-keygen</strong></span>,
<span class="command"><strong>dnssec-settime</strong></span>, etc. [RT #46149]
</p>
</li>
<li class="listitem">
<p>
<span class="command"><strong>dnssec-checkds -s</strong></span> specifies a file from
which to read a DS set rather than querying the parent zone.
This can be used to check zone correctness prior to
publication. Thanks to Niall O'Reilly [RT #44667]
</p>
</li>
</ul></div>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes_removed"></a>Removed Features</h3></div></div></div>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
<p>
The ISC DNSSEC Lookaside Validation (DLV) service has
been shut down; all DLV records in the dlv.isc.org zone
have been removed. References to the service have been
removed from BIND documentation. Lookaside validation
is no longer used by default by <span class="command"><strong>delv</strong></span>.
The DLV key has been removed from <code class="filename">bind.keys</code>.
Setting <span class="command"><strong>dnssec-lookaside</strong></span> to
<span class="command"><strong>auto</strong></span> or to use dlv.isc.org as a trust
anchor results in a warning being issued.
</p>
</li>
<li class="listitem">
<p>
As noted above, the <span class="command"><strong>acache-enable</strong></span>,
<span class="command"><strong>acache-cleaning-interval</strong></span>,
<span class="command"><strong>additional-from-cache</strong></span> and
<span class="command"><strong>additional-from-auth</strong></span> options are no longer
effective and <span class="command"><strong>named</strong></span> will log a warning if
they are set.
</p>
</li>
<li class="listitem">
<p>
The use of <span class="command"><strong>dnssec-keygen</strong></span> to generate
HMAC keys for TSIG authentication has been deprecated in favor
of <span class="command"><strong>tsig-keygen</strong></span>. If the algorithms HMAC-MD5,
HMAC-SHA1, HMAC-SHA224, HMAC-SHA256, HMAC-SHA384, or
HMAC-SHA512 are specified, <span class="command"><strong>dnssec-keygen</strong></span>
will print a warning message. These algorithms will be
removed from <span class="command"><strong>dnssec-keygen</strong></span> entirely in
a future release. [RT #42272]
</p>
</li>
<li class="listitem">
<p>
The use of HMAC-MD5 for RNDC keys is no longer recommended.
The default algorithm generated by <span class="command"><strong>rndc-confgen</strong></span>
is now HMAC-SHA256. [RT #42272]
</p>
</li>
<li class="listitem">
<p>
The <span class="command"><strong>isc-hmac-fixup</strong></span> command, which was created
to address an interoperability problem in TSIG keys between
early versions of BIND and other DNS implmentations, is now
obsolete and has been removed. [RT #46411]
</p>
</li>
</ul></div>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="proto_changes"></a>Protocol Changes</h3></div></div></div>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
<p>
BIND can now use the Ed25519 and Ed448 Edwards Curve DNSSEC
signing algorithms described in RFC 8080. Note, however, that
these algorithms must be supported in OpenSSL;
currently they are only available in the development branch
of OpenSSL at
<a class="link" href="https://github.com/openssl/openssl" target="_top">
https://github.com/openssl/openssl</a>.
[RT #44696]
</p>
</li>
<li class="listitem">
<p>
When parsing DNS messages, EDNS KEY TAG options are checked
for correctness. When printing messages (for example, in
<span class="command"><strong>dig</strong></span>), EDNS KEY TAG options are printed
in readable format.
</p>
</li>
</ul></div>
</div> </div>
<div class="section"> <div class="section">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="relnotes_changes"></a>Feature Changes</h3></div></div></div> <a name="relnotes_changes"></a>Feature Changes</h3></div></div></div>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
<li class="listitem">
<p> <p>
The ISC DNSSEC Lookaside Validation (DLV) service has been shut Zone types <span class="command"><strong>primary</strong></span> and
down; all DLV records in the dlv.isc.org zone have been removed. <span class="command"><strong>secondary</strong></span> are now available as synonyms for
References to the service have been removed from BIND documentation. <span class="command"><strong>master</strong></span> and <span class="command"><strong>slave</strong></span>,
Lookaside validation is no longer used by default by respectively, in <code class="filename">named.conf</code>.
<span class="command"><strong>delv</strong></span>. The DLV key has been removed from
<code class="filename">bind.keys</code>. Setting
<span class="command"><strong>dnssec-lookaside</strong></span> to
<span class="command"><strong>auto</strong></span> or to use dlv.isc.org as a trust
anchor is now a fatal configuration error. [RT #46155]
</p> </p>
</li> </li></ul></div>
<li class="listitem">
<p>
<span class="command"><strong>named</strong></span> will no longer start or accept
reconfiguration if the working directory (specified by the
<span class="command"><strong>directory</strong></span> option) or the managed-keys
directory (specified by <span class="command"><strong>managed-keys-directory</strong></span>
are not writable by the effective user ID. [RT #46077]
</p>
</li>
<li class="listitem">
<p>
Initializing keys specified in a <span class="command"><strong>managed-keys</strong></span>
statement or by <span class="command"><strong>dnssec-validation auto;</strong></span> are
now tagged as "initializing", until they have been updated by a
key refresh query. If key maintenance fails to initialize,
this will be visible when running <span class="command"><strong>rndc secroots</strong></span>.
[RT #46267]
</p>
</li>
<li class="listitem">
<p>
Previously, <span class="command"><strong>update-policy local;</strong></span> accepted
updates from any source so long as they were signed by the
locally-generated session key. This has been further restricted;
updates are now only accepted from locally configured addresses.
[RT #45492]
</p>
</li>
<li class="listitem">
<p>
The lightweight resolver daemon and library (<span class="command"><strong>lwresd</strong></span>
and <span class="command"><strong>liblwres</strong></span>) have been removed. [RT #45186]
</p>
</li>
<li class="listitem">
<p>
<span class="command"><strong>dnssec-keygen</strong></span> no longer has default
algorithm settings. It is necessary to explicitly specify the
algorithm on the command line with the <span class="command"><strong>-a</strong></span> option
when generating keys. This may cause errors with existing signing
scripts if they rely on current defaults. The intent is to
reduce the long-term cost of transitioning to newer algorithms in
the event of RSASHA1 being deprecated. [RT #44755]
</p>
</li>
<li class="listitem">
<p>
<span class="command"><strong>dig +sigchase</strong></span> and related options
<span class="command"><strong>+trusted-keys</strong></span> and <span class="command"><strong>+topdown</strong></span>
have been removed. <span class="command"><strong>delv</strong></span> is now the recommended
command for looking up records with DNSSEC validation.
[RT #42793]
</p>
</li>
<li class="listitem">
<p>
The Response Policy Zone (RPZ) implementation has been
substantially refactored: updates to the RPZ summary
database are no longer directly performed by the zone
database but by a separate function that is called when
a policy zone is updated. This improves both performance
and reliability when policy zones receive frequent updates.
Summary database updates can be rate-limited by using the
<span class="command"><strong>min-update-interval</strong></span> option in a
<span class="command"><strong>response-policy</strong></span> statement. [RT #43449]
</p>
</li>
<li class="listitem">
<p>
<span class="command"><strong>dnstap</strong></span> now stores both the local and remote
addresses for all messages, instead of only the remote address.
The default output format for <span class="command"><strong>dnstap-read</strong></span> has
been updated to include these addresses, with the initiating
address first and the responding address second, separated by
"-&gt;" or "&lt;-" to indicate in which direction the message
was sent. [RT #43595]
</p>
</li>
<li class="listitem">
<p>
Expanded and improved the YAML output from
<span class="command"><strong>dnstap-read -y</strong></span>: it now includes packet
size and a detailed breakdown of message contents.
[RT #43622] [RT #43642]
</p>
</li>
<li class="listitem">
<p>
Threads in <span class="command"><strong>named</strong></span> are now set to human-readable
names to assist debugging on operating systems that support that.
Threads will have names such as "isc-timer", "isc-sockmgr",
"isc-worker0001", and so on. This will affect the reporting of
subsidiary thread names in <span class="command"><strong>ps</strong></span> and
<span class="command"><strong>top</strong></span>, but not the main thread. [RT #43234]
</p>
</li>
<li class="listitem">
<p>
If an ACL is specified with an address prefix in which the
prefix length is longer than the address portion (for example,
192.0.2.1/8), it will now be treated as a fatal error during
configuration. [RT #43367]
</p>
</li>
<li class="listitem">
<p>
<span class="command"><strong>dig</strong></span> now warns about .local queries which are
reserved for Multicast DNS. [RT #44783]
</p>
</li>
<li class="listitem">
<p>
The view associated with the query is now logged unless it
it is "_default/IN" or "_dnsclient/IN" when logging DNSSEC
validator messages.
</p>
</li>
<li class="listitem">
<p>
When <span class="command"><strong>named</strong></span> was reconfigured, failure of some
zones to load correctly could leave the system in an inconsistent
state; while generally harmless, this could lead to a crash later
when using <span class="command"><strong>rndc addzone</strong></span>. Reconfiguration changes
are now fully rolled back in the event of failure. [RT #45841]
</p>
</li>
<li class="listitem">
<p>
Multiple <span class="command"><strong>cookie-secret</strong></span> clauses are now
supported. The first <span class="command"><strong>cookie-secret</strong></span> in
<code class="filename">named.conf</code> is used to generate new
server cookies. Any others are used to accept old server
cookies or those generated by other servers using the
matching <span class="command"><strong>cookie-secret</strong></span>.
</p>
</li>
<li class="listitem">
<p>
A new statistics counter has been added to track prefetch
queries. [RT #45847]
</p>
</li>
<li class="listitem">
<p>
A new statistics counter has been added to track priming
queries. [RT #46313]
</p>
</li>
<li class="listitem">
<p>
The <span class="command"><strong>dnssec-signzone -x</strong></span> flag and the
<span class="command"><strong>dnssec-dnskey-kskonly</strong></span> option in
<span class="command"><strong>named.conf</strong></span>, which suppress the use of
the ZSK when signing DNSKEY records, now also apply to
CDNSKEY and CDS records. Thanks to Tony Finch for the
contribution. [RT #45689]
</p>
</li>
<li class="listitem">
<p>
Trust anchor telemetry messages, as specified by
RFC 8145, are now logged to the
<span class="command"><strong>trust-anchor-telemetry</strong></span> logging
catagory.
</p>
</li>
<li class="listitem">
<p>
The <span class="command"><strong>filter-aaaa-on-v4</strong></span> and
<span class="command"><strong>filter-aaaa-on-v6</strong></span> options are no longer
conditionally compiled in <span class="command"><strong>named</strong></span>. [RT #46340]
</p>
</li>
</ul></div>
</div> </div>
<div class="section"> <div class="section">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="relnotes_bugs"></a>Bug Fixes</h3></div></div></div> <a name="relnotes_bugs"></a>Bug Fixes</h3></div></div></div>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
<li class="listitem">
<p> <p>
Zones created with <span class="command"><strong>rndc addzone</strong></span> could None.
temporarily fail to inherit the <span class="command"><strong>allow-transfer</strong></span>
ACL set in the <span class="command"><strong>options</strong></span> section of
<code class="filename">named.conf</code>. [RT #46603]
</p> </p>
</li> </li></ul></div>
<li class="listitem"> </div>
<p>
The introduction of <span class="command"><strong>libns</strong></span> caused a bug <div class="section">
in which TCP client objects were not recycled after use, <div class="titlepage"><div><div><h3 class="title">
leading to unconstrained memory growth. [RT #46029] <a name="relnotes_license"></a>License</h3></div></div></div>
</p> <p>
</li> BIND is open source software licenced under the terms of the Mozilla
<li class="listitem"> Public License, version 2.0 (see the <code class="filename">LICENSE</code>
<p> file for the full text).
Some header files included &lt;isc/util.h&gt; incorrectly as </p>
it pollutes with namespace with non ISC_ macros and this should <p>
only be done by explicitly including &lt;isc/util.h&gt;. This The license requires that if you make changes to BIND and distribute
has been corrected. Some code may depend on &lt;isc/util.h&gt; them outside your organization, those changes must be published under
being implicitly included via other header files. Such the same license. It does not require that you publish or disclose
code should explicitly include &lt;isc/util.h&gt;. anything other than the changes you have made to our software. This
</p> requirement does not affect anyone who is using BIND, with or without
</li> modifications, without redistributing it, nor anyone redistributing
<li class="listitem"> BIND without changes.
<p> </p>
<span class="command"><strong>named</strong></span> failed to properly determine whether <p>
there were active KSK and ZSK keys for an algorithm when Those wishing to discuss license compliance may contact ISC at
<span class="command"><strong>update-check-ksk</strong></span> was true (which is the <a class="link" href="https://www.isc.org/mission/contact/" target="_top">
default setting). This could leave records unsigned https://www.isc.org/mission/contact/</a>.
when rolling keys. [RT #46743] [RT #46754] [RT #46774] </p>
</p>
</li>
</ul></div>
</div> </div>
<div class="section"> <div class="section">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="end_of_life"></a>End of Life</h3></div></div></div> <a name="end_of_life"></a>End of Life</h3></div></div></div>
<p> <p>
The end of life for BIND 9.12 is yet to be determined but BIND 9.13 is an unstable development branch. When its development
will not be before BIND 9.14.0 has been released for 6 months. is complete, it will be renamed to BIND 9.14, which will be a
stable branch.
</p>
<p>
The end of life date for BIND 9.14 has not yet been determined.
For those needing long term support, the current Extended Support
Version (ESV) is BIND 9.11, which will be supported until December
2021. See
<a class="link" href="https://www.isc.org/downloads/software-support-policy/" target="_top">https://www.isc.org/downloads/software-support-policy/</a> <a class="link" href="https://www.isc.org/downloads/software-support-policy/" target="_top">https://www.isc.org/downloads/software-support-policy/</a>
for details of ISC's software support policy.
</p> </p>
</div> </div>
<div class="section"> <div class="section">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="relnotes_thanks"></a>Thank You</h3></div></div></div> <a name="relnotes_thanks"></a>Thank You</h3></div></div></div>
<p> <p>
Thank you to everyone who assisted us in making this release possible. Thank you to everyone who assisted us in making this release possible.
If you would like to contribute to ISC to assist us in continuing to If you would like to contribute to ISC to assist us in continuing to

View File

@@ -240,14 +240,11 @@
<dd><dl> <dd><dl>
<dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes_intro">Introduction</a></span></dt> <dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes_intro">Introduction</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes_download">Download</a></span></dt> <dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes_download">Download</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes_license">License Change</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch09.html#win_support">Legacy Windows No Longer Supported</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes_security">Security Fixes</a></span></dt> <dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes_security">Security Fixes</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes_features">New Features</a></span></dt> <dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes_features">New Features</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes_removed">Removed Features</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch09.html#proto_changes">Protocol Changes</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes_changes">Feature Changes</a></span></dt> <dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes_changes">Feature Changes</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes_bugs">Bug Fixes</a></span></dt> <dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes_bugs">Bug Fixes</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes_license">License</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch09.html#end_of_life">End of Life</a></span></dt> <dt><span class="section"><a href="Bv9ARM.ch09.html#end_of_life">End of Life</a></span></dt>
<dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes_thanks">Thank You</a></span></dt> <dt><span class="section"><a href="Bv9ARM.ch09.html#relnotes_thanks">Thank You</a></span></dt>
</dl></dd> </dl></dd>

View File

@@ -21,10 +21,10 @@
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="relnotes_intro"></a>Introduction</h3></div></div></div> <a name="relnotes_intro"></a>Introduction</h3></div></div></div>
<p> <p>
BIND 9.12.0 is a new feature release of BIND, still under development. BIND 9.13 is unstable development release of BIND.
This document summarizes new features and functional changes that This document summarizes new features and functional changes that
have been introduced on this branch. With each development have been introduced on this branch. With each development
release leading up to the final BIND 9.12.0 release, this document release leading up to the stable BIND 9.14 release, this document
will be updated with additional features added and bugs fixed. will be updated with additional features added and bugs fixed.
</p> </p>
</div> </div>
@@ -43,46 +43,6 @@
<div class="section"> <div class="section">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="relnotes_license"></a>License Change</h3></div></div></div>
<p>
With the release of BIND 9.11.0, ISC changed to the open
source license for BIND from the ISC license to the Mozilla
Public License (MPL 2.0).
</p>
<p>
The MPL-2.0 license requires that if you make changes to
licensed software (e.g. BIND) and distribute them outside
your organization, that you publish those changes under that
same license. It does not require that you publish or disclose
anything other than the changes you made to our software.
</p>
<p>
This requirement will not affect anyone who is using BIND, with
or without modifications, without redistributing it, nor anyone
redistributing it without changes. Therefore, this change will be
without consequence for most individuals and organizations who are
using BIND.
</p>
<p>
Those unsure whether or not the license change affects their
use of BIND, or who wish to discuss how to comply with the
license may contact ISC at <a class="link" href="https://www.isc.org/mission/contact/" target="_top">
https://www.isc.org/mission/contact/</a>.
</p>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="win_support"></a>Legacy Windows No Longer Supported</h3></div></div></div>
<p>
As of BIND 9.11.2, Windows XP and Windows 2003 are no longer supported
platforms for BIND; "XP" binaries are no longer available for download
from ISC.
</p>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes_security"></a>Security Fixes</h3></div></div></div> <a name="relnotes_security"></a>Security Fixes</h3></div></div></div>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"> <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
<p> <p>
@@ -94,712 +54,81 @@
<div class="section"> <div class="section">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="relnotes_features"></a>New Features</h3></div></div></div> <a name="relnotes_features"></a>New Features</h3></div></div></div>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
<li class="listitem">
<p> <p>
Many aspects of <span class="command"><strong>named</strong></span> have been modified None.
to improve query performance, and in particular, performance
for delegation-heavy zones:
</p> </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; "> </li></ul></div>
<li class="listitem">
<p>
The additional cache ("acache") was found not to
significantly improve performance and has been removed.
As a result, the <span class="command"><strong>acache-enable</strong></span> and
<span class="command"><strong>acache-cleaning-interval</strong></span> options no longer
have any effect. For backwards compatibility, BIND will
accept their presence in a configuration file, but
will log a warning.
</p>
</li>
<li class="listitem">
<p>
In place of the acache, <span class="command"><strong>named</strong></span> can now use
a glue cache to speed up retrieval of glue records when sending
delegation responses. Unlike acache, this feature is on by
default; use <span class="command"><strong>glue-cache no;</strong></span> to disable it.
</p>
</li>
<li class="listitem">
<p>
<span class="command"><strong>minimal-responses</strong></span> is now set
to <code class="literal">no-auth-recursive</code> by default.
</p>
</li>
<li class="listitem">
<p>
The <span class="command"><strong>additional-from-cache</strong></span>
and <span class="command"><strong>additional-from-auth</strong></span> options no longer
have any effect. <span class="command"><strong>named</strong></span> will log a warning
if they are set.
</p>
</li>
<li class="listitem">
<p>
Several functions have been refactored to improve
performance, including name compression, owner name
case restoration, hashing, and buffers.
</p>
</li>
<li class="listitem">
<p>
When built with default <span class="command"><strong>configure</strong></span> options,
<span class="command"><strong>named</strong></span> no longer fills memory with tag
values when allocating or freeing it. This improves performance,
but makes it more difficult to debug certain memory-related
errors. The default is reversed if building with developer
options. <span class="command"><strong>named -M fill</strong></span> or
<span class="command"><strong>named -M nofill</strong></span> will set the behavior
accordingly regardless of build options.
</p>
</li>
</ul></div>
</li>
<li class="listitem">
<p>
Several areas of code have been refactored for improved
readability, maintainability, and testability:
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; ">
<li class="listitem">
<p>
The <span class="command"><strong>named</strong></span> query logic implemented in
<span class="command"><strong>query_find()</strong></span> has been split into
smaller functions with a context structure to maintain state
between them, and extensive comments have been added.
[RT #43929]
</p>
</li>
<li class="listitem">
<p>
Similarly the iterative query logic implemented in
<span class="command"><strong>resquery_response()</strong></span> function has been
split into smaller functions and comments added. [RT #45362]
</p>
</li>
</ul></div>
</li>
<li class="listitem">
<p>
Code implementing name server query processing has been moved
from <span class="command"><strong>named</strong></span> to an external library,
<span class="command"><strong>libns</strong></span>. This will make it easier to
write unit tests for the code, or to link it into new tools.
[RT #45186]
</p>
</li>
<li class="listitem">
<p>
<span class="command"><strong>named</strong></span> can now synthesize negative responses
(NXDOMAIN, NODATA, or wildcard answers) from cached DNSSEC-verified
records that were returned in negative or wildcard responses from
authoritative servers.
</p>
<p>
This will reduce query loads on authoritative servers for signed
domains: when existing cached records can be used by the resolver
to determine that a name does not exist in the authorittive domain,
no query needs to be sent. Reducing the number of iterative queries
should also improve resolver performance.
</p>
<p>
This behavior is controlled by the new
<code class="filename">named.conf</code> option
<span class="command"><strong>synth-from-dnssec</strong></span>. It is enabled by
default.
</p>
<p>
Note: this currently only works for zones signed using NSEC.
Support for zones signed using NSEC3 (without opt-out) is
planned for the future.
</p>
<p>
Thanks to APNIC for sponsoring this work.
</p>
</li>
<li class="listitem">
<p>
When acting as a recursive resolver, <span class="command"><strong>named</strong></span>
can now continue returning answers whose TTLs have expired
when the authoritative server is under attack and unable to
respond. This is controlled by the
<span class="command"><strong>stale-answer-enable</strong></span>,
<span class="command"><strong>stale-answer-ttl</strong></span> and
<span class="command"><strong>max-stale-ttl</strong></span> options. [RT #44790]
</p>
</li>
<li class="listitem">
<p>
The DNS Response Policy Service (DNSRPS) API, a mechanism to
allow <span class="command"><strong>named</strong></span> to use an external response policy
provider, is now supported. (One example of such a provider is
"FastRPZ" from Farsight Security, Inc.) This allows the same
types of policy filtering as standard RPZ, but can reduce the
workload for <span class="command"><strong>named</strong></span>, particularly when using
large and frequently-updated policy zones. It also enables
<span class="command"><strong>named</strong></span> to share response policy providers
with other DNS implementations such as Unbound.
</p>
<p>
This feature is avaiable if BIND is built with
<span class="command"><strong>configure --enable-dnsrps</strong></span>, if a DNSRPS
provider is installed, and if <span class="command"><strong>dnsrps-enable</strong></span>
is set to "yes" in <code class="filename">named.conf</code>. Standard
built-in RPZ is used otherwise.
</p>
<p>
Thanks to Vernon Schryver and Farsight Security for the
contribution. [RT #43376]
</p>
</li>
<li class="listitem">
<p>
Setting <span class="command"><strong>max-journal-size</strong></span> to
<code class="literal">default</code> limits journal sizes to twice the
size of the zone contents. This can be overridden by setting
<span class="command"><strong>max-journal-size</strong></span> to <code class="literal">unlimited</code>
or to an explicit value up to 2G. Thanks to Tony Finch for
the contribution. [RT #38324]
</p>
</li>
<li class="listitem">
<p>
<span class="command"><strong>dnstap</strong></span> logfiles can now be configured to
automatically roll when they reach a specified size. If
<span class="command"><strong>dnstap-output</strong></span> is configured with mode
<code class="literal">file</code>, then it can take optional
<span class="command"><strong>size</strong></span> and <span class="command"><strong>versions</strong></span>
key-value arguments to set the logfile rolling parameters.
(These have the same semantics as the corresponding
options in a <span class="command"><strong>logging</strong></span> channel statement.)
[RT #44502]
</p>
</li>
<li class="listitem">
<p>
Logging channels and <span class="command"><strong>dnstap-output</strong></span> files can
now be configured with a <span class="command"><strong>suffix</strong></span> option,
set to either <code class="literal">increment</code> or
<code class="literal">timestamp</code>, indicating whether log files
should be given incrementing suffixes when they roll
over (e.g., <code class="filename">logfile.0</code>,
<code class="filename">.1</code>, <code class="filename">.2</code>, etc)
or suffixes indicating the time of the roll. The default
is <code class="literal">increment</code>. [RT #42838]
</p>
</li>
<li class="listitem">
<p>
The <span class="command"><strong>print-time</strong></span> option in the
<span class="command"><strong>logging</strong></span> configuration can now take arguments
<strong class="userinput"><code>local</code></strong>, <strong class="userinput"><code>iso8601</code></strong> or
<strong class="userinput"><code>iso8601-utc</code></strong> to indicate the format in
which the date and time should be logged. For backward
compatibility, <strong class="userinput"><code>yes</code></strong> is a synonym for
<strong class="userinput"><code>local</code></strong>. [RT #42585]
</p>
</li>
<li class="listitem">
<p>
The new <span class="command"><strong>dnssec-cds</strong></span> command generates a new DS
set to place in a parent zone, based on the contents of a child
zone's validated CDS or CDNSKEY records. It can produce a
<code class="filename">dsset</code> file suitable for input to
<span class="command"><strong>dnssec-signzone</strong></span>, or a series of
<span class="command"><strong>nsupdate</strong></span> commands to update the parent zone
via dynamic DNS. Thanks to Tony Finch for the contribution.
[RT #46090]
</p>
</li>
<li class="listitem">
<p>
<span class="command"><strong>nsupdate</strong></span> and <span class="command"><strong>rndc</strong></span> now accept
command line options <span class="command"><strong>-4</strong></span> and <span class="command"><strong>-6</strong></span>
which force using only IPv4 or only IPv6, respectively. [RT #45632]
</p>
</li>
<li class="listitem">
<p>
<span class="command"><strong>nsec3hash -r</strong></span> ("rdata order") takes arguments
in the same order as they appear in NSEC3 or NSEC3PARAM records.
This makes it easier to generate an NSEC3 hash using values cut
and pasted from an existing record. Thanks to Tony Finch for
the contribution. [RT #45183]
</p>
</li>
<li class="listitem">
<p>
The <span class="command"><strong>new-zones-directory</strong></span> option allows
<span class="command"><strong>named</strong></span> to store configuration parameters
for zones added via <span class="command"><strong>rndc addzone</strong></span> in a
location other than the working directory. Thanks to Petr
Men&#353;<EFBFBD>k of Red Hat for the contribution.
[RT #44853]
</p>
</li>
<li class="listitem">
<p>
The <span class="command"><strong>dnstap-read -x</strong></span> option prints a hex
dump of the wire format DNS message encapsulated in each
<span class="command"><strong>dnstap</strong></span> log entry. [RT #44816]
</p>
</li>
<li class="listitem">
<p>
The <span class="command"><strong>host -A</strong></span> option returns most
records for a name, but omits types RRSIG, NSEC and NSEC3.
</p>
</li>
<li class="listitem">
<p>
<span class="command"><strong>dig +ednsopt</strong></span> now accepts the names
for EDNS options in addition to numeric values. For example,
an EDNS Client-Subnet option could be sent using
<span class="command"><strong>dig +ednsopt=ecs:...</strong></span>. Thanks to
John Worley of Secure64 for the contribution. [RT #44461]
</p>
</li>
<li class="listitem">
<p>
Added support for the EDNS TCP Keepalive option (RFC 7828);
this allows negotiation of longer-lived TCP sessions
to reduce the overhead of setting up TCP for individual
queries. [RT #42126]
</p>
</li>
<li class="listitem">
<p>
Added support for the EDNS Padding option (RFC 7830),
which obfuscates packet size analysis when DNS queries
are sent over an encrypted channel. [RT #42094]
</p>
</li>
<li class="listitem">
<p>
<span class="command"><strong>rndc</strong></span> commands which refer to zone names
can now reference a zone of type <span class="command"><strong>redirect</strong></span>
by using the special zone name "-redirect". (Previously this
was not possible because <span class="command"><strong>redirect</strong></span> zones
always have the name ".", which can be ambiguous.)
</p>
<p>
In the event you need to manipulate a zone actually
called "-redirect", use a trailing dot: "-redirect."
</p>
<p>
Note: This change does not appply to the
<span class="command"><strong>rndc addzone</strong></span> or
<span class="command"><strong>rndc modzone</strong></span> commands.
</p>
</li>
<li class="listitem">
<p>
<span class="command"><strong>named-checkconf -l</strong></span> lists the zones found
in <code class="filename">named.conf</code>. [RT #43154]
</p>
</li>
<li class="listitem">
<p>
Query logging now includes the ECS option, if one was
present in the query, in the format
"[ECS <em class="replaceable"><code>address/source/scope</code></em>]".
</p>
</li>
<li class="listitem">
<p>
By default, BIND now uses the random number generation functions
in the cryptographic library (i.e., OpenSSL or a PKCS#11
provider) as a source of high-quality randomness rather than
<code class="filename">/dev/random</code>. This is suitable for virtual
machine environments, which may have limited entropy pools and
lack hardware random number generators.
</p>
<p>
This can be overridden by specifying another entropy source via
the <span class="command"><strong>random-device</strong></span> option in
<code class="filename">named.conf</code>, or via the <span class="command"><strong>-r</strong></span>
command line option. However, for functions requiring full
cryptographic strength, such as DNSSEC key generation, this
<span class="emphasis"><em>cannot</em></span> be overridden. In particular, the
<span class="command"><strong>-r</strong></span> command line option no longer has any
effect on <span class="command"><strong>dnssec-keygen</strong></span>.
</p>
<p>
This can be disabled by building with
<span class="command"><strong>configure --disable-crypto-rand</strong></span>, in which
case <code class="filename">/dev/random</code> will be the default
entropy source. [RT #31459] [RT #46047]
</p>
</li>
<li class="listitem">
<p>
<span class="command"><strong>rndc managed-keys destroy</strong></span> shuts down all
RFC 5011 DNSSEC trust anchor maintenance, and deletes any
existing managed keys database. If immediately followed by
<span class="command"><strong>rndc reconfig</strong></span>, this will reinitialize
key maintenance just as if the server was being started for
the first time.
</p>
<p>
This is intended for testing purposes, but can be used -- with
extreme caution -- as a brute-force repair for unrecoverable
problems with a managed keys database, to jumpstart the key
acquisition process if <code class="filename">bind.keys</code> is updated,
etc. [RT #32456]
</p>
</li>
<li class="listitem">
<p>
<span class="command"><strong>dnssec-signzone -S</strong></span> can now add or remove
synchronization records (CDS and CDNSKEY) based on key metadata
set by the <span class="command"><strong>-Psync</strong></span> and <span class="command"><strong>-Dsync</strong></span>
options to <span class="command"><strong>dnssec-keygen</strong></span>,
<span class="command"><strong>dnssec-settime</strong></span>, etc. [RT #46149]
</p>
</li>
<li class="listitem">
<p>
<span class="command"><strong>dnssec-checkds -s</strong></span> specifies a file from
which to read a DS set rather than querying the parent zone.
This can be used to check zone correctness prior to
publication. Thanks to Niall O'Reilly [RT #44667]
</p>
</li>
</ul></div>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="relnotes_removed"></a>Removed Features</h3></div></div></div>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
<p>
The ISC DNSSEC Lookaside Validation (DLV) service has
been shut down; all DLV records in the dlv.isc.org zone
have been removed. References to the service have been
removed from BIND documentation. Lookaside validation
is no longer used by default by <span class="command"><strong>delv</strong></span>.
The DLV key has been removed from <code class="filename">bind.keys</code>.
Setting <span class="command"><strong>dnssec-lookaside</strong></span> to
<span class="command"><strong>auto</strong></span> or to use dlv.isc.org as a trust
anchor results in a warning being issued.
</p>
</li>
<li class="listitem">
<p>
As noted above, the <span class="command"><strong>acache-enable</strong></span>,
<span class="command"><strong>acache-cleaning-interval</strong></span>,
<span class="command"><strong>additional-from-cache</strong></span> and
<span class="command"><strong>additional-from-auth</strong></span> options are no longer
effective and <span class="command"><strong>named</strong></span> will log a warning if
they are set.
</p>
</li>
<li class="listitem">
<p>
The use of <span class="command"><strong>dnssec-keygen</strong></span> to generate
HMAC keys for TSIG authentication has been deprecated in favor
of <span class="command"><strong>tsig-keygen</strong></span>. If the algorithms HMAC-MD5,
HMAC-SHA1, HMAC-SHA224, HMAC-SHA256, HMAC-SHA384, or
HMAC-SHA512 are specified, <span class="command"><strong>dnssec-keygen</strong></span>
will print a warning message. These algorithms will be
removed from <span class="command"><strong>dnssec-keygen</strong></span> entirely in
a future release. [RT #42272]
</p>
</li>
<li class="listitem">
<p>
The use of HMAC-MD5 for RNDC keys is no longer recommended.
The default algorithm generated by <span class="command"><strong>rndc-confgen</strong></span>
is now HMAC-SHA256. [RT #42272]
</p>
</li>
<li class="listitem">
<p>
The <span class="command"><strong>isc-hmac-fixup</strong></span> command, which was created
to address an interoperability problem in TSIG keys between
early versions of BIND and other DNS implmentations, is now
obsolete and has been removed. [RT #46411]
</p>
</li>
</ul></div>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="proto_changes"></a>Protocol Changes</h3></div></div></div>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem">
<p>
BIND can now use the Ed25519 and Ed448 Edwards Curve DNSSEC
signing algorithms described in RFC 8080. Note, however, that
these algorithms must be supported in OpenSSL;
currently they are only available in the development branch
of OpenSSL at
<a class="link" href="https://github.com/openssl/openssl" target="_top">
https://github.com/openssl/openssl</a>.
[RT #44696]
</p>
</li>
<li class="listitem">
<p>
When parsing DNS messages, EDNS KEY TAG options are checked
for correctness. When printing messages (for example, in
<span class="command"><strong>dig</strong></span>), EDNS KEY TAG options are printed
in readable format.
</p>
</li>
</ul></div>
</div> </div>
<div class="section"> <div class="section">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="relnotes_changes"></a>Feature Changes</h3></div></div></div> <a name="relnotes_changes"></a>Feature Changes</h3></div></div></div>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
<li class="listitem">
<p> <p>
The ISC DNSSEC Lookaside Validation (DLV) service has been shut Zone types <span class="command"><strong>primary</strong></span> and
down; all DLV records in the dlv.isc.org zone have been removed. <span class="command"><strong>secondary</strong></span> are now available as synonyms for
References to the service have been removed from BIND documentation. <span class="command"><strong>master</strong></span> and <span class="command"><strong>slave</strong></span>,
Lookaside validation is no longer used by default by respectively, in <code class="filename">named.conf</code>.
<span class="command"><strong>delv</strong></span>. The DLV key has been removed from
<code class="filename">bind.keys</code>. Setting
<span class="command"><strong>dnssec-lookaside</strong></span> to
<span class="command"><strong>auto</strong></span> or to use dlv.isc.org as a trust
anchor is now a fatal configuration error. [RT #46155]
</p> </p>
</li> </li></ul></div>
<li class="listitem">
<p>
<span class="command"><strong>named</strong></span> will no longer start or accept
reconfiguration if the working directory (specified by the
<span class="command"><strong>directory</strong></span> option) or the managed-keys
directory (specified by <span class="command"><strong>managed-keys-directory</strong></span>
are not writable by the effective user ID. [RT #46077]
</p>
</li>
<li class="listitem">
<p>
Initializing keys specified in a <span class="command"><strong>managed-keys</strong></span>
statement or by <span class="command"><strong>dnssec-validation auto;</strong></span> are
now tagged as "initializing", until they have been updated by a
key refresh query. If key maintenance fails to initialize,
this will be visible when running <span class="command"><strong>rndc secroots</strong></span>.
[RT #46267]
</p>
</li>
<li class="listitem">
<p>
Previously, <span class="command"><strong>update-policy local;</strong></span> accepted
updates from any source so long as they were signed by the
locally-generated session key. This has been further restricted;
updates are now only accepted from locally configured addresses.
[RT #45492]
</p>
</li>
<li class="listitem">
<p>
The lightweight resolver daemon and library (<span class="command"><strong>lwresd</strong></span>
and <span class="command"><strong>liblwres</strong></span>) have been removed. [RT #45186]
</p>
</li>
<li class="listitem">
<p>
<span class="command"><strong>dnssec-keygen</strong></span> no longer has default
algorithm settings. It is necessary to explicitly specify the
algorithm on the command line with the <span class="command"><strong>-a</strong></span> option
when generating keys. This may cause errors with existing signing
scripts if they rely on current defaults. The intent is to
reduce the long-term cost of transitioning to newer algorithms in
the event of RSASHA1 being deprecated. [RT #44755]
</p>
</li>
<li class="listitem">
<p>
<span class="command"><strong>dig +sigchase</strong></span> and related options
<span class="command"><strong>+trusted-keys</strong></span> and <span class="command"><strong>+topdown</strong></span>
have been removed. <span class="command"><strong>delv</strong></span> is now the recommended
command for looking up records with DNSSEC validation.
[RT #42793]
</p>
</li>
<li class="listitem">
<p>
The Response Policy Zone (RPZ) implementation has been
substantially refactored: updates to the RPZ summary
database are no longer directly performed by the zone
database but by a separate function that is called when
a policy zone is updated. This improves both performance
and reliability when policy zones receive frequent updates.
Summary database updates can be rate-limited by using the
<span class="command"><strong>min-update-interval</strong></span> option in a
<span class="command"><strong>response-policy</strong></span> statement. [RT #43449]
</p>
</li>
<li class="listitem">
<p>
<span class="command"><strong>dnstap</strong></span> now stores both the local and remote
addresses for all messages, instead of only the remote address.
The default output format for <span class="command"><strong>dnstap-read</strong></span> has
been updated to include these addresses, with the initiating
address first and the responding address second, separated by
"-&gt;" or "&lt;-" to indicate in which direction the message
was sent. [RT #43595]
</p>
</li>
<li class="listitem">
<p>
Expanded and improved the YAML output from
<span class="command"><strong>dnstap-read -y</strong></span>: it now includes packet
size and a detailed breakdown of message contents.
[RT #43622] [RT #43642]
</p>
</li>
<li class="listitem">
<p>
Threads in <span class="command"><strong>named</strong></span> are now set to human-readable
names to assist debugging on operating systems that support that.
Threads will have names such as "isc-timer", "isc-sockmgr",
"isc-worker0001", and so on. This will affect the reporting of
subsidiary thread names in <span class="command"><strong>ps</strong></span> and
<span class="command"><strong>top</strong></span>, but not the main thread. [RT #43234]
</p>
</li>
<li class="listitem">
<p>
If an ACL is specified with an address prefix in which the
prefix length is longer than the address portion (for example,
192.0.2.1/8), it will now be treated as a fatal error during
configuration. [RT #43367]
</p>
</li>
<li class="listitem">
<p>
<span class="command"><strong>dig</strong></span> now warns about .local queries which are
reserved for Multicast DNS. [RT #44783]
</p>
</li>
<li class="listitem">
<p>
The view associated with the query is now logged unless it
it is "_default/IN" or "_dnsclient/IN" when logging DNSSEC
validator messages.
</p>
</li>
<li class="listitem">
<p>
When <span class="command"><strong>named</strong></span> was reconfigured, failure of some
zones to load correctly could leave the system in an inconsistent
state; while generally harmless, this could lead to a crash later
when using <span class="command"><strong>rndc addzone</strong></span>. Reconfiguration changes
are now fully rolled back in the event of failure. [RT #45841]
</p>
</li>
<li class="listitem">
<p>
Multiple <span class="command"><strong>cookie-secret</strong></span> clauses are now
supported. The first <span class="command"><strong>cookie-secret</strong></span> in
<code class="filename">named.conf</code> is used to generate new
server cookies. Any others are used to accept old server
cookies or those generated by other servers using the
matching <span class="command"><strong>cookie-secret</strong></span>.
</p>
</li>
<li class="listitem">
<p>
A new statistics counter has been added to track prefetch
queries. [RT #45847]
</p>
</li>
<li class="listitem">
<p>
A new statistics counter has been added to track priming
queries. [RT #46313]
</p>
</li>
<li class="listitem">
<p>
The <span class="command"><strong>dnssec-signzone -x</strong></span> flag and the
<span class="command"><strong>dnssec-dnskey-kskonly</strong></span> option in
<span class="command"><strong>named.conf</strong></span>, which suppress the use of
the ZSK when signing DNSKEY records, now also apply to
CDNSKEY and CDS records. Thanks to Tony Finch for the
contribution. [RT #45689]
</p>
</li>
<li class="listitem">
<p>
Trust anchor telemetry messages, as specified by
RFC 8145, are now logged to the
<span class="command"><strong>trust-anchor-telemetry</strong></span> logging
catagory.
</p>
</li>
<li class="listitem">
<p>
The <span class="command"><strong>filter-aaaa-on-v4</strong></span> and
<span class="command"><strong>filter-aaaa-on-v6</strong></span> options are no longer
conditionally compiled in <span class="command"><strong>named</strong></span>. [RT #46340]
</p>
</li>
</ul></div>
</div> </div>
<div class="section"> <div class="section">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="relnotes_bugs"></a>Bug Fixes</h3></div></div></div> <a name="relnotes_bugs"></a>Bug Fixes</h3></div></div></div>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
<li class="listitem">
<p> <p>
Zones created with <span class="command"><strong>rndc addzone</strong></span> could None.
temporarily fail to inherit the <span class="command"><strong>allow-transfer</strong></span>
ACL set in the <span class="command"><strong>options</strong></span> section of
<code class="filename">named.conf</code>. [RT #46603]
</p> </p>
</li> </li></ul></div>
<li class="listitem"> </div>
<p>
The introduction of <span class="command"><strong>libns</strong></span> caused a bug <div class="section">
in which TCP client objects were not recycled after use, <div class="titlepage"><div><div><h3 class="title">
leading to unconstrained memory growth. [RT #46029] <a name="relnotes_license"></a>License</h3></div></div></div>
</p> <p>
</li> BIND is open source software licenced under the terms of the Mozilla
<li class="listitem"> Public License, version 2.0 (see the <code class="filename">LICENSE</code>
<p> file for the full text).
Some header files included &lt;isc/util.h&gt; incorrectly as </p>
it pollutes with namespace with non ISC_ macros and this should <p>
only be done by explicitly including &lt;isc/util.h&gt;. This The license requires that if you make changes to BIND and distribute
has been corrected. Some code may depend on &lt;isc/util.h&gt; them outside your organization, those changes must be published under
being implicitly included via other header files. Such the same license. It does not require that you publish or disclose
code should explicitly include &lt;isc/util.h&gt;. anything other than the changes you have made to our software. This
</p> requirement does not affect anyone who is using BIND, with or without
</li> modifications, without redistributing it, nor anyone redistributing
<li class="listitem"> BIND without changes.
<p> </p>
<span class="command"><strong>named</strong></span> failed to properly determine whether <p>
there were active KSK and ZSK keys for an algorithm when Those wishing to discuss license compliance may contact ISC at
<span class="command"><strong>update-check-ksk</strong></span> was true (which is the <a class="link" href="https://www.isc.org/mission/contact/" target="_top">
default setting). This could leave records unsigned https://www.isc.org/mission/contact/</a>.
when rolling keys. [RT #46743] [RT #46754] [RT #46774] </p>
</p>
</li>
</ul></div>
</div> </div>
<div class="section"> <div class="section">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="end_of_life"></a>End of Life</h3></div></div></div> <a name="end_of_life"></a>End of Life</h3></div></div></div>
<p> <p>
The end of life for BIND 9.12 is yet to be determined but BIND 9.13 is an unstable development branch. When its development
will not be before BIND 9.14.0 has been released for 6 months. is complete, it will be renamed to BIND 9.14, which will be a
stable branch.
</p>
<p>
The end of life date for BIND 9.14 has not yet been determined.
For those needing long term support, the current Extended Support
Version (ESV) is BIND 9.11, which will be supported until December
2021. See
<a class="link" href="https://www.isc.org/downloads/software-support-policy/" target="_top">https://www.isc.org/downloads/software-support-policy/</a> <a class="link" href="https://www.isc.org/downloads/software-support-policy/" target="_top">https://www.isc.org/downloads/software-support-policy/</a>
for details of ISC's software support policy.
</p> </p>
</div> </div>
<div class="section"> <div class="section">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="relnotes_thanks"></a>Thank You</h3></div></div></div> <a name="relnotes_thanks"></a>Thank You</h3></div></div></div>
<p> <p>
Thank you to everyone who assisted us in making this release possible. Thank you to everyone who assisted us in making this release possible.
If you would like to contribute to ISC to assist us in continuing to If you would like to contribute to ISC to assist us in continuing to

View File

@@ -97,8 +97,9 @@ options {
check-integrity <boolean>; check-integrity <boolean>;
check-mx ( fail | warn | ignore ); check-mx ( fail | warn | ignore );
check-mx-cname ( fail | warn | ignore ); check-mx-cname ( fail | warn | ignore );
check-names ( master | slave | response check-names ( primary | master |
) ( fail | warn | ignore ); // may occur multiple times secondary | slave | response ) (
fail | warn | ignore ); // may occur multiple times
check-sibling <boolean>; check-sibling <boolean>;
check-spf ( warn | ignore ); check-spf ( warn | ignore );
check-srv-cname ( fail | warn | ignore ); check-srv-cname ( fail | warn | ignore );
@@ -192,7 +193,8 @@ options {
hostname ( <quoted_string> | none ); hostname ( <quoted_string> | none );
inline-signing <boolean>; inline-signing <boolean>;
interface-interval <integer>; interface-interval <integer>;
ixfr-from-differences ( master | slave | <boolean> ); ixfr-from-differences ( primary | master | secondary | slave |
<boolean> );
keep-response-order { <address_match_element>; ... }; keep-response-order { <address_match_element>; ... };
key-directory <quoted_string>; key-directory <quoted_string>;
lame-ttl <ttlval>; lame-ttl <ttlval>;
@@ -461,8 +463,9 @@ view <string> [ <class> ] {
check-integrity <boolean>; check-integrity <boolean>;
check-mx ( fail | warn | ignore ); check-mx ( fail | warn | ignore );
check-mx-cname ( fail | warn | ignore ); check-mx-cname ( fail | warn | ignore );
check-names ( master | slave | response check-names ( primary | master |
) ( fail | warn | ignore ); // may occur multiple times secondary | slave | response ) (
fail | warn | ignore ); // may occur multiple times
check-sibling <boolean>; check-sibling <boolean>;
check-spf ( warn | ignore ); check-spf ( warn | ignore );
check-srv-cname ( fail | warn | ignore ); check-srv-cname ( fail | warn | ignore );
@@ -529,7 +532,8 @@ view <string> [ <class> ] {
| <ipv6_address> ) [ port <integer> ] [ dscp <integer> ]; ... }; | <ipv6_address> ) [ port <integer> ] [ dscp <integer> ]; ... };
glue-cache <boolean>; glue-cache <boolean>;
inline-signing <boolean>; inline-signing <boolean>;
ixfr-from-differences ( master | slave | <boolean> ); ixfr-from-differences ( primary | master | secondary | slave |
<boolean> );
key <string> { key <string> {
algorithm <string>; algorithm <string>;
secret <string>; secret <string>;
@@ -800,8 +804,9 @@ view <string> [ <class> ] {
transfer-source-v6 ( <ipv6_address> | * ) [ port ( transfer-source-v6 ( <ipv6_address> | * ) [ port (
<integer> | * ) ] [ dscp <integer> ]; <integer> | * ) ] [ dscp <integer> ];
try-tcp-refresh <boolean>; try-tcp-refresh <boolean>;
type ( delegation-only | forward | hint | master | redirect type ( primary | master | secondary | slave |
| slave | static-stub | stub ); delegation-only | forward | hint | redirect |
static-stub | stub );
update-check-ksk <boolean>; update-check-ksk <boolean>;
update-policy ( local | { ( deny | grant ) <string> ( update-policy ( local | { ( deny | grant ) <string> (
6to4-self | external | krb5-self | krb5-subdomain | 6to4-self | external | krb5-self | krb5-subdomain |
@@ -902,8 +907,8 @@ zone <string> [ <class> ] {
transfer-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) transfer-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * )
] [ dscp <integer> ]; ] [ dscp <integer> ];
try-tcp-refresh <boolean>; try-tcp-refresh <boolean>;
type ( delegation-only | forward | hint | master | redirect | slave type ( primary | master | secondary | slave | delegation-only |
| static-stub | stub ); forward | hint | redirect | static-stub | stub );
update-check-ksk <boolean>; update-check-ksk <boolean>;
update-policy ( local | { ( deny | grant ) <string> ( 6to4-self | update-policy ( local | { ( deny | grant ) <string> ( 6to4-self |
external | krb5-self | krb5-subdomain | ms-self | ms-subdomain external | krb5-self | krb5-subdomain | ms-self | ms-subdomain