zone-statistics ( full | terse | none | boolean );
};
+PARENTAL-AGENTS
+^^^^^^^^^^^^^^^
+
+::
+
+ parental-agents string [ port integer ] [
+ dscp integer ] { ( remote-servers |
+ ipv4_address [ port integer ] |
+ ipv6_address [ port integer ] ) [ key
+ string ] [ tls string ]; ... };
+
PLUGIN
^^^^^^
notify-source-v6 ( ipv6_address | * ) [ port ( integer
| * ) ] [ dscp integer ];
notify-to-soa boolean;
+ parental-agents [ port integer ] [ dscp integer ] { (
+ remote-servers | ipv4_address [ port integer ] |
+ ipv6_address [ port integer ] ) [ key string ] [
+ tls string ]; ... };
primaries [ port integer ] [ dscp integer ] { (
remote-servers | ipv4_address [ port integer ] |
ipv6_address [ port integer ] ) [ key string ] [
notify-source-v6 ( ipv6_address | * ) [ port ( integer | * ) ]
[ dscp integer ];
notify-to-soa boolean;
+ parental-agents [ port integer ] [ dscp integer ] { (
+ remote-servers | ipv4_address [ port integer ] |
+ ipv6_address [ port integer ] ) [ key string ] [ tls
+ string ]; ... };
primaries [ port integer ] [ dscp integer ] { (
remote-servers | ipv4_address [ port integer ] |
ipv6_address [ port integer ] ) [ key string ] [ tls
transfer-source 0.0.0.0 dscp 63;
zone-statistics none;
};
+parental-agents "parents" {
+ 10.10.10.11;
+ 10.10.10.12;
+};
view "first" {
match-clients {
"none";
zone "dnssec-test" {
type master;
file "dnssec-test.db";
+ parental-agents {
+ 1.2.3.4;
+ 1.2.3.5;
+ };
dnssec-policy "test";
};
zone "dnssec-default" {
type master;
file "dnssec-default.db";
+ parental-agents {
+ "parents";
+ };
dnssec-policy "default";
};
zone "dnssec-inherit" {
../misc/master.zoneopt.rst \
../misc/mirror.zoneopt.rst \
../misc/options.grammar.rst \
+ ../misc/parentals.grammar.rst \
../misc/primaries.grammar.rst \
../misc/redirect.zoneopt.rst \
../misc/server.grammar.rst \
``options``
Controls global server configuration options and sets defaults for other statements.
+ ``parental-agents``
+ Defines a named list of servers for inclusion in primary and secondary zones' ``parental-agents`` lists.
+
``primaries``
Defines a named list of servers for inclusion in stub and secondary zones' ``primaries`` or ``also-notify`` lists. (Note: this is a synonym for the original keyword ``masters``, which can still be used, but is no longer the preferred terminology.)
``debug`` level 2 is logged for errors other than SERVFAIL and for negative
responses such as NXDOMAIN.
+.. _parentals_grammar:
+
+``parental-agents`` Statement Grammar
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+.. include:: ../misc/parentals.grammar.rst
+
+.. _parentals_statement:
+
+``parental-agents`` Statement Definition and Usage
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+``parental-agents`` lists allow for a common set of parental agents to be easily
+used by multiple primary and secondary zones in their ``parental-agents`` lists.
+
.. _primaries_grammar:
``primaries`` Statement Grammar
.fi
.UNINDENT
.UNINDENT
+.SS PARENTAL\-AGENTS
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+parental\-agents string [ port integer ] [
+ dscp integer ] { ( remote\-servers |
+ ipv4_address [ port integer ] |
+ ipv6_address [ port integer ] ) [ key
+ string ] [ tls string ]; ... };
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
.SS PLUGIN
.INDENT 0.0
.INDENT 3.5
notify\-source\-v6 ( ipv6_address | * ) [ port ( integer
| * ) ] [ dscp integer ];
notify\-to\-soa boolean;
+ parental\-agents [ port integer ] [ dscp integer ] { (
+ remote\-servers | ipv4_address [ port integer ] |
+ ipv6_address [ port integer ] ) [ key string ] [
+ tls string ]; ... };
primaries [ port integer ] [ dscp integer ] { (
remote\-servers | ipv4_address [ port integer ] |
ipv6_address [ port integer ] ) [ key string ] [
notify\-source\-v6 ( ipv6_address | * ) [ port ( integer | * ) ]
[ dscp integer ];
notify\-to\-soa boolean;
+ parental\-agents [ port integer ] [ dscp integer ] { (
+ remote\-servers | ipv4_address [ port integer ] |
+ ipv6_address [ port integer ] ) [ key string ] [ tls
+ string ]; ... };
primaries [ port integer ] [ dscp integer ] { (
remote\-servers | ipv4_address [ port integer ] |
ipv6_address [ port integer ] ) [ key string ] [ tls
notify-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ] [ dscp <integer> ];
notify-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ] [ dscp <integer> ];
notify-to-soa <boolean>;
+ parental-agents [ port <integer> ] [ dscp <integer> ] { ( <remote-servers> | <ipv4_address> [ port <integer> ] | <ipv6_address> [ port <integer> ] ) [ key <string> ] [ tls <string> ]; ... };
serial-update-method ( date | increment | unixtime );
sig-signing-nodes <integer>;
sig-signing-signatures <integer>;
notify-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ] [ dscp <integer> ];
notify-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ] [ dscp <integer> ];
notify-to-soa <boolean>;
+ parental-agents [ port <integer> ] [ dscp <integer> ] { ( <remote-servers> | <ipv4_address> [ port <integer> ] | <ipv6_address> [ port <integer> ] ) [ key <string> ] [ tls <string> ]; ... };
serial-update-method ( date | increment | unixtime );
sig-signing-nodes <integer>;
sig-signing-signatures <integer>;
zone-statistics ( full | terse | none | <boolean> );
};
+parental-agents <string> [ port <integer> ] [
+ dscp <integer> ] { ( <remote-servers> |
+ <ipv4_address> [ port <integer> ] |
+ <ipv6_address> [ port <integer> ] ) [ key
+ <string> ] [ tls <string> ]; ... }; // may occur multiple times
+
plugin ( query ) <string> [ { <unspecified-text>
} ]; // may occur multiple times
| * ) ] [ dscp <integer> ];
notify-to-soa <boolean>;
nsec3-test-zone <boolean>; // test only
+ parental-agents [ port <integer> ] [ dscp <integer> ] { (
+ <remote-servers> | <ipv4_address> [ port <integer> ] |
+ <ipv6_address> [ port <integer> ] ) [ key <string> ] [
+ tls <string> ]; ... };
primaries [ port <integer> ] [ dscp <integer> ] { (
<remote-servers> | <ipv4_address> [ port <integer> ] |
<ipv6_address> [ port <integer> ] ) [ key <string> ] [
[ dscp <integer> ];
notify-to-soa <boolean>;
nsec3-test-zone <boolean>; // test only
+ parental-agents [ port <integer> ] [ dscp <integer> ] { (
+ <remote-servers> | <ipv4_address> [ port <integer> ] |
+ <ipv6_address> [ port <integer> ] ) [ key <string> ] [ tls
+ <string> ]; ... };
primaries [ port <integer> ] [ dscp <integer> ] { (
<remote-servers> | <ipv4_address> [ port <integer> ] |
<ipv6_address> [ port <integer> ] ) [ key <string> ] [ tls
zone-statistics ( full | terse | none | <boolean> );
};
+parental-agents <string> [ port <integer> ] [
+ dscp <integer> ] { ( <remote-servers> |
+ <ipv4_address> [ port <integer> ] |
+ <ipv6_address> [ port <integer> ] ) [ key
+ <string> ] [ tls <string> ]; ... }; // may occur multiple times
+
plugin ( query ) <string> [ { <unspecified-text>
} ]; // may occur multiple times
notify-source-v6 ( <ipv6_address> | * ) [ port ( <integer>
| * ) ] [ dscp <integer> ];
notify-to-soa <boolean>;
+ parental-agents [ port <integer> ] [ dscp <integer> ] { (
+ <remote-servers> | <ipv4_address> [ port <integer> ] |
+ <ipv6_address> [ port <integer> ] ) [ key <string> ] [
+ tls <string> ]; ... };
primaries [ port <integer> ] [ dscp <integer> ] { (
<remote-servers> | <ipv4_address> [ port <integer> ] |
<ipv6_address> [ port <integer> ] ) [ key <string> ] [
notify-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ]
[ dscp <integer> ];
notify-to-soa <boolean>;
+ parental-agents [ port <integer> ] [ dscp <integer> ] { (
+ <remote-servers> | <ipv4_address> [ port <integer> ] |
+ <ipv6_address> [ port <integer> ] ) [ key <string> ] [ tls
+ <string> ]; ... };
primaries [ port <integer> ] [ dscp <integer> ] { (
<remote-servers> | <ipv4_address> [ port <integer> ] |
<ipv6_address> [ port <integer> ] ) [ key <string> ] [ tls
--- /dev/null
+::
+
+ parental-agents <string> [ port <integer> ] [ dscp
+ <integer> ] { ( <remote-servers> |
+ <ipv4_address> [ port <integer> ] |
+ <ipv6_address> [ port <integer> ] ) [ key
+ <string> ] [ tls <string> ]; ... };
notify-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ] [ dscp <integer> ];
notify-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ] [ dscp <integer> ];
notify-to-soa <boolean>;
+ parental-agents [ port <integer> ] [ dscp <integer> ] { ( <remote-servers> | <ipv4_address> [ port <integer> ] | <ipv6_address> [ port <integer> ] ) [ key <string> ] [ tls <string> ]; ... };
primaries [ port <integer> ] [ dscp <integer> ] { ( <remote-servers> | <ipv4_address> [ port <integer> ] | <ipv6_address> [ port <integer> ] ) [ key <string> ] [ tls <string> ]; ... };
request-expire <boolean>;
request-ixfr <boolean>;
notify-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ] [ dscp <integer> ];
notify-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ] [ dscp <integer> ];
notify-to-soa <boolean>;
+ parental-agents [ port <integer> ] [ dscp <integer> ] { ( <remote-servers> | <ipv4_address> [ port <integer> ] | <ipv6_address> [ port <integer> ] ) [ key <string> ] [ tls <string> ]; ... };
primaries [ port <integer> ] [ dscp <integer> ] { ( <remote-servers> | <ipv4_address> [ port <integer> ] | <ipv6_address> [ port <integer> ] ) [ key <string> ] [ tls <string> ]; ... };
request-expire <boolean>;
request-ixfr <boolean>;
*\li Any result dns_name_dup() can return, if keynames!=NULL
*/
+isc_result_t
+dns_zone_setparentals(dns_zone_t *zone, const isc_sockaddr_t *parentals,
+ dns_name_t **keynames, dns_name_t **tlsnames,
+ uint32_t count);
+/*%<
+ * Set the list of parental agents for the zone.
+ *
+ * Require:
+ *\li 'zone' to be a valid zone.
+ *\li 'parentals' array of isc_sockaddr_t with port set or NULL.
+ *\li 'count' the number of parentals.
+ *\li 'keynames' array of dns_name_t's for tsig keys or NULL.
+ *
+ *\li If 'parentals' is NULL then 'count' must be zero.
+ *
+ * Returns:
+ *\li #ISC_R_SUCCESS
+ *\li #ISC_R_NOMEMORY
+ *\li Any result dns_name_dup() can return, if keynames!=NULL
+ */
+
isc_result_t
dns_zone_setalsonotify(dns_zone_t *zone, const isc_sockaddr_t *notify,
const isc_dscp_t *dscps, dns_name_t **keynames,
{ "lwres", NULL, CFG_CLAUSEFLAG_MULTI | CFG_CLAUSEFLAG_ANCIENT },
{ "masters", &cfg_type_remoteservers, CFG_CLAUSEFLAG_MULTI },
{ "options", &cfg_type_options, 0 },
+ { "parental-agents", &cfg_type_remoteservers, CFG_CLAUSEFLAG_MULTI },
{ "primaries", &cfg_type_remoteservers, CFG_CLAUSEFLAG_MULTI },
{ "statistics-channels", &cfg_type_statschannels,
CFG_CLAUSEFLAG_MULTI },
{ "masters", &cfg_type_namesockaddrkeylist,
CFG_ZONE_SLAVE | CFG_ZONE_MIRROR | CFG_ZONE_STUB |
CFG_ZONE_REDIRECT },
+ { "parental-agents", &cfg_type_namesockaddrkeylist,
+ CFG_ZONE_MASTER | CFG_ZONE_SLAVE },
{ "primaries", &cfg_type_namesockaddrkeylist,
CFG_ZONE_SLAVE | CFG_ZONE_MIRROR | CFG_ZONE_STUB |
CFG_ZONE_REDIRECT },