diff --git a/bin/named/named.conf.5 b/bin/named/named.conf.5
index 37f4ef975c..e915799054 100644
--- a/bin/named/named.conf.5
+++ b/bin/named/named.conf.5
@@ -349,6 +349,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;
@@ -528,6 +529,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;
@@ -619,6 +621,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 a3ac9f0515..1cd01baafe 100644
--- a/bin/named/named.conf.html
+++ b/bin/named/named.conf.html
@@ -300,6 +300,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;
@@ -493,6 +494,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;
@@ -589,6 +591,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 562d8bfa08..3f004bdb7a 100644
--- a/doc/arm/Bv9ARM.ch06.html
+++ b/doc/arm/Bv9ARM.ch06.html
@@ -2267,6 +2267,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; ]
@@ -4877,6 +4878,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
@@ -8047,6 +8053,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 53a3c861fb..c8e05d1f65 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 d71a6605b2..15b6ea6b73 100644
--- a/doc/arm/man.named.conf.html
+++ b/doc/arm/man.named.conf.html
@@ -319,6 +319,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;
@@ -512,6 +513,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;
@@ -608,6 +610,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 a7f6b3de88..df1dbbbcb4 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 f23568cda1..9d23c62e72 100644
--- a/doc/misc/options
+++ b/doc/misc/options
@@ -2,15 +2,17 @@
This is a summary of the named.conf options supported by
this version of BIND 9.
-acl