mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-27 20:49:04 +00:00
4638. [bug] Reloading or reconfiguring named could fail on some platforms when LMDB was in use. [RT #45203]
458 lines
16 KiB
XML
458 lines
16 KiB
XML
<!DOCTYPE book [
|
|
<!ENTITY Scaron "Š">
|
|
<!ENTITY scaron "š">
|
|
<!ENTITY ccaron "č">
|
|
<!ENTITY aacute "á">
|
|
<!ENTITY iacute "í">
|
|
<!ENTITY mdash "—">
|
|
<!ENTITY ouml "ö">]>
|
|
<!--
|
|
- Copyright (C) 2014-2017 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 http://mozilla.org/MPL/2.0/.
|
|
-->
|
|
|
|
<section xmlns:db="http://docbook.org/ns/docbook" version="5.0"><info/>
|
|
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="noteversion.xml"/>
|
|
<section xml:id="relnotes_intro"><info><title>Introduction</title></info>
|
|
<para>
|
|
BIND 9.12.0 is a new feature release of BIND, still under development.
|
|
This document summarizes new features and functional changes that
|
|
have been introduced on this branch. With each development
|
|
release leading up to the final BIND 9.12.0 release, this document
|
|
will be updated with additional features added and bugs fixed.
|
|
</para>
|
|
</section>
|
|
|
|
<section xml:id="relnotes_download"><info><title>Download</title></info>
|
|
<para>
|
|
The latest versions of BIND 9 software can always be found at
|
|
<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.isc.org/downloads/">http://www.isc.org/downloads/</link>.
|
|
There you will find additional information about each release,
|
|
source code, and pre-compiled versions for Microsoft Windows
|
|
operating systems.
|
|
</para>
|
|
</section>
|
|
|
|
<section xml:id="relnotes_license"><info><title>License Change</title></info>
|
|
<para>
|
|
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).
|
|
</para>
|
|
<para>
|
|
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.
|
|
</para>
|
|
<para>
|
|
This new requirement will not affect anyone who is using BIND
|
|
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.
|
|
</para>
|
|
<para>
|
|
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 <link
|
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
xlink:href="https://www.isc.org/mission/contact/">
|
|
https://www.isc.org/mission/contact/</link>.
|
|
</para>
|
|
</section>
|
|
|
|
<section xml:id="relnotes_security"><info><title>Security Fixes</title></info>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
The BIND installer on Windows used an unquoted service path,
|
|
which can enable privilege escalation. This flaw is disclosed
|
|
in CVE-2017-3141. [RT #45229]
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
With certain RPZ configurations, a response with TTL 0
|
|
could cause <command>named</command> to go into an infinite
|
|
query loop. This flaw is disclosed in CVE-2017-3140.
|
|
[RT #45181]
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<command>rndc ""</command> could trigger an assertion failure
|
|
in <command>named</command>. This flaw is disclosed in
|
|
(CVE-2017-3138). [RT #44924]
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Some chaining (i.e., type CNAME or DNAME) responses to upstream
|
|
queries could trigger assertion failures. This flaw is disclosed
|
|
in CVE-2017-3137. [RT #44734]
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<command>dns64</command> with <command>break-dnssec yes;</command>
|
|
can result in an assertion failure. This flaw is disclosed in
|
|
CVE-2017-3136. [RT #44653]
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
If a server is configured with a response policy zone (RPZ)
|
|
that rewrites an answer with local data, and is also configured
|
|
for DNS64 address mapping, a NULL pointer can be read
|
|
triggering a server crash. This flaw is disclosed in
|
|
CVE-2017-3135. [RT #44434]
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
A coding error in the <option>nxdomain-redirect</option>
|
|
feature could lead to an assertion failure if the redirection
|
|
namespace was served from a local authoritative data source
|
|
such as a local zone or a DLZ instead of via recursive
|
|
lookup. This flaw is disclosed in CVE-2016-9778. [RT #43837]
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<command>named</command> could mishandle authority sections
|
|
with missing RRSIGs, triggering an assertion failure. This
|
|
flaw is disclosed in CVE-2016-9444. [RT #43632]
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<command>named</command> mishandled some responses where
|
|
covering RRSIG records were returned without the requested
|
|
data, resulting in an assertion failure. This flaw is
|
|
disclosed in CVE-2016-9147. [RT #43548]
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<command>named</command> incorrectly tried to cache TKEY
|
|
records which could trigger an assertion failure when there was
|
|
a class mismatch. This flaw is disclosed in CVE-2016-9131.
|
|
[RT #43522]
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
It was possible to trigger assertions when processing
|
|
responses containing answers of type DNAME. This flaw is
|
|
disclosed in CVE-2016-8864. [RT #43465]
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Added the ability to specify the maximum number of records
|
|
permitted in a zone (<option>max-records #;</option>).
|
|
This provides a mechanism to block overly large zone
|
|
transfers, which is a potential risk with slave zones from
|
|
other parties, as described in CVE-2016-6170.
|
|
[RT #42143]
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</section>
|
|
|
|
<section xml:id="relnotes_features"><info><title>New Features</title></info>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
<command>nsec3hash -r</command> ("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]
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Setting <command>max-journal-size</command> to
|
|
<literal>default</literal> limits journal sizes to twice the
|
|
size of the zone contents. This can be overridden by setting
|
|
<command>max-journal-size</command> to <literal>unlimited</literal>
|
|
or to an explicit value up to 2G. Thanks to Tony Finch for
|
|
the contribution. [RT #38324]
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
The <command>new-zones-directory</command> option allows
|
|
<command>named</command> to store configuration parameters
|
|
for zones added via <command>rndc addzone</command> in a
|
|
location other than the working directory. Thanks to Petr
|
|
Menšík of Red Hat for the contribution.
|
|
[RT #44853]
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Many aspects of <command>named</command> have been modified
|
|
to improve query performance, and in particular, performance
|
|
for delegation-heavy zones:
|
|
</para>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
The additional cache ("acache") was found not to
|
|
significantly improve performance and has been removed;
|
|
the <command>acache-enable</command> and
|
|
<command>acache-cleaning-interval</command> options are now
|
|
deprecated.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
In place of the acache, <command>named</command> now uses
|
|
a glue cache to speed up retrieval of glue records when sending
|
|
delegation responses.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
The <command>additional-from-cache</command>
|
|
and <command>additional-from-auth</command> options have been
|
|
deprecated.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<command>minimal-responses</command> is now set
|
|
to <literal>yes</literal> by default.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Several functions have been refactored to improve
|
|
performance, including name compression, owner name
|
|
case restoration, hashing, and buffers.
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
The <command>dnstap-read -x</command> option prints a hex
|
|
dump of the wire format DNS message encapsulated in each
|
|
<command>dnstap</command> log entry. [RT #44816]
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
The <command>host -A</command> option returns most
|
|
records for a name, but omits types RRSIG, NSEC and NSEC3.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Query logic has been substantially refactored (e.g. query_find
|
|
function has been split into smaller functions) for improved
|
|
readability, maintainability and testability. [RT #43929]
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<command>dnstap</command> logfiles can now be configured to
|
|
automatically roll when they reach a specified size. If
|
|
<command>dnstap-output</command> is configured with mode
|
|
<literal>file</literal>, then it can take optional
|
|
<command>size</command> and <command>versions</command>
|
|
key-value arguments to set the logfile rolling parameters.
|
|
(These have the same semantics as the corresponding
|
|
options in a <command>logging</command> channel statement.)
|
|
[RT #44502]
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Logging channels and <command>dnstap-output</command> files can
|
|
now be configured with a <command>suffix</command> option,
|
|
set to either <literal>increment</literal> or
|
|
<literal>timestamp</literal>, indicating whether log files
|
|
should be given incrementing suffixes when they roll
|
|
over (e.g., <filename>logfile.0</filename>,
|
|
<filename>.1</filename>, <filename>.2</filename>, etc)
|
|
or suffixes indicating the time of the roll. The default
|
|
is <literal>increment</literal>. [RT #42838]
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<command>dig +ednsopt</command> now accepts the names
|
|
for EDNS options in addition to numeric values. For example,
|
|
an EDNS Client-Subnet option could be sent using
|
|
<command>dig +ednsopt=ecs:...</command>. Thanks to
|
|
John Worley of Secure64 for the contribution. [RT #44461]
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
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]
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
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]
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
The <option>print-time</option> option in the
|
|
<option>logging</option> configuration can now take arguments
|
|
<userinput>local</userinput>, <userinput>iso8601</userinput> or
|
|
<userinput>iso8601-utc</userinput> to indicate the format in
|
|
which the date and time should be logged. For backward
|
|
compatibility, <userinput>yes</userinput> is a synonym for
|
|
<userinput>local</userinput>. [RT #42585]
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<command>rndc</command> commands which refer to zone names
|
|
can now reference a zone of type <command>redirect</command>
|
|
by using the special zone name "-redirect". (Previously this
|
|
was not possible because <command>redirect</command> zones
|
|
always have the name ".", which can be ambiguous.)
|
|
</para>
|
|
<para>
|
|
In the event you need to manipulate a zone actually
|
|
called "-redirect", use a trailing dot: "-redirect."
|
|
</para>
|
|
<para>
|
|
Note: This change does not appply to the
|
|
<command>rndc addzone</command> or
|
|
<command>rndc modzone</command> commands.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<command>named-checkconf -l</command> lists the zones found
|
|
in <filename>named.conf</filename>. [RT #43154]
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Query logging now includes the ECS option, if one was
|
|
present in the query, in the format
|
|
"[ECS <replaceable>address/source/scope</replaceable>]".
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</section>
|
|
|
|
<section xml:id="relnotes_changes"><info><title>Feature Changes</title></info>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
Threads in <command>named</command> 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 <command>ps</command> and
|
|
<command>top</command>, but not the main thread. [RT #43234]
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
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
|
|
<command>min-update-interval</command> option in a
|
|
<command>response-policy</command> statement. [RT #43449]
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
<command>dnstap</command> now stores both the local and remote
|
|
addresses for all messages, instead of only the remote address.
|
|
The default output format for <command>dnstap-read</command> 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]
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Expanded and improved the YAML output from
|
|
<command>dnstap-read -y</command>: it now includes packet
|
|
size and a detailed breakdown of message contents.
|
|
[RT #43622] [RT #43642]
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
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]
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</section>
|
|
|
|
<section xml:id="relnotes_bugs"><info><title>Bug Fixes</title></info>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
Reloading or reconfiguring <command>named</command> could
|
|
fail on some platforms when LMDB was in use. [RT #45203]
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Due to some incorrectly deleted code, when BIND was
|
|
built with LMDB, zones that were deleted via
|
|
<command>rndc delzone</command> were removed from the
|
|
running server but were not removed from the new zone
|
|
database, so that deletion did not persist after a
|
|
server restart. This has been corrected. [RT #45185]
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Semicolons are no longer escaped when printing CAA and
|
|
URI records. This may break applications that depend on the
|
|
presence of the backslash before the semicolon. [RT #45216]
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</section>
|
|
|
|
<section xml:id="end_of_life"><info><title>End of Life</title></info>
|
|
<para>
|
|
The end of life for BIND 9.12 is yet to be determined but
|
|
will not be before BIND 9.14.0 has been released for 6 months.
|
|
<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://www.isc.org/downloads/software-support-policy/">https://www.isc.org/downloads/software-support-policy/</link>
|
|
</para>
|
|
</section>
|
|
<section xml:id="relnotes_thanks"><info><title>Thank You</title></info>
|
|
|
|
<para>
|
|
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
|
|
make quality open source software, please visit our donations page at
|
|
<link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.isc.org/donate/">http://www.isc.org/donate/</link>.
|
|
</para>
|
|
</section>
|
|
</section>
|