diff --git a/CHANGES b/CHANGES index 909168b351..eecf1e2288 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,5 @@ + --- 9.13.5 released --- + 5108. [bug] Named could fail to determine bottom of zone when removing out of date keys leading to invalid NSEC and NSEC3 records being added to the zone. [GL #771] diff --git a/README b/README index a9b20391ca..bbb0672770 100644 --- a/README +++ b/README @@ -104,6 +104,10 @@ BIND 9.13 features BIND 9.13 is the newest development branch of BIND 9. It includes a number of changes from BIND 9.12 and earlier releases. New features include: + * A new "plugin" mechanism has been added to allow query functionality + to be extended using dynamically loadable libraries. The "filter-aaaa" + feature has been removed from named and is now implemented as a + plugin. * Socket and task code has been refactored to improve performance. * QNAME minimization, as described in RFC 7816, is now supported. * "Root key sentinel" support, enabling validating resolvers to indicate diff --git a/README.md b/README.md index 90bfb0085f..6d3ff07416 100644 --- a/README.md +++ b/README.md @@ -122,6 +122,9 @@ BIND 9.13 is the newest development branch of BIND 9. It includes a number of changes from BIND 9.12 and earlier releases. New features include: +* A new "plugin" mechanism has been added to allow query functionality + to be extended using dynamically loadable libraries. The "filter-aaaa" + feature has been removed from named and is now implemented as a plugin. * Socket and task code has been refactored to improve performance. * QNAME minimization, as described in RFC 7816, is now supported. * "Root key sentinel" support, enabling validating resolvers to indicate diff --git a/bin/check/named-checkconf.8 b/bin/check/named-checkconf.8 index 364548887e..b98356a1fe 100644 --- a/bin/check/named-checkconf.8 +++ b/bin/check/named-checkconf.8 @@ -39,7 +39,7 @@ named-checkconf \- named configuration file syntax checking tool .SH "SYNOPSIS" .HP \w'\fBnamed\-checkconf\fR\ 'u -\fBnamed\-checkconf\fR [\fB\-hjlvz\fR] [\fB\-p\fR\ [\fB\-x\fR\ ]] [\fB\-t\ \fR\fB\fIdirectory\fR\fR] {filename} +\fBnamed\-checkconf\fR [\fB\-chjlvz\fR] [\fB\-p\fR\ [\fB\-x\fR\ ]] [\fB\-t\ \fR\fB\fIdirectory\fR\fR] {filename} .SH "DESCRIPTION" .PP \fBnamed\-checkconf\fR @@ -79,6 +79,13 @@ When loading a zonefile read the journal if it exists\&. List all the configured zones\&. Each line of output contains the zone name, class (e\&.g\&. IN), view, and type (e\&.g\&. master or slave)\&. .RE .PP +\-c +.RS 4 +Check "core" configuration only\&. This suppresses the loading of plugin modules, and causes all parameters to +\fBplugin\fR +statements to be ignored\&. +.RE +.PP \-p .RS 4 Print out the diff --git a/bin/check/named-checkconf.html b/bin/check/named-checkconf.html index 8862b74580..fea7e1db93 100644 --- a/bin/check/named-checkconf.html +++ b/bin/check/named-checkconf.html @@ -33,7 +33,7 @@

Synopsis

named-checkconf - [-hjlvz] + [-chjlvz] [-p [-x ]] @@ -88,6 +88,14 @@ (e.g. master or slave).

+
-c
+
+

+ Check "core" configuration only. This suppresses the loading + of plugin modules, and causes all parameters to + plugin statements to be ignored. +

+
-p

diff --git a/bin/dnssec/dnssec-keygen.8 b/bin/dnssec/dnssec-keygen.8 index c0885df7b3..e951411e5c 100644 --- a/bin/dnssec/dnssec-keygen.8 +++ b/bin/dnssec/dnssec-keygen.8 @@ -327,21 +327,21 @@ and files are generated for symmetric cryptography algorithms such as HMAC\-MD5, even though the public and private key are equivalent\&. .SH "EXAMPLE" .PP -To generate a 768\-bit DSA key for the domain +To generate an ECDSAP256SHA256 key for the domain \fBexample\&.com\fR, the following command would be issued: .PP -\fBdnssec\-keygen \-a DSA \-b 768 \-n ZONE example\&.com\fR +\fBdnssec\-keygen \-a ECDSAP256SHA256 \-n ZONE example\&.com\fR .PP The command would print a string of the form: .PP -\fBKexample\&.com\&.+003+26160\fR +\fBKexample\&.com\&.+013+26160\fR .PP In this example, \fBdnssec\-keygen\fR creates the files -Kexample\&.com\&.+003+26160\&.key +Kexample\&.com\&.+013+26160\&.key and -Kexample\&.com\&.+003+26160\&.private\&. +Kexample\&.com\&.+013+26160\&.private\&. .SH "SEE ALSO" .PP \fBdnssec-signzone\fR(8), diff --git a/bin/dnssec/dnssec-keygen.html b/bin/dnssec/dnssec-keygen.html index d817ce79bc..04c138d8e6 100644 --- a/bin/dnssec/dnssec-keygen.html +++ b/bin/dnssec/dnssec-keygen.html @@ -498,22 +498,22 @@

EXAMPLE

- To generate a 768-bit DSA key for the domain + To generate an ECDSAP256SHA256 key for the domain example.com, the following command would be issued:

-

dnssec-keygen -a DSA -b 768 -n ZONE example.com +

dnssec-keygen -a ECDSAP256SHA256 -n ZONE example.com

The command would print a string of the form:

-

Kexample.com.+003+26160 +

Kexample.com.+013+26160

In this example, dnssec-keygen creates - the files Kexample.com.+003+26160.key + the files Kexample.com.+013+26160.key and - Kexample.com.+003+26160.private. + Kexample.com.+013+26160.private.

diff --git a/bin/dnssec/dnssec-signzone.8 b/bin/dnssec/dnssec-signzone.8 index 4808cbe538..3321269f69 100644 --- a/bin/dnssec/dnssec-signzone.8 +++ b/bin/dnssec/dnssec-signzone.8 @@ -415,9 +415,9 @@ Specify which keys should be used to sign the zone\&. If no keys are specified, .PP The following command signs the \fBexample\&.com\fR -zone with the DSA key generated by +zone with the ECDSAP256SHA256 key generated by key generated by \fBdnssec\-keygen\fR -(Kexample\&.com\&.+003+17247)\&. Because the +(Kexample\&.com\&.+013+17247)\&. Because the \fB\-S\fR option is not being used, the zone\*(Aqs keys must be in the master file (db\&.example\&.com)\&. This invocation looks for dsset @@ -428,7 +428,7 @@ files, in the current directory, so that DS records can be imported from them (\ .\} .nf % dnssec\-signzone \-g \-o example\&.com db\&.example\&.com \e -Kexample\&.com\&.+003+17247 +Kexample\&.com\&.+013+17247 db\&.example\&.com\&.signed % .fi diff --git a/bin/dnssec/dnssec-signzone.html b/bin/dnssec/dnssec-signzone.html index 988a7a52c8..d9c8b36b36 100644 --- a/bin/dnssec/dnssec-signzone.html +++ b/bin/dnssec/dnssec-signzone.html @@ -624,15 +624,16 @@

The following command signs the example.com - zone with the DSA key generated by dnssec-keygen - (Kexample.com.+003+17247). Because the -S option - is not being used, the zone's keys must be in the master file + zone with the ECDSAP256SHA256 key generated by key generated by + dnssec-keygen (Kexample.com.+013+17247). + Because the -S option is not being used, + the zone's keys must be in the master file (db.example.com). This invocation looks for dsset files, in the current directory, so that DS records can be imported from them (-g).

% dnssec-signzone -g -o example.com db.example.com \
-Kexample.com.+003+17247
+Kexample.com.+013+17247
 db.example.com.signed
 %

diff --git a/bin/plugins/filter-aaaa.8 b/bin/plugins/filter-aaaa.8 index f9204904c1..982ad891fd 100644 --- a/bin/plugins/filter-aaaa.8 +++ b/bin/plugins/filter-aaaa.8 @@ -9,7 +9,7 @@ '\" t .\" Title: filter-aaaa.so .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.79.1 +.\" Generator: DocBook XSL Stylesheets v1.78.1 .\" Date: 2018-08-13 .\" Manual: BIND9 .\" Source: ISC @@ -38,12 +38,12 @@ .SH "NAME" filter-aaaa.so \- filter AAAA in DNS responses when A is present .SH "SYNOPSIS" -.HP 28 -\fBhook query "filter\-aaaa\&.so"\fR [\fI{\ parameters\ }\fR]; +.HP \w'\fBplugin\ query\ "filter\-aaaa\&.so"\fR\ 'u +\fBplugin query "filter\-aaaa\&.so"\fR [\fI{\ parameters\ }\fR]; .SH "DESCRIPTION" .PP \fBfilter\-aaaa\&.so\fR -is a query hook module for +is a query plugin module for \fBnamed\fR, enabling \fBnamed\fR to omit some IPv6 addresses when responding to clients\&. @@ -59,13 +59,13 @@ and options\&. These options are now deprecated in named\&.conf, but can be passed as parameters to the \fBfilter\-aaaa\&.so\fR -hook module, for example: +plugin, for example: .sp .if n \{\ .RS 4 .\} .nf -hook query "/usr/local/lib/filter\-aaaa\&.so" { +plugin query "/usr/local/lib/filter\-aaaa\&.so" { filter\-aaaa\-on\-v4 yes; filter\-aaaa\-on\-v6 yes; filter\-aaaa { 192\&.0\&.2\&.1; 2001:db8:2::1; }; diff --git a/bin/plugins/filter-aaaa.c b/bin/plugins/filter-aaaa.c index 131f412c23..2bb020a971 100644 --- a/bin/plugins/filter-aaaa.c +++ b/bin/plugins/filter-aaaa.c @@ -460,7 +460,7 @@ plugin_destroy(void **instp) { } /* - * Returns hook module API version for compatibility checks. + * Returns plugin API version for compatibility checks. */ int plugin_version(void) { diff --git a/bin/plugins/filter-aaaa.html b/bin/plugins/filter-aaaa.html index e505f4ead2..322a273d13 100644 --- a/bin/plugins/filter-aaaa.html +++ b/bin/plugins/filter-aaaa.html @@ -10,27 +10,40 @@ filter-aaaa.so - +

-
+ + + + +

Name

-

filter-aaaa.so — filter AAAA in DNS responses when A is present

-
-
-

Synopsis

-

hook query "filter-aaaa.so" [{ parameters }]; -

-
-
-

DESCRIPTION

- filter-aaaa.so is a query hook module for + filter-aaaa.so + — filter AAAA in DNS responses when A is present +

+
+ + + +
+

Synopsis

+

+ plugin query "filter-aaaa.so" + [{ parameters }]; +

+
+ +
+

DESCRIPTION

+

+ filter-aaaa.so is a query plugin module for named, enabling named to omit some IPv6 addresses when responding to clients.

-

+

Until BIND 9.12, this feature was implemented natively in named and enabled with the filter-aaaa ACL and the @@ -38,42 +51,45 @@ filter-aaaa-on-v6 options. These options are now deprecated in named.conf, but can be passed as parameters to the filter-aaaa.so - hook module, for example: + plugin, for example:

-
-hook query "/usr/local/lib/filter-aaaa.so" {
+    
+plugin query "/usr/local/lib/filter-aaaa.so" {
         filter-aaaa-on-v4 yes;
         filter-aaaa-on-v6 yes;
         filter-aaaa { 192.0.2.1; 2001:db8:2::1; };
 };
 
-

+

This module is intended to aid transition from IPv4 to IPv6 by withholding IPv6 addresses from DNS clients which are not connected to the IPv6 Internet, when the name being looked up has an IPv4 address available. Use of this module is not recommended unless absolutely necessary.

-

+

Note: This mechanism can erroneously cause other servers not to give AAAA records to their clients. If a recursing server with both IPv6 and IPv4 network connections queries an authoritative server using this mechanism via IPv4, it will be denied AAAA records even if its client is using IPv6.

-
-
+
+ +

OPTIONS

-
+
filter-aaaa
-

+

+

Specifies a list of client addresses for which AAAA filtering is to be applied. The default is any. -

+

+
filter-aaaa-on-v4
-

+

If set to yes, the DNS client is at an IPv4 address, in filter-aaaa, and if the response does not include DNSSEC signatures, @@ -81,35 +97,39 @@ hook query "/usr/local/lib/filter-aaaa.so" { This filtering applies to all responses and not only authoritative responses.

-

+

If set to break-dnssec, then AAAA records are deleted even when DNSSEC is enabled. As suggested by the name, this causes the response to fail to verify, because the DNSSEC protocol is designed to detect deletions.

-

+

This mechanism can erroneously cause other servers not to give AAAA records to their clients. A recursing server with both IPv6 and IPv4 network connections that queries an authoritative server using this mechanism via IPv4 will be denied AAAA records even if its client is using IPv6.

-
+
filter-aaaa-on-v6
-

+

+

Identical to filter-aaaa-on-v4, except it filters AAAA responses to queries from IPv6 clients instead of IPv4 clients. To filter all responses, set both options to yes. -

+

+
-
-
+
+ +

SEE ALSO

-

+

BIND 9 Administrator Reference Manual.

-
+
+
diff --git a/configure b/configure index 14e3fb96ed..22680bcb24 100755 --- a/configure +++ b/configure @@ -842,7 +842,6 @@ infodir docdir oldincludedir includedir -runstatedir localstatedir sharedstatedir sysconfdir @@ -1002,7 +1001,6 @@ datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' -runstatedir='${localstatedir}/run' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' @@ -1255,15 +1253,6 @@ do | -silent | --silent | --silen | --sile | --sil) silent=yes ;; - -runstatedir | --runstatedir | --runstatedi | --runstated \ - | --runstate | --runstat | --runsta | --runst | --runs \ - | --run | --ru | --r) - ac_prev=runstatedir ;; - -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ - | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ - | --run=* | --ru=* | --r=*) - runstatedir=$ac_optarg ;; - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ @@ -1401,7 +1390,7 @@ fi for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir runstatedir + libdir localedir mandir do eval ac_val=\$$ac_var # Remove trailing slashes. @@ -1554,7 +1543,6 @@ Fine tuning of the installation directories: --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] - --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] diff --git a/doc/arm/Bv9ARM.ch01.html b/doc/arm/Bv9ARM.ch01.html index 2051a9536b..9902ed7c0b 100644 --- a/doc/arm/Bv9ARM.ch01.html +++ b/doc/arm/Bv9ARM.ch01.html @@ -614,6 +614,6 @@
-

BIND 9.13.4 (Development Release)

+

BIND 9.13.5 (Development Release)

diff --git a/doc/arm/Bv9ARM.ch02.html b/doc/arm/Bv9ARM.ch02.html index 50532bf65b..b8ef3374ff 100644 --- a/doc/arm/Bv9ARM.ch02.html +++ b/doc/arm/Bv9ARM.ch02.html @@ -146,6 +146,6 @@ -

BIND 9.13.4 (Development Release)

+

BIND 9.13.5 (Development Release)

diff --git a/doc/arm/Bv9ARM.ch03.html b/doc/arm/Bv9ARM.ch03.html index 203c21568b..75bede3697 100644 --- a/doc/arm/Bv9ARM.ch03.html +++ b/doc/arm/Bv9ARM.ch03.html @@ -47,6 +47,11 @@
Tools for Use With the Name Server Daemon
Signals
+
Plugins
+
+
Configuring Plugins
+
Developing Plugins
+
@@ -741,6 +746,105 @@ controls { + +
+

+Plugins

+ +

+ Plugins are a mechanism to extend the functionality of + named using dynamically loadable libraries. + By using plugins, core server functionality can be kept simple + for the majority of users; more complex code implementing optional + features need only be installed by users that need those features. +

+

+ The plugin interface is a work in progress, and is expected to evolve + as more plugins are added. Currently, only "query plugins" are supported; + these modify the name server query logic. Other plugin types may be added + in the future. +

+

+ The only plugin currently included in BIND is + filter-aaaa.so, which replaces the + filter-aaaa feature that previously existed natively + as part of named. + The code for this feature has been removed from named, + and can no longer be configured using standard + named.conf syntax, but linking in the + filter-aaaa.so plugin provides identical + functionality. +

+ +
+

+Configuring Plugins

+

+ A plugin is configured with the plugin + statement in named.conf: +

+
+    plugin query "library.so" {
+        parameters
+    };
+    
+

+ In this example, file library.so is the plugin + library. query indicates that this is a query + plugin. +

+

+

+

+ Multiple plugin statements can be specified, to load + different plugins or multiple instances of the same plugin. +

+

+ parameters are passed as an opaque + string to the plugin's initialization routine. Configuration + syntax will differ depending on the module. +

+
+ +
+

+Developing Plugins

+

+ Each plugin implements four functions: +

+
    +
  • +plugin_register to allocate memory, + configure a plugin instance, and attach to hook points within + named,
  • +
  • +plugin_destroy to tear down the plugin + instance and free memory,
  • +
  • +plugin_version to check that the plugin + is compatible with the current version of the plugin API,
  • +
  • +plugin_check to test syntactic + correctness of the plugin parameters.
  • +
+

+

+

+ At various locations within the named source code, + there are "hook points" at which a plugin may register itself. + When a hook point is reached while named is + running, it is checked to see whether any plugins have registered + themselves there; if so, the associated "hook action" is called - + this is a function within the plugin library. Hook actions may + examine the runtime state and make changes - for example, modifying + the answers to be sent back to a client or forcing a query to be + aborted. More details can be found in the file + lib/ns/include/ns/hooks.h. +

+
+ +
+ -

BIND 9.13.4 (Development Release)

+

BIND 9.13.5 (Development Release)

diff --git a/doc/arm/Bv9ARM.ch04.html b/doc/arm/Bv9ARM.ch04.html index f55fbf67c0..5a3e7ef233 100644 --- a/doc/arm/Bv9ARM.ch04.html +++ b/doc/arm/Bv9ARM.ch04.html @@ -2868,6 +2868,6 @@ $ORIGIN 0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa. -

BIND 9.13.4 (Development Release)

+

BIND 9.13.5 (Development Release)

diff --git a/doc/arm/Bv9ARM.ch05.html b/doc/arm/Bv9ARM.ch05.html index 123938747d..582f928139 100644 --- a/doc/arm/Bv9ARM.ch05.html +++ b/doc/arm/Bv9ARM.ch05.html @@ -4626,63 +4626,6 @@ options { internally. The use of this option is discouraged.

-
filter-aaaa-on-v4
-
-

- This option is intended to help the - transition from IPv4 to IPv6 by not giving IPv6 addresses - to DNS clients unless they have connections to the IPv6 - Internet. This is not recommended unless absolutely - necessary. The default is no. - The filter-aaaa-on-v4 option - may also be specified in view statements - to override the global filter-aaaa-on-v4 - option. -

-

- If yes, - the DNS client is at an IPv4 address, in filter-aaaa, - and if the response does not include DNSSEC signatures, - then all AAAA records are deleted from the response. - This filtering applies to all responses and not only - authoritative responses. -

-

- If break-dnssec, - then AAAA records are deleted even when DNSSEC is enabled. - As suggested by the name, this makes the response not verify, - because the DNSSEC protocol is designed detect deletions. -

-

- This mechanism can erroneously cause other servers to - not give AAAA records to their clients. - A recursing server with both IPv6 and IPv4 network connections - that queries an authoritative server using this mechanism - via IPv4 will be denied AAAA records even if its client is - using IPv6. -

-

- This mechanism is applied to authoritative as well as - non-authoritative records. - A client using IPv4 that is not allowed recursion can - erroneously be given AAAA records because the server is not - allowed to check for A records. -

-

- Some AAAA records are given to IPv4 clients in glue records. - IPv4 clients that are servers can then erroneously - answer requests for AAAA records received via IPv4. -

-
-
filter-aaaa-on-v6
-
-

- Identical to filter-aaaa-on-v4, - except it filters AAAA responses to queries from IPv6 - clients instead of IPv4 clients. To filter all - responses, set both options to yes. -

-
ixfr-from-differences

@@ -5430,15 +5373,6 @@ options { is none.

-
filter-aaaa
-
-

- Specifies a list of addresses to which - filter-aaaa-on-v4 - and filter-aaaa-on-v6 - apply. The default is any. -

-
keep-response-order

@@ -15044,6 +14978,6 @@ HOST-127.EXAMPLE. MX 0 . -

BIND 9.13.4 (Development Release)

+

BIND 9.13.5 (Development Release)

diff --git a/doc/arm/Bv9ARM.ch06.html b/doc/arm/Bv9ARM.ch06.html index 27ef70f067..26f9cc7b99 100644 --- a/doc/arm/Bv9ARM.ch06.html +++ b/doc/arm/Bv9ARM.ch06.html @@ -361,6 +361,6 @@ allow-query { !{ !10/8; any; }; key example; }; -

BIND 9.13.4 (Development Release)

+

BIND 9.13.5 (Development Release)

diff --git a/doc/arm/Bv9ARM.ch07.html b/doc/arm/Bv9ARM.ch07.html index e064d1128b..1f7c73ebd9 100644 --- a/doc/arm/Bv9ARM.ch07.html +++ b/doc/arm/Bv9ARM.ch07.html @@ -191,6 +191,6 @@ -

BIND 9.13.4 (Development Release)

+

BIND 9.13.5 (Development Release)

diff --git a/doc/arm/Bv9ARM.ch08.html b/doc/arm/Bv9ARM.ch08.html index 21d9fd1643..54ebc378fe 100644 --- a/doc/arm/Bv9ARM.ch08.html +++ b/doc/arm/Bv9ARM.ch08.html @@ -36,7 +36,7 @@

Table of Contents

-
Release Notes for BIND Version 9.13.4
+
Release Notes for BIND Version 9.13.5
Introduction
Note on Version Numbering
@@ -55,7 +55,7 @@

-Release Notes for BIND Version 9.13.4

+Release Notes for BIND Version 9.13.5

@@ -174,6 +174,20 @@ in use. This flaw is disclosed in CVE-2018-5740. [GL #387]

+
  • +

    + Code change #4964, intended to prevent double signatures + when deleting an inactive zone DNSKEY in some situations, + introduced a new problem during zone processing in which + some delegation glue RRsets are incorrectly identified + as needing RRSIGs, which are then created for them using + the current active ZSK for the zone. In some, but not all + cases, the newly-signed RRsets are added to the zone's + NSEC/NSEC3 chain, but incompletely -- this can result in + a broken chain, affecting validation of proof of nonexistence + for records in the zone. [GL #771] +

    +
  • @@ -203,6 +217,19 @@ as described in RFC 7706. [GL #33]

    +
  • +

    + A new plugin mechanism has been added to allow + extension of query processing functionality through the use of + external libraries. The new filter-aaaa.so + plugin replaces the filter-aaaa feature that + was formerly implemented as a native part of BIND. +

    +

    + The plugin API is a work in progress and is likely to evolve + as further plugins are implemented. [GL #15] +

    +
  • BIND now can be compiled against the libidn2 @@ -340,6 +367,18 @@ the operating system, and it cannot be built without threads.

  • +
  • +

    + The filter-aaaa, + filter-aaaa-on-v4, and + filter-aaaa-on-v6 options have been removed + from named, and can no longer be + configured using native named.conf syntax. + However, loading the new filter-aaaa.so + plugin and setting its parameters provides identical + functionality. +

    +
  • named can no longer use the EDNS CLIENT-SUBNET @@ -721,6 +760,6 @@

  • -

    BIND 9.13.4 (Development Release)

    +

    BIND 9.13.5 (Development Release)

    diff --git a/doc/arm/Bv9ARM.ch09.html b/doc/arm/Bv9ARM.ch09.html index ce4b5dc160..42fe054d6b 100644 --- a/doc/arm/Bv9ARM.ch09.html +++ b/doc/arm/Bv9ARM.ch09.html @@ -148,6 +148,6 @@
    -

    BIND 9.13.4 (Development Release)

    +

    BIND 9.13.5 (Development Release)

    diff --git a/doc/arm/Bv9ARM.ch10.html b/doc/arm/Bv9ARM.ch10.html index ba4396ef60..4ad6f7e701 100644 --- a/doc/arm/Bv9ARM.ch10.html +++ b/doc/arm/Bv9ARM.ch10.html @@ -914,6 +914,6 @@ -

    BIND 9.13.4 (Development Release)

    +

    BIND 9.13.5 (Development Release)

    diff --git a/doc/arm/Bv9ARM.ch11.html b/doc/arm/Bv9ARM.ch11.html index e070183e40..742c9910ef 100644 --- a/doc/arm/Bv9ARM.ch11.html +++ b/doc/arm/Bv9ARM.ch11.html @@ -533,6 +533,6 @@ $ sample-update -a sample-update -k Kxxx.+nnn+mm -

    BIND 9.13.4 (Development Release)

    +

    BIND 9.13.5 (Development Release)

    diff --git a/doc/arm/Bv9ARM.ch12.html b/doc/arm/Bv9ARM.ch12.html index 414512bd88..1ba5d98182 100644 --- a/doc/arm/Bv9ARM.ch12.html +++ b/doc/arm/Bv9ARM.ch12.html @@ -91,6 +91,9 @@ dnstap-read — print dnstap data in human-readable form
    +filter-aaaa.so — filter AAAA in DNS responses when A is present +
    +
    host — DNS lookup utility
    @@ -185,6 +188,7 @@ + @@ -206,6 +210,6 @@ -

    BIND 9.13.4 (Development Release)

    +

    BIND 9.13.5 (Development Release)

    diff --git a/doc/arm/Bv9ARM.html b/doc/arm/Bv9ARM.html index d7f49eb41d..770323f748 100644 --- a/doc/arm/Bv9ARM.html +++ b/doc/arm/Bv9ARM.html @@ -32,7 +32,7 @@

    BIND 9 Administrator Reference Manual

    -

    BIND Version 9.13.4

    +

    BIND Version 9.13.5


    @@ -76,6 +76,11 @@
    Tools for Use With the Name Server Daemon
    Signals
    +
    Plugins
    +
    +
    Configuring Plugins
    +
    Developing Plugins
    +
    4. Advanced DNS Features
    @@ -237,7 +242,7 @@
    A. Release Notes
    -
    Release Notes for BIND Version 9.13.4
    +
    Release Notes for BIND Version 9.13.5
    Introduction
    Note on Version Numbering
    @@ -329,6 +334,9 @@ dnstap-read — print dnstap data in human-readable form
    +filter-aaaa.so — filter AAAA in DNS responses when A is present +
    +
    host — DNS lookup utility
    @@ -432,6 +440,6 @@ -

    BIND 9.13.4 (Development Release)

    +

    BIND 9.13.5 (Development Release)

    diff --git a/doc/arm/Bv9ARM.pdf b/doc/arm/Bv9ARM.pdf index e509567f44..df5d8604ef 100644 Binary files a/doc/arm/Bv9ARM.pdf and b/doc/arm/Bv9ARM.pdf differ diff --git a/doc/arm/man.arpaname.html b/doc/arm/man.arpaname.html index ce34bb1766..fb88b202d5 100644 --- a/doc/arm/man.arpaname.html +++ b/doc/arm/man.arpaname.html @@ -90,6 +90,6 @@ -

    BIND 9.13.4 (Development Release)

    +

    BIND 9.13.5 (Development Release)

    diff --git a/doc/arm/man.ddns-confgen.html b/doc/arm/man.ddns-confgen.html index 50a1638f57..32ca7c0e1a 100644 --- a/doc/arm/man.ddns-confgen.html +++ b/doc/arm/man.ddns-confgen.html @@ -220,6 +220,6 @@ -

    BIND 9.13.4 (Development Release)

    +

    BIND 9.13.5 (Development Release)

    diff --git a/doc/arm/man.delv.html b/doc/arm/man.delv.html index 659749ea4e..e3ac09f436 100644 --- a/doc/arm/man.delv.html +++ b/doc/arm/man.delv.html @@ -625,6 +625,6 @@ -

    BIND 9.13.4 (Development Release)

    +

    BIND 9.13.5 (Development Release)

    diff --git a/doc/arm/man.dig.html b/doc/arm/man.dig.html index 5d64a52b42..952954c4cd 100644 --- a/doc/arm/man.dig.html +++ b/doc/arm/man.dig.html @@ -1151,6 +1151,6 @@ dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr -

    BIND 9.13.4 (Development Release)

    +

    BIND 9.13.5 (Development Release)

    diff --git a/doc/arm/man.dnssec-cds.html b/doc/arm/man.dnssec-cds.html index 198685efa3..59a205ea0b 100644 --- a/doc/arm/man.dnssec-cds.html +++ b/doc/arm/man.dnssec-cds.html @@ -376,6 +376,6 @@ nsupdate -l -

    BIND 9.13.4 (Development Release)

    +

    BIND 9.13.5 (Development Release)

    diff --git a/doc/arm/man.dnssec-checkds.html b/doc/arm/man.dnssec-checkds.html index b210715189..46d3612e2e 100644 --- a/doc/arm/man.dnssec-checkds.html +++ b/doc/arm/man.dnssec-checkds.html @@ -150,6 +150,6 @@ -

    BIND 9.13.4 (Development Release)

    +

    BIND 9.13.5 (Development Release)

    diff --git a/doc/arm/man.dnssec-coverage.html b/doc/arm/man.dnssec-coverage.html index 4fc3f4aa6e..2963840d1a 100644 --- a/doc/arm/man.dnssec-coverage.html +++ b/doc/arm/man.dnssec-coverage.html @@ -270,6 +270,6 @@ -

    BIND 9.13.4 (Development Release)

    +

    BIND 9.13.5 (Development Release)

    diff --git a/doc/arm/man.dnssec-dsfromkey.html b/doc/arm/man.dnssec-dsfromkey.html index 70c06f87b8..148cc6b08c 100644 --- a/doc/arm/man.dnssec-dsfromkey.html +++ b/doc/arm/man.dnssec-dsfromkey.html @@ -289,6 +289,6 @@ -

    BIND 9.13.4 (Development Release)

    +

    BIND 9.13.5 (Development Release)

    diff --git a/doc/arm/man.dnssec-importkey.html b/doc/arm/man.dnssec-importkey.html index 59282e73b8..4f1f557d42 100644 --- a/doc/arm/man.dnssec-importkey.html +++ b/doc/arm/man.dnssec-importkey.html @@ -250,6 +250,6 @@ -

    BIND 9.13.4 (Development Release)

    +

    BIND 9.13.5 (Development Release)

    diff --git a/doc/arm/man.dnssec-keyfromlabel.html b/doc/arm/man.dnssec-keyfromlabel.html index 592a303d69..4654e764c2 100644 --- a/doc/arm/man.dnssec-keyfromlabel.html +++ b/doc/arm/man.dnssec-keyfromlabel.html @@ -498,6 +498,6 @@ -

    BIND 9.13.4 (Development Release)

    +

    BIND 9.13.5 (Development Release)

    diff --git a/doc/arm/man.dnssec-keygen.html b/doc/arm/man.dnssec-keygen.html index 1c42a1a82e..c6839dabe4 100644 --- a/doc/arm/man.dnssec-keygen.html +++ b/doc/arm/man.dnssec-keygen.html @@ -516,22 +516,22 @@

    EXAMPLE

    - To generate a 768-bit DSA key for the domain + To generate an ECDSAP256SHA256 key for the domain example.com, the following command would be issued:

    -

    dnssec-keygen -a DSA -b 768 -n ZONE example.com +

    dnssec-keygen -a ECDSAP256SHA256 -n ZONE example.com

    The command would print a string of the form:

    -

    Kexample.com.+003+26160 +

    Kexample.com.+013+26160

    In this example, dnssec-keygen creates - the files Kexample.com.+003+26160.key + the files Kexample.com.+013+26160.key and - Kexample.com.+003+26160.private. + Kexample.com.+013+26160.private.

    @@ -568,6 +568,6 @@ -

    BIND 9.13.4 (Development Release)

    +

    BIND 9.13.5 (Development Release)

    diff --git a/doc/arm/man.dnssec-keymgr.html b/doc/arm/man.dnssec-keymgr.html index 7500a695ca..0ce8046006 100644 --- a/doc/arm/man.dnssec-keymgr.html +++ b/doc/arm/man.dnssec-keymgr.html @@ -387,6 +387,6 @@ -

    BIND 9.13.4 (Development Release)

    +

    BIND 9.13.5 (Development Release)

    diff --git a/doc/arm/man.dnssec-revoke.html b/doc/arm/man.dnssec-revoke.html index 4a881774f2..a11173bb38 100644 --- a/doc/arm/man.dnssec-revoke.html +++ b/doc/arm/man.dnssec-revoke.html @@ -171,6 +171,6 @@ -

    BIND 9.13.4 (Development Release)

    +

    BIND 9.13.5 (Development Release)

    diff --git a/doc/arm/man.dnssec-settime.html b/doc/arm/man.dnssec-settime.html index a5bcb5e319..d800dc94da 100644 --- a/doc/arm/man.dnssec-settime.html +++ b/doc/arm/man.dnssec-settime.html @@ -349,6 +349,6 @@ -

    BIND 9.13.4 (Development Release)

    +

    BIND 9.13.5 (Development Release)

    diff --git a/doc/arm/man.dnssec-signzone.html b/doc/arm/man.dnssec-signzone.html index 044311ab27..906ae79724 100644 --- a/doc/arm/man.dnssec-signzone.html +++ b/doc/arm/man.dnssec-signzone.html @@ -642,15 +642,16 @@

    The following command signs the example.com - zone with the DSA key generated by dnssec-keygen - (Kexample.com.+003+17247). Because the -S option - is not being used, the zone's keys must be in the master file + zone with the ECDSAP256SHA256 key generated by key generated by + dnssec-keygen (Kexample.com.+013+17247). + Because the -S option is not being used, + the zone's keys must be in the master file (db.example.com). This invocation looks for dsset files, in the current directory, so that DS records can be imported from them (-g).

    % dnssec-signzone -g -o example.com db.example.com \
    -Kexample.com.+003+17247
    +Kexample.com.+013+17247
     db.example.com.signed
     %

    @@ -700,6 +701,6 @@ db.example.com.signed -

    BIND 9.13.4 (Development Release)

    +

    BIND 9.13.5 (Development Release)

    diff --git a/doc/arm/man.dnssec-verify.html b/doc/arm/man.dnssec-verify.html index 84265e24c6..a3895ad0bc 100644 --- a/doc/arm/man.dnssec-verify.html +++ b/doc/arm/man.dnssec-verify.html @@ -202,6 +202,6 @@ -

    BIND 9.13.4 (Development Release)

    +

    BIND 9.13.5 (Development Release)

    diff --git a/doc/arm/man.dnstap-read.html b/doc/arm/man.dnstap-read.html index e1ec0a05ac..bfbe322ff2 100644 --- a/doc/arm/man.dnstap-read.html +++ b/doc/arm/man.dnstap-read.html @@ -14,7 +14,7 @@ - + -

    BIND 9.13.4 (Development Release)

    +

    BIND 9.13.5 (Development Release)

    diff --git a/doc/arm/man.filter-aaaa.html b/doc/arm/man.filter-aaaa.html index ad4c62b5a7..69f9fb420b 100644 --- a/doc/arm/man.filter-aaaa.html +++ b/doc/arm/man.filter-aaaa.html @@ -10,7 +10,7 @@ filter-aaaa.so - + @@ -32,66 +32,82 @@
    -
    + + + + +

    Name

    -

    filter-aaaa.so — filter AAAA in DNS responses when A is present

    -
    -
    -

    Synopsis

    -

    hook query "filter-aaaa.so" [{ parameters }]; -

    -
    -
    -

    DESCRIPTION

    - filter-aaaa.so is a query hook module for + filter-aaaa.so + — filter AAAA in DNS responses when A is present +

    +
    + + + +
    +

    Synopsis

    +

    + plugin query "filter-aaaa.so" + [{ parameters }]; +

    +
    + +
    +

    DESCRIPTION

    +

    + filter-aaaa.so is a query plugin module for named, enabling named to omit some IPv6 addresses when responding to clients.

    -

    - Until BIND 9.12, this feature was impleented natively in +

    + Until BIND 9.12, this feature was implemented natively in named and enabled with the filter-aaaa ACL and the filter-aaaa-on-v4 and filter-aaaa-on-v6 options. These options are now deprecated in named.conf, but can be passed as parameters to the filter-aaaa.so - hook module, for example: + plugin, for example:

    -
    -hook query "/usr/local/lib/filter-aaaa.so" {
    +    
    +plugin query "/usr/local/lib/filter-aaaa.so" {
             filter-aaaa-on-v4 yes;
             filter-aaaa-on-v6 yes;
             filter-aaaa { 192.0.2.1; 2001:db8:2::1; };
     };
     
    -

    +

    This module is intended to aid transition from IPv4 to IPv6 by withholding IPv6 addresses from DNS clients which are not connected to the IPv6 Internet, when the name being looked up has an IPv4 address available. Use of this module is not recommended unless absolutely necessary.

    -

    +

    Note: This mechanism can erroneously cause other servers not to give AAAA records to their clients. If a recursing server with both IPv6 and IPv4 network connections queries an authoritative server using this mechanism via IPv4, it will be denied AAAA records even if its client is using IPv6.

    -
    -
    +
    + +

    OPTIONS

    -
    +
    filter-aaaa
    -

    +

    +

    Specifies a list of client addresses for which AAAA filtering is to be applied. The default is any. -

    +

    +
    filter-aaaa-on-v4
    -

    +

    If set to yes, the DNS client is at an IPv4 address, in filter-aaaa, and if the response does not include DNSSEC signatures, @@ -99,36 +115,40 @@ hook query "/usr/local/lib/filter-aaaa.so" { This filtering applies to all responses and not only authoritative responses.

    -

    +

    If set to break-dnssec, then AAAA records are deleted even when DNSSEC is enabled. As suggested by the name, this causes the response to fail to verify, because the DNSSEC protocol is designed to detect deletions.

    -

    +

    This mechanism can erroneously cause other servers not to give AAAA records to their clients. A recursing server with both IPv6 and IPv4 network connections that queries an authoritative server using this mechanism via IPv4 will be denied AAAA records even if its client is using IPv6.

    -
    +
    filter-aaaa-on-v6
    -

    +

    +

    Identical to filter-aaaa-on-v4, except it filters AAAA responses to queries from IPv6 clients instead of IPv4 clients. To filter all responses, set both options to yes. -

    +

    + - -
    +
    + +

    SEE ALSO

    -

    +

    BIND 9 Administrator Reference Manual.

    -
    + + -

    BIND 9.13.2 (Development Release)

    +

    BIND 9.13.5 (Development Release)

    diff --git a/doc/arm/man.host.html b/doc/arm/man.host.html index 275a4069d2..c36c0ea845 100644 --- a/doc/arm/man.host.html +++ b/doc/arm/man.host.html @@ -13,7 +13,7 @@ - + @@ -22,7 +22,7 @@ host -Prev  +Prev  Manual pages  Next @@ -70,7 +70,7 @@
    -

    DESCRIPTION

    +

    DESCRIPTION

    host @@ -97,7 +97,7 @@

    -

    OPTIONS

    +

    OPTIONS

    -4
    @@ -312,7 +312,7 @@
    -

    IDN SUPPORT

    +

    IDN SUPPORT

    If host has been built with IDN (internationalized @@ -328,14 +328,14 @@

    -

    FILES

    +

    FILES

    /etc/resolv.conf

    -

    SEE ALSO

    +

    SEE ALSO

    dig(1) @@ -352,20 +352,20 @@ +Prev  +filter-aaaa.so 
    -Prev  Up  Next
    -dnstap-read  Home  mdig

    -

    BIND 9.13.4 (Development Release)

    +

    BIND 9.13.5 (Development Release)

    diff --git a/doc/arm/man.mdig.html b/doc/arm/man.mdig.html index 8f10e56513..55b63e67c4 100644 --- a/doc/arm/man.mdig.html +++ b/doc/arm/man.mdig.html @@ -84,7 +84,7 @@
    -

    DESCRIPTION

    +

    DESCRIPTION

    mdig is a multiple/pipelined query version of dig: @@ -134,7 +134,7 @@

    -

    ANYWHERE OPTIONS

    +

    ANYWHERE OPTIONS

    @@ -158,7 +158,7 @@

    -

    GLOBAL OPTIONS

    +

    GLOBAL OPTIONS

    @@ -358,7 +358,7 @@

    -

    LOCAL OPTIONS

    +

    LOCAL OPTIONS

    @@ -577,7 +577,7 @@

    -

    SEE ALSO

    +

    SEE ALSO

    dig(1) @@ -604,6 +604,6 @@

    -

    BIND 9.13.4 (Development Release)

    +

    BIND 9.13.5 (Development Release)

    diff --git a/doc/arm/man.named-checkconf.html b/doc/arm/man.named-checkconf.html index 03bc81d5b9..522233ad35 100644 --- a/doc/arm/man.named-checkconf.html +++ b/doc/arm/man.named-checkconf.html @@ -51,7 +51,7 @@

    Synopsis

    named-checkconf - [-hjlvz] + [-chjlvz] [-p [-x ]] @@ -61,7 +61,7 @@

    -

    DESCRIPTION

    +

    DESCRIPTION

    named-checkconf checks the syntax, but not the semantics, of a @@ -83,7 +83,7 @@

    -

    OPTIONS

    +

    OPTIONS

    -h
    @@ -106,6 +106,14 @@ (e.g. master or slave).

    +
    -c
    +
    +

    + Check "core" configuration only. This suppresses the loading + of plugin modules, and causes all parameters to + plugin statements to be ignored. +

    +
    -p

    @@ -160,7 +168,7 @@

    -

    RETURN VALUES

    +

    RETURN VALUES

    named-checkconf returns an exit status of 1 if @@ -169,7 +177,7 @@

    -

    SEE ALSO

    +

    SEE ALSO

    named(8) @@ -200,6 +208,6 @@

    -

    BIND 9.13.4 (Development Release)

    +

    BIND 9.13.5 (Development Release)

    diff --git a/doc/arm/man.named-checkzone.html b/doc/arm/man.named-checkzone.html index 2df53bf97a..9643563afe 100644 --- a/doc/arm/man.named-checkzone.html +++ b/doc/arm/man.named-checkzone.html @@ -111,7 +111,7 @@
    -

    DESCRIPTION

    +

    DESCRIPTION

    named-checkzone checks the syntax and integrity of a zone file. It performs the @@ -133,7 +133,7 @@

    -

    OPTIONS

    +

    OPTIONS

    @@ -421,7 +421,7 @@
    -

    RETURN VALUES

    +

    RETURN VALUES

    named-checkzone returns an exit status of 1 if @@ -430,7 +430,7 @@

    -

    SEE ALSO

    +

    SEE ALSO

    named(8) @@ -463,6 +463,6 @@

    -

    BIND 9.13.4 (Development Release)

    +

    BIND 9.13.5 (Development Release)

    diff --git a/doc/arm/man.named-journalprint.html b/doc/arm/man.named-journalprint.html index 24f427c601..80efbe7b6d 100644 --- a/doc/arm/man.named-journalprint.html +++ b/doc/arm/man.named-journalprint.html @@ -56,7 +56,7 @@
    -

    DESCRIPTION

    +

    DESCRIPTION

    named-journalprint @@ -84,7 +84,7 @@

    -

    SEE ALSO

    +

    SEE ALSO

    @@ -117,6 +117,6 @@

    -

    BIND 9.13.4 (Development Release)

    +

    BIND 9.13.5 (Development Release)

    diff --git a/doc/arm/man.named-nzd2nzf.html b/doc/arm/man.named-nzd2nzf.html index ac198d6d64..b29f9457aa 100644 --- a/doc/arm/man.named-nzd2nzf.html +++ b/doc/arm/man.named-nzd2nzf.html @@ -57,7 +57,7 @@
    -

    DESCRIPTION

    +

    DESCRIPTION

    named-nzd2nzf converts an NZD database to NZF @@ -71,7 +71,7 @@

    -

    ARGUMENTS

    +

    ARGUMENTS

    filename
    @@ -85,7 +85,7 @@
    -

    SEE ALSO

    +

    SEE ALSO

    BIND 9 Administrator Reference Manual @@ -93,7 +93,7 @@

    -

    AUTHOR

    +

    AUTHOR

    Internet Systems Consortium

    @@ -119,6 +119,6 @@
    -

    BIND 9.13.4 (Development Release)

    +

    BIND 9.13.5 (Development Release)

    diff --git a/doc/arm/man.named-rrchecker.html b/doc/arm/man.named-rrchecker.html index 0bc1f2a72c..6722ae0bac 100644 --- a/doc/arm/man.named-rrchecker.html +++ b/doc/arm/man.named-rrchecker.html @@ -60,7 +60,7 @@
    -

    DESCRIPTION

    +

    DESCRIPTION

    named-rrchecker read a individual DNS resource record from standard input and checks if it @@ -90,7 +90,7 @@

    -

    SEE ALSO

    +

    SEE ALSO

    RFC 1034, @@ -121,6 +121,6 @@

    -

    BIND 9.13.4 (Development Release)

    +

    BIND 9.13.5 (Development Release)

    diff --git a/doc/arm/man.named.conf.html b/doc/arm/man.named.conf.html index e8d126d176..9a91abd69d 100644 --- a/doc/arm/man.named.conf.html +++ b/doc/arm/man.named.conf.html @@ -55,7 +55,7 @@
    -

    DESCRIPTION

    +

    DESCRIPTION

    named.conf is the configuration file for @@ -76,7 +76,7 @@

    -

    ACL

    +

    ACL


    acl string { address_match_element; ... };
    @@ -84,7 +84,7 @@ acl

    -

    CONTROLS

    +

    CONTROLS


    controls {
    @@ -102,7 +102,7 @@ controls

    -

    DLZ

    +

    DLZ


    dlz string {
    @@ -113,7 +113,7 @@ dlz

    -

    DYNDB

    +

    DYNDB


    dyndb string quoted_string {
    @@ -122,7 +122,7 @@ dyndb

    -

    KEY

    +

    KEY


    key string {
    @@ -133,7 +133,7 @@ key

    -

    LOGGING

    +

    LOGGING


    logging {
    @@ -156,7 +156,7 @@ logging

    -

    MANAGED-KEYS

    +

    MANAGED-KEYS


    managed-keys { string string integer
    @@ -165,7 +165,7 @@ managed-keys

    -

    MASTERS

    +

    MASTERS


    masters string [ port integer ] [ dscp
    @@ -176,7 +176,7 @@ masters

    -

    OPTIONS

    +

    OPTIONS


    options {
    @@ -480,7 +480,7 @@ options

    -

    SERVER

    +

    SERVER


    server netprefix {
    @@ -519,7 +519,7 @@ server

    -

    STATISTICS-CHANNELS

    +

    STATISTICS-CHANNELS


    statistics-channels {
    @@ -532,7 +532,7 @@ statistics-channels

    -

    TRUSTED-KEYS

    +

    TRUSTED-KEYS


    trusted-keys { string integer integer
    @@ -541,7 +541,7 @@ trusted-keys

    -

    VIEW

    +

    VIEW


    view string [ class ] {
    @@ -918,7 +918,7 @@ view

    -

    ZONE

    +

    ZONE


    zone string [ class ] {
    @@ -1019,14 +1019,14 @@ zone

    -

    FILES

    +

    FILES

    /etc/named.conf

    -

    SEE ALSO

    +

    SEE ALSO

    ddns-confgen(8) @@ -1067,6 +1067,6 @@ zone

    -

    BIND 9.13.4 (Development Release)

    +

    BIND 9.13.5 (Development Release)

    diff --git a/doc/arm/man.named.html b/doc/arm/man.named.html index fd1944603b..fce0b2417e 100644 --- a/doc/arm/man.named.html +++ b/doc/arm/man.named.html @@ -79,7 +79,7 @@
    -

    DESCRIPTION

    +

    DESCRIPTION

    named is a Domain Name System (DNS) server, @@ -96,7 +96,7 @@

    -

    OPTIONS

    +

    OPTIONS

    @@ -375,7 +375,7 @@
    -

    SIGNALS

    +

    SIGNALS

    In routine operation, signals should not be used to control @@ -405,7 +405,7 @@

    -

    CONFIGURATION

    +

    CONFIGURATION

    The named configuration file is too complex @@ -426,7 +426,7 @@

    -

    FILES

    +

    FILES

    @@ -447,7 +447,7 @@
    -

    SEE ALSO

    +

    SEE ALSO

    RFC 1033, RFC 1034, @@ -492,6 +492,6 @@

    -

    BIND 9.13.4 (Development Release)

    +

    BIND 9.13.5 (Development Release)

    diff --git a/doc/arm/man.nsec3hash.html b/doc/arm/man.nsec3hash.html index 4ce78ed1aa..6b6c4070e5 100644 --- a/doc/arm/man.nsec3hash.html +++ b/doc/arm/man.nsec3hash.html @@ -67,7 +67,7 @@
    -

    DESCRIPTION

    +

    DESCRIPTION

    nsec3hash generates an NSEC3 hash based on @@ -87,7 +87,7 @@

    -

    ARGUMENTS

    +

    ARGUMENTS

    salt
    @@ -128,7 +128,7 @@
    -

    SEE ALSO

    +

    SEE ALSO

    BIND 9 Administrator Reference Manual, @@ -155,6 +155,6 @@

    -

    BIND 9.13.4 (Development Release)

    +

    BIND 9.13.5 (Development Release)

    diff --git a/doc/arm/man.nslookup.html b/doc/arm/man.nslookup.html index 7ce0d96309..819945215e 100644 --- a/doc/arm/man.nslookup.html +++ b/doc/arm/man.nslookup.html @@ -58,7 +58,7 @@
    -

    DESCRIPTION

    +

    DESCRIPTION

    Nslookup is a program to query Internet domain name servers. Nslookup @@ -72,7 +72,7 @@

    -

    ARGUMENTS

    +

    ARGUMENTS

    Interactive mode is entered in the following cases: @@ -121,7 +121,7 @@ nslookup -query=hinfo -timeout=10

    -

    INTERACTIVE COMMANDS

    +

    INTERACTIVE COMMANDS

    host [server]
    @@ -372,7 +372,7 @@ nslookup -query=hinfo -timeout=10
    -

    RETURN VALUES

    +

    RETURN VALUES

    nslookup returns with an exit status of 1 if any query failed, and 0 otherwise. @@ -380,7 +380,7 @@ nslookup -query=hinfo -timeout=10

    -

    IDN SUPPORT

    +

    IDN SUPPORT

    If nslookup has been built with IDN (internationalized @@ -397,14 +397,14 @@ nslookup -query=hinfo -timeout=10

    -

    FILES

    +

    FILES

    /etc/resolv.conf

    -

    SEE ALSO

    +

    SEE ALSO

    dig(1) @@ -437,6 +437,6 @@ nslookup -query=hinfo -timeout=10

    -

    BIND 9.13.4 (Development Release)

    +

    BIND 9.13.5 (Development Release)

    diff --git a/doc/arm/man.nsupdate.html b/doc/arm/man.nsupdate.html index a9a245d08f..d890699cae 100644 --- a/doc/arm/man.nsupdate.html +++ b/doc/arm/man.nsupdate.html @@ -77,7 +77,7 @@
    -

    DESCRIPTION

    +

    DESCRIPTION

    nsupdate is used to submit Dynamic DNS Update requests as defined in RFC 2136 @@ -137,7 +137,7 @@

    -

    OPTIONS

    +

    OPTIONS

    @@ -308,7 +308,7 @@
    -

    INPUT FORMAT

    +

    INPUT FORMAT

    nsupdate reads input from @@ -672,7 +672,7 @@

    -

    EXAMPLES

    +

    EXAMPLES

    The examples below show how @@ -728,7 +728,7 @@

    -

    FILES

    +

    FILES

    @@ -766,7 +766,7 @@
    -

    SEE ALSO

    +

    SEE ALSO

    RFC 2136, @@ -789,7 +789,7 @@

    -

    BUGS

    +

    BUGS

    The TSIG key is redundantly stored in two separate files. @@ -818,6 +818,6 @@

    -

    BIND 9.13.4 (Development Release)

    +

    BIND 9.13.5 (Development Release)

    diff --git a/doc/arm/man.pkcs11-destroy.html b/doc/arm/man.pkcs11-destroy.html index fe849a5196..ebc9ab7282 100644 --- a/doc/arm/man.pkcs11-destroy.html +++ b/doc/arm/man.pkcs11-destroy.html @@ -63,7 +63,7 @@
    -

    DESCRIPTION

    +

    DESCRIPTION

    pkcs11-destroy destroys keys stored in a @@ -78,7 +78,7 @@

    -

    ARGUMENTS

    +

    ARGUMENTS

    -m module
    @@ -127,7 +127,7 @@
    -

    SEE ALSO

    +

    SEE ALSO

    @@ -162,6 +162,6 @@

    -

    BIND 9.13.4 (Development Release)

    +

    BIND 9.13.5 (Development Release)

    diff --git a/doc/arm/man.pkcs11-keygen.html b/doc/arm/man.pkcs11-keygen.html index cd7a495799..51d900f1f6 100644 --- a/doc/arm/man.pkcs11-keygen.html +++ b/doc/arm/man.pkcs11-keygen.html @@ -66,7 +66,7 @@
    -

    DESCRIPTION

    +

    DESCRIPTION

    pkcs11-keygen causes a PKCS#11 device to generate @@ -76,7 +76,7 @@

    -

    ARGUMENTS

    +

    ARGUMENTS

    -a algorithm
    @@ -162,7 +162,7 @@
    -

    SEE ALSO

    +

    SEE ALSO

    @@ -200,6 +200,6 @@

    -

    BIND 9.13.4 (Development Release)

    +

    BIND 9.13.5 (Development Release)

    diff --git a/doc/arm/man.pkcs11-list.html b/doc/arm/man.pkcs11-list.html index 925bf08e87..b994cccca3 100644 --- a/doc/arm/man.pkcs11-list.html +++ b/doc/arm/man.pkcs11-list.html @@ -61,7 +61,7 @@
    -

    DESCRIPTION

    +

    DESCRIPTION

    pkcs11-list @@ -75,7 +75,7 @@

    -

    ARGUMENTS

    +

    ARGUMENTS

    -P
    @@ -123,7 +123,7 @@
    -

    SEE ALSO

    +

    SEE ALSO

    @@ -158,6 +158,6 @@

    -

    BIND 9.13.4 (Development Release)

    +

    BIND 9.13.5 (Development Release)

    diff --git a/doc/arm/man.pkcs11-tokens.html b/doc/arm/man.pkcs11-tokens.html index ca68ff3a09..a81fce647f 100644 --- a/doc/arm/man.pkcs11-tokens.html +++ b/doc/arm/man.pkcs11-tokens.html @@ -57,7 +57,7 @@
    -

    DESCRIPTION

    +

    DESCRIPTION

    pkcs11-tokens @@ -67,7 +67,7 @@

    -

    ARGUMENTS

    +

    ARGUMENTS

    -m module
    @@ -88,7 +88,7 @@
    -

    SEE ALSO

    +

    SEE ALSO

    @@ -123,6 +123,6 @@

    -

    BIND 9.13.4 (Development Release)

    +

    BIND 9.13.5 (Development Release)

    diff --git a/doc/arm/man.rndc-confgen.html b/doc/arm/man.rndc-confgen.html index d31a23cb4c..3eed9b8323 100644 --- a/doc/arm/man.rndc-confgen.html +++ b/doc/arm/man.rndc-confgen.html @@ -65,7 +65,7 @@
    -

    DESCRIPTION

    +

    DESCRIPTION

    rndc-confgen generates configuration files @@ -84,7 +84,7 @@

    -

    OPTIONS

    +

    OPTIONS

    @@ -206,7 +206,7 @@
    -

    EXAMPLES

    +

    EXAMPLES

    To allow rndc to be used with @@ -225,7 +225,7 @@

    -

    SEE ALSO

    +

    SEE ALSO

    rndc(8) @@ -260,6 +260,6 @@

    -

    BIND 9.13.4 (Development Release)

    +

    BIND 9.13.5 (Development Release)

    diff --git a/doc/arm/man.rndc.conf.html b/doc/arm/man.rndc.conf.html index 43b399fc2c..3dbc501cfa 100644 --- a/doc/arm/man.rndc.conf.html +++ b/doc/arm/man.rndc.conf.html @@ -55,7 +55,7 @@
    -

    DESCRIPTION

    +

    DESCRIPTION

    rndc.conf is the configuration file for rndc, the BIND 9 name server control @@ -143,7 +143,7 @@

    -

    EXAMPLE

    +

    EXAMPLE

    @@ -221,7 +221,7 @@
       
    -

    NAME SERVER CONFIGURATION

    +

    NAME SERVER CONFIGURATION

    The name server must be configured to accept rndc connections and @@ -233,7 +233,7 @@

    -

    SEE ALSO

    +

    SEE ALSO

    rndc(8) @@ -268,6 +268,6 @@

    -

    BIND 9.13.4 (Development Release)

    +

    BIND 9.13.5 (Development Release)

    diff --git a/doc/arm/man.rndc.html b/doc/arm/man.rndc.html index 10bcd13aef..51dede1dc0 100644 --- a/doc/arm/man.rndc.html +++ b/doc/arm/man.rndc.html @@ -67,7 +67,7 @@
    -

    DESCRIPTION

    +

    DESCRIPTION

    rndc controls the operation of a name @@ -100,7 +100,7 @@

    -

    OPTIONS

    +

    OPTIONS

    @@ -210,7 +210,7 @@
    -

    COMMANDS

    +

    COMMANDS

    A list of commands supported by rndc can @@ -973,7 +973,7 @@

    -

    LIMITATIONS

    +

    LIMITATIONS

    There is currently no way to provide the shared secret for a @@ -985,7 +985,7 @@

    -

    SEE ALSO

    +

    SEE ALSO

    rndc.conf(5) @@ -1024,6 +1024,6 @@

    -

    BIND 9.13.4 (Development Release)

    +

    BIND 9.13.5 (Development Release)

    diff --git a/doc/arm/notes.html b/doc/arm/notes.html index 7ec783af6c..1ccfce8d33 100644 --- a/doc/arm/notes.html +++ b/doc/arm/notes.html @@ -15,7 +15,7 @@

    -Release Notes for BIND Version 9.13.4

    +Release Notes for BIND Version 9.13.5

    @@ -134,6 +134,20 @@ in use. This flaw is disclosed in CVE-2018-5740. [GL #387]

    +
  • +

    + Code change #4964, intended to prevent double signatures + when deleting an inactive zone DNSKEY in some situations, + introduced a new problem during zone processing in which + some delegation glue RRsets are incorrectly identified + as needing RRSIGs, which are then created for them using + the current active ZSK for the zone. In some, but not all + cases, the newly-signed RRsets are added to the zone's + NSEC/NSEC3 chain, but incompletely -- this can result in + a broken chain, affecting validation of proof of nonexistence + for records in the zone. [GL #771] +

    +
  • @@ -163,6 +177,19 @@ as described in RFC 7706. [GL #33]

    +
  • +

    + A new plugin mechanism has been added to allow + extension of query processing functionality through the use of + external libraries. The new filter-aaaa.so + plugin replaces the filter-aaaa feature that + was formerly implemented as a native part of BIND. +

    +

    + The plugin API is a work in progress and is likely to evolve + as further plugins are implemented. [GL #15] +

    +
  • BIND now can be compiled against the libidn2 @@ -300,6 +327,18 @@ the operating system, and it cannot be built without threads.

  • +
  • +

    + The filter-aaaa, + filter-aaaa-on-v4, and + filter-aaaa-on-v6 options have been removed + from named, and can no longer be + configured using native named.conf syntax. + However, loading the new filter-aaaa.so + plugin and setting its parameters provides identical + functionality. +

    +
  • named can no longer use the EDNS CLIENT-SUBNET diff --git a/doc/arm/notes.pdf b/doc/arm/notes.pdf index 66580c66e1..b042e7aa12 100644 Binary files a/doc/arm/notes.pdf and b/doc/arm/notes.pdf differ diff --git a/doc/arm/notes.txt b/doc/arm/notes.txt index f09441c819..5f645427e4 100644 --- a/doc/arm/notes.txt +++ b/doc/arm/notes.txt @@ -1,4 +1,4 @@ -Release Notes for BIND Version 9.13.4 +Release Notes for BIND Version 9.13.5 Introduction @@ -79,6 +79,16 @@ Security Fixes deny-answer-aliases was in use. This flaw is disclosed in CVE-2018-5740. [GL #387] + * Code change #4964, intended to prevent double signatures when deleting + an inactive zone DNSKEY in some situations, introduced a new problem + during zone processing in which some delegation glue RRsets are + incorrectly identified as needing RRSIGs, which are then created for + them using the current active ZSK for the zone. In some, but not all + cases, the newly-signed RRsets are added to the zone's NSEC/NSEC3 + chain, but incompletely -- this can result in a broken chain, + affecting validation of proof of nonexistence for records in the zone. + [GL #771] + New Features * Task manager and socket code have been substantially modified. The @@ -95,6 +105,14 @@ New Features facilitate deployment of a local copy of the root zone, as described in RFC 7706. [GL #33] + * A new plugin mechanism has been added to allow extension of query + processing functionality through the use of external libraries. The + new filter-aaaa.so plugin replaces the filter-aaaa feature that was + formerly implemented as a native part of BIND. + + The plugin API is a work in progress and is likely to evolve as + further plugins are implemented. [GL #15] + * BIND now can be compiled against the libidn2 library to add IDNA2008 support. Previously, BIND supported IDNA2003 using the (now obsolete and unsupported) idnkit-1 library. @@ -179,6 +197,11 @@ Removed Features requires threading support (either POSIX or Windows) from the operating system, and it cannot be built without threads. + * The filter-aaaa, filter-aaaa-on-v4, and filter-aaaa-on-v6 options have + been removed from named, and can no longer be configured using native + named.conf syntax. However, loading the new filter-aaaa.so plugin and + setting its parameters provides identical functionality. + * named can no longer use the EDNS CLIENT-SUBNET option for view selection. In its existing form, the authoritative ECS feature was not fully RFC-compliant, and could not realistically have been deployed in diff --git a/doc/misc/options b/doc/misc/options index 1b54aeda19..53c1e7e310 100644 --- a/doc/misc/options +++ b/doc/misc/options @@ -24,9 +24,6 @@ dlz { dyndb { }; // may occur multiple times -hook ( query ) [ { } - ]; // may occur multiple times - key { algorithm ; secret ; @@ -391,6 +388,9 @@ options { zone-statistics ( full | terse | none | ); }; +plugin ( query ) [ { + } ]; // may occur multiple times + server { bogus ; edns ; @@ -543,8 +543,6 @@ view [ ] { forwarders [ port ] [ dscp ] { ( | ) [ port ] [ dscp ]; ... }; glue-cache ; - hook ( query ) [ { - } ]; // may occur multiple times inline-signing ; ixfr-from-differences ( primary | master | secondary | slave | ); @@ -607,6 +605,8 @@ view [ ] { nta-lifetime ; nta-recheck ; nxdomain-redirect ; + plugin ( query ) [ { + } ]; // may occur multiple times preferred-glue ; prefetch [ ]; provide-ixfr ; diff --git a/lib/bind9/api b/lib/bind9/api index f76669b274..18e8a01a04 100644 --- a/lib/bind9/api +++ b/lib/bind9/api @@ -9,6 +9,6 @@ # 9.11: 160-169,1100-1199 # 9.12: 1200-1299 # 9.13: 1300-1399 -LIBINTERFACE = 1301 -LIBREVISION = 1 +LIBINTERFACE = 1302 +LIBREVISION = 0 LIBAGE = 0 diff --git a/lib/dns/api b/lib/dns/api index 9e9718c950..b4dd10e19d 100644 --- a/lib/dns/api +++ b/lib/dns/api @@ -9,6 +9,6 @@ # 9.11: 160-169,1100-1199 # 9.12: 1200-1299 # 9.13: 1300-1399 -LIBINTERFACE = 1304 +LIBINTERFACE = 1305 LIBREVISION = 0 LIBAGE = 0 diff --git a/lib/irs/api b/lib/irs/api index f76669b274..597c1af4b0 100644 --- a/lib/irs/api +++ b/lib/irs/api @@ -10,5 +10,5 @@ # 9.12: 1200-1299 # 9.13: 1300-1399 LIBINTERFACE = 1301 -LIBREVISION = 1 +LIBREVISION = 2 LIBAGE = 0 diff --git a/lib/isc/api b/lib/isc/api index 9e9718c950..b4dd10e19d 100644 --- a/lib/isc/api +++ b/lib/isc/api @@ -9,6 +9,6 @@ # 9.11: 160-169,1100-1199 # 9.12: 1200-1299 # 9.13: 1300-1399 -LIBINTERFACE = 1304 +LIBINTERFACE = 1305 LIBREVISION = 0 LIBAGE = 0 diff --git a/lib/isccfg/parser.c b/lib/isccfg/parser.c index 431a49288f..c78a7eefe0 100644 --- a/lib/isccfg/parser.c +++ b/lib/isccfg/parser.c @@ -1567,7 +1567,7 @@ doc_optional_btext(cfg_printer_t *pctx, const cfg_type_t *type) { cfg_print_cstr(pctx, "[ { } ]"); } -cfg_type_t cfg_type_optional_bracketed_text = { +LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_optional_bracketed_text = { "optional_btext", parse_optional_btext, print_optional_btext, doc_optional_btext, NULL, NULL }; diff --git a/lib/isccfg/win32/libisccfg.def b/lib/isccfg/win32/libisccfg.def index 2cd86cd7e6..45b039b531 100644 --- a/lib/isccfg/win32/libisccfg.def +++ b/lib/isccfg/win32/libisccfg.def @@ -154,6 +154,7 @@ cfg_ungettoken ;cfg_type_netaddr6 ;cfg_type_netaddr6wild ;cfg_type_netprefix +;cfg_type_optional_bracketed_text ;cfg_type_percentage ;cfg_type_qstring ;cfg_type_rndcconf diff --git a/lib/ns/api b/lib/ns/api index ba136ce1be..f0f6ebdc21 100644 --- a/lib/ns/api +++ b/lib/ns/api @@ -9,6 +9,6 @@ # 9.11: 160-169 # 9.12: 1200-1299 # 9.13: 1300-1399 -LIBINTERFACE = 1303 -LIBREVISION = 1 +LIBINTERFACE = 1304 +LIBREVISION = 0 LIBAGE = 0 diff --git a/version b/version index 41503d276d..41a64ec387 100644 --- a/version +++ b/version @@ -5,7 +5,7 @@ PRODUCT=BIND DESCRIPTION="(Development Release)" MAJORVER=9 MINORVER=13 -PATCHVER=4 +PATCHVER=5 RELEASETYPE= RELEASEVER= EXTENSIONS=