diff --git a/CHANGES b/CHANGES
index 8ac2bce270..c3cc275d12 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,5 +1,9 @@
5057. [protocol] Add support for ATMA. [GL #619]
+5051. [doc] Documentation incorrectly stated that the
+ "server-addresses" static-stub zone option accepts
+ custom port numbers. [GL #582]
+
5042. [test] Make the chained delegations in reclimit behave
like they would in a regular name server. [GL #578]
diff --git a/bin/named/named.conf.5 b/bin/named/named.conf.5
index 2f3f789584..b1fff75e4c 100644
--- a/bin/named/named.conf.5
+++ b/bin/named/named.conf.5
@@ -875,8 +875,7 @@ view \fIstring\fR [ \fIclass\fR ] {
request\-expire \fIboolean\fR;
request\-ixfr \fIboolean\fR;
serial\-update\-method ( date | increment | unixtime );
- server\-addresses { ( \fIipv4_address\fR | \fIipv6_address\fR ) [
- port \fIinteger\fR ]; \&.\&.\&. };
+ server\-addresses { ( \fIipv4_address\fR | \fIipv6_address\fR ); \&.\&.\&. };
server\-names { \fIquoted_string\fR; \&.\&.\&. };
sig\-signing\-nodes \fIinteger\fR;
sig\-signing\-signatures \fIinteger\fR;
@@ -980,8 +979,7 @@ zone \fIstring\fR [ \fIclass\fR ] {
request\-expire \fIboolean\fR;
request\-ixfr \fIboolean\fR;
serial\-update\-method ( date | increment | unixtime );
- server\-addresses { ( \fIipv4_address\fR | \fIipv6_address\fR ) [ port
- \fIinteger\fR ]; \&.\&.\&. };
+ server\-addresses { ( \fIipv4_address\fR | \fIipv6_address\fR ); \&.\&.\&. };
server\-names { \fIquoted_string\fR; \&.\&.\&. };
sig\-signing\-nodes \fIinteger\fR;
sig\-signing\-signatures \fIinteger\fR;
diff --git a/bin/named/named.conf.docbook b/bin/named/named.conf.docbook
index a4bd6894f6..1a45f64396 100644
--- a/bin/named/named.conf.docbook
+++ b/bin/named/named.conf.docbook
@@ -847,8 +847,7 @@ view string [ class ] {
request-expire boolean;
request-ixfr boolean;
serial-update-method ( date | increment | unixtime );
- server-addresses { ( ipv4_address | ipv6_address ) [
- port integer ]; ... };
+ server-addresses { ( ipv4_address | ipv6_address ); ... };
server-names { quoted_string; ... };
sig-signing-nodes integer;
sig-signing-signatures integer;
@@ -948,8 +947,7 @@ zone string [ class ] {
request-expire boolean;
request-ixfr boolean;
serial-update-method ( date | increment | unixtime );
- server-addresses { ( ipv4_address | ipv6_address ) [ port
- integer ]; ... };
+ server-addresses { ( ipv4_address | ipv6_address ); ... };
server-names { quoted_string; ... };
sig-signing-nodes integer;
sig-signing-signatures integer;
diff --git a/bin/named/named.conf.html b/bin/named/named.conf.html
index d3144942bc..0782ff8efc 100644
--- a/bin/named/named.conf.html
+++ b/bin/named/named.conf.html
@@ -840,8 +840,7 @@ view
request-expire boolean;
request-ixfr boolean;
serial-update-method ( date | increment | unixtime );
- server-addresses { ( ipv4_address | ipv6_address ) [
- port integer ]; ... };
+ server-addresses { ( ipv4_address | ipv6_address ); ... };
server-names { quoted_string; ... };
sig-signing-nodes integer;
sig-signing-signatures integer;
@@ -942,8 +941,7 @@ zone
request-expire boolean;
request-ixfr boolean;
serial-update-method ( date | increment | unixtime );
- server-addresses { ( ipv4_address | ipv6_address ) [ port
- integer ]; ... };
+ server-addresses { ( ipv4_address | ipv6_address ); ... };
server-names { quoted_string; ... };
sig-signing-nodes integer;
sig-signing-signatures integer;
diff --git a/doc/arm/Bv9ARM.ch06.html b/doc/arm/Bv9ARM.ch06.html
index edf1480044..396eb3b2e9 100644
--- a/doc/arm/Bv9ARM.ch06.html
+++ b/doc/arm/Bv9ARM.ch06.html
@@ -9286,7 +9286,7 @@ view "external" {
forward ( first | only );
forwarders [ port integer ] [ dscp integer ] { ( ipv4_address | ipv6_address ) [ port integer ] [ dscp integer ]; ... };
max-records integer;
- server-addresses { ( ipv4_address | ipv6_address ) [ port integer ]; ... };
+ server-addresses { ( ipv4_address | ipv6_address ); ... };
server-names { quoted_string; ... };
zone-statistics ( full | terse | none | boolean );
};
diff --git a/doc/arm/man.named.conf.html b/doc/arm/man.named.conf.html
index 61bd9ed60d..78743e48e9 100644
--- a/doc/arm/man.named.conf.html
+++ b/doc/arm/man.named.conf.html
@@ -858,8 +858,7 @@ view
request-expire boolean;
request-ixfr boolean;
serial-update-method ( date | increment | unixtime );
- server-addresses { ( ipv4_address | ipv6_address ) [
- port integer ]; ... };
+ server-addresses { ( ipv4_address | ipv6_address ); ... };
server-names { quoted_string; ... };
sig-signing-nodes integer;
sig-signing-signatures integer;
@@ -960,8 +959,7 @@ zone
request-expire boolean;
request-ixfr boolean;
serial-update-method ( date | increment | unixtime );
- server-addresses { ( ipv4_address | ipv6_address ) [ port
- integer ]; ... };
+ server-addresses { ( ipv4_address | ipv6_address ); ... };
server-names { quoted_string; ... };
sig-signing-nodes integer;
sig-signing-signatures integer;
diff --git a/doc/arm/static-stub.zoneopt.xml b/doc/arm/static-stub.zoneopt.xml
index 84e9bb0f41..ca278340f9 100644
--- a/doc/arm/static-stub.zoneopt.xml
+++ b/doc/arm/static-stub.zoneopt.xml
@@ -18,7 +18,7 @@
forward ( first | only );
forwarders [ port integer ] [ dscp integer ] { ( ipv4_address | ipv6_address ) [ port integer ] [ dscp integer ]; ... };
max-records integer;
- server-addresses { ( ipv4_address | ipv6_address ) [ port integer ]; ... };
+ server-addresses { ( ipv4_address | ipv6_address ); ... };
server-names { quoted_string; ... };
zone-statistics ( full | terse | none | boolean );
};
diff --git a/doc/misc/options b/doc/misc/options
index ad6bbb269d..78cda0b2e4 100644
--- a/doc/misc/options
+++ b/doc/misc/options
@@ -754,8 +754,7 @@ view [ ] {
request-expire ;
request-ixfr ;
serial-update-method ( date | increment | unixtime );
- server-addresses { ( | ) [
- port ]; ... };
+ server-addresses { ( | ); ... };
server-names { ; ... };
sig-signing-nodes ;
sig-signing-signatures ;
@@ -856,8 +855,7 @@ zone [ ] {
request-expire ;
request-ixfr ;
serial-update-method ( date | increment | unixtime );
- server-addresses { ( | ) [ port
- ]; ... };
+ server-addresses { ( | ); ... };
server-names { ; ... };
sig-signing-nodes ;
sig-signing-signatures ;
diff --git a/doc/misc/static-stub.zoneopt b/doc/misc/static-stub.zoneopt
index 74abe0b137..d475ff1c3d 100644
--- a/doc/misc/static-stub.zoneopt
+++ b/doc/misc/static-stub.zoneopt
@@ -5,7 +5,7 @@ zone [ ] {
forward ( first | only );
forwarders [ port ] [ dscp ] { ( | ) [ port ] [ dscp ]; ... };
max-records ;
- server-addresses { ( | ) [ port ]; ... };
+ server-addresses { ( | ); ... };
server-names { ; ... };
zone-statistics ( full | terse | none | );
};
diff --git a/lib/bind9/check.c b/lib/bind9/check.c
index d32a5a17f1..cfc1e489e3 100644
--- a/lib/bind9/check.c
+++ b/lib/bind9/check.c
@@ -2358,13 +2358,6 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions,
obj = cfg_listelt_value(element);
sa = *cfg_obj_assockaddr(obj);
- if (isc_sockaddr_getport(&sa) != 0) {
- result = ISC_R_FAILURE;
- cfg_obj_log(obj, logctx, ISC_LOG_ERROR,
- "port is not configurable for "
- "static stub server-addresses");
- }
-
isc_netaddr_fromsockaddr(&na, &sa);
if (isc_netaddr_getzone(&na) != 0) {
result = ISC_R_FAILURE;
diff --git a/lib/isccfg/namedconf.c b/lib/isccfg/namedconf.c
index cd797a6b41..4dd427e3a8 100644
--- a/lib/isccfg/namedconf.c
+++ b/lib/isccfg/namedconf.c
@@ -98,7 +98,7 @@ static cfg_type_t cfg_type_addrmatchelt;
static cfg_type_t cfg_type_bracketed_aml;
static cfg_type_t cfg_type_bracketed_dscpsockaddrlist;
static cfg_type_t cfg_type_bracketed_namesockaddrkeylist;
-static cfg_type_t cfg_type_bracketed_sockaddrlist;
+static cfg_type_t cfg_type_bracketed_netaddrlist;
static cfg_type_t cfg_type_bracketed_sockaddrnameportlist;
static cfg_type_t cfg_type_controls;
static cfg_type_t cfg_type_controls_sockaddr;
@@ -561,10 +561,10 @@ static cfg_type_t cfg_type_bracketed_dscpsockaddrlist = {
&cfg_type_sockaddrdscp
};
-static cfg_type_t cfg_type_bracketed_sockaddrlist = {
- "bracketed_sockaddrlist", cfg_parse_bracketed_list,
+static cfg_type_t cfg_type_bracketed_netaddrlist = {
+ "bracketed_netaddrlist", cfg_parse_bracketed_list,
cfg_print_bracketed_list, cfg_doc_bracketed_list, &cfg_rep_list,
- &cfg_type_sockaddr
+ &cfg_type_netaddr
};
static const char *autodnssec_enums[] = {
@@ -2117,7 +2117,7 @@ zone_only_clauses[] = {
{ "pubkey", &cfg_type_pubkey,
CFG_CLAUSEFLAG_MULTI | CFG_CLAUSEFLAG_OBSOLETE
},
- { "server-addresses", &cfg_type_bracketed_sockaddrlist,
+ { "server-addresses", &cfg_type_bracketed_netaddrlist,
CFG_ZONE_STATICSTUB
},
{ "server-names", &cfg_type_namelist,