diff --git a/bin/named/named.conf.5 b/bin/named/named.conf.5
index 78b0700261..b5c4d0db27 100644
--- a/bin/named/named.conf.5
+++ b/bin/named/named.conf.5
@@ -351,6 +351,7 @@ options {
( \fIipv4_address\fR | \fIipv6_address\fR ) [ port \fIinteger\fR ]; \&.\&.\&.
};
max\-journal\-size \fIsize_no_default\fR;
+ max\-records \fIinteger\fR;
max\-transfer\-time\-in \fIinteger\fR;
max\-transfer\-time\-out \fIinteger\fR;
max\-transfer\-idle\-in \fIinteger\fR;
@@ -532,6 +533,7 @@ view \fIstring\fR \fIoptional_class\fR {
( \fIipv4_address\fR | \fIipv6_address\fR ) [ port \fIinteger\fR ]; \&.\&.\&.
};
max\-journal\-size \fIsize_no_default\fR;
+ max\-records \fIinteger\fR;
max\-transfer\-time\-in \fIinteger\fR;
max\-transfer\-time\-out \fIinteger\fR;
max\-transfer\-idle\-in \fIinteger\fR;
@@ -623,6 +625,7 @@ zone \fIstring\fR \fIoptional_class\fR {
( \fIipv4_address\fR | \fIipv6_address\fR ) [ port \fIinteger\fR ]; \&.\&.\&.
};
max\-journal\-size \fIsize_no_default\fR;
+ max\-records \fIinteger\fR;
max\-transfer\-time\-in \fIinteger\fR;
max\-transfer\-time\-out \fIinteger\fR;
max\-transfer\-idle\-in \fIinteger\fR;
diff --git a/bin/named/named.conf.html b/bin/named/named.conf.html
index 9981084d09..fc0dbf7dcc 100644
--- a/bin/named/named.conf.html
+++ b/bin/named/named.conf.html
@@ -302,6 +302,7 @@ options
};
max-journal-size size_no_default;
+ max-records integer;
max-transfer-time-in integer;
max-transfer-time-out integer;
max-transfer-idle-in integer;
@@ -498,6 +499,7 @@ view
};
max-journal-size size_no_default;
+ max-records integer;
max-transfer-time-in integer;
max-transfer-time-out integer;
max-transfer-idle-in integer;
@@ -594,6 +596,7 @@ zone
};
max-journal-size size_no_default;
+ max-records integer;
max-transfer-time-in integer;
max-transfer-time-out integer;
max-transfer-idle-in integer;
diff --git a/doc/arm/Bv9ARM.ch06.html b/doc/arm/Bv9ARM.ch06.html
index 884b7e2844..27e4fcdcc8 100644
--- a/doc/arm/Bv9ARM.ch06.html
+++ b/doc/arm/Bv9ARM.ch06.html
@@ -2338,6 +2338,7 @@ badresp:1,adberr:0,findfail:0,valfail:0]
[ use-queryport-pool yes_or_no; ]
[ queryport-pool-ports number; ]
[ queryport-pool-updateinterval number; ]
+ [ max-records number; ]
[ max-transfer-time-in number; ]
[ max-transfer-time-out number; ]
[ max-transfer-idle-in number; ]
@@ -5112,6 +5113,11 @@ avoid-v6-udp-ports { 40000; range 50000 60000; };
means 2 gigabytes.
This may also be set on a per-zone basis.
+ The maximum number of records permitted in a zone. + The default is zero which means unlimited. +
In BIND 8, specifies the maximum number of host statistics
@@ -8529,6 +8535,11 @@ zone zone_name [max-journal-size in the section called “Server Resource Limits”.
+ See the description of + max-records in the section called “Server Resource Limits”. +
See the description of diff --git a/doc/arm/Bv9ARM.ch09.html b/doc/arm/Bv9ARM.ch09.html index d8f714594b..8c841bc517 100644 --- a/doc/arm/Bv9ARM.ch09.html +++ b/doc/arm/Bv9ARM.ch09.html @@ -88,6 +88,13 @@
+ Added the ability to specify the maximum number of records + permitted in a zone (max-records #;). 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] +
It was possible to trigger a assertion when rendering a
message using a specially crafted request. This flaw is
diff --git a/doc/arm/man.named.conf.html b/doc/arm/man.named.conf.html
index f796c19e4c..832f42721c 100644
--- a/doc/arm/man.named.conf.html
+++ b/doc/arm/man.named.conf.html
@@ -321,6 +321,7 @@ options
};
max-journal-size size_no_default;
+ max-records integer;
max-transfer-time-in integer;
max-transfer-time-out integer;
max-transfer-idle-in integer;
@@ -517,6 +518,7 @@ view
};
max-journal-size size_no_default;
+ max-records integer;
max-transfer-time-in integer;
max-transfer-time-out integer;
max-transfer-idle-in integer;
@@ -613,6 +615,7 @@ zone
};
max-journal-size size_no_default;
+ max-records integer;
max-transfer-time-in integer;
max-transfer-time-out integer;
max-transfer-idle-in integer;
diff --git a/doc/arm/notes.html b/doc/arm/notes.html
index c4a5b5e993..cdac8bc46d 100644
--- a/doc/arm/notes.html
+++ b/doc/arm/notes.html
@@ -48,6 +48,13 @@
+ Added the ability to specify the maximum number of records + permitted in a zone (max-records #;). 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] +
It was possible to trigger a assertion when rendering a
message using a specially crafted request. This flaw is
diff --git a/doc/misc/options b/doc/misc/options
index 22ebacd0c1..f001eebdf0 100644
--- a/doc/misc/options
+++ b/doc/misc/options
@@ -2,28 +2,30 @@
This is a summary of the named.conf options supported by
this version of BIND 9.
-acl