const char *zname;
const char *zfile = NULL;
const cfg_obj_t *maps[4];
- const cfg_obj_t *mastersobj = NULL;
+ const cfg_obj_t *primariesobj = NULL;
const cfg_obj_t *inviewobj = NULL;
const cfg_obj_t *zoptions = NULL;
const cfg_obj_t *classobj = NULL;
* Is the redirect zone configured as a slave?
*/
if (strcasecmp(cfg_obj_asstring(typeobj), "redirect") == 0) {
- cfg_map_get(zoptions, "masters", &mastersobj);
- if (mastersobj != NULL) {
+ cfg_map_get(zoptions, "primaries", &primariesobj);
+ if (primariesobj == NULL) {
+ cfg_map_get(zoptions, "masters", &primariesobj);
+ }
+
+ if (primariesobj != NULL) {
return (ISC_R_SUCCESS);
}
}
"# END MANAGED KEYS\n\
\n\
-masters " DEFAULT_IANA_ROOT_ZONE_MASTERS " {\n\
+primaries " DEFAULT_IANA_ROOT_ZONE_PRIMARIES " {\n\
2001:500:84::b; # b.root-servers.net\n\
2001:500:2f::f; # f.root-servers.net\n\
2001:7fd::1; # k.root-servers.net\n\
}
isc_result_t
-named_config_getmastersdef(const cfg_obj_t *cctx, const char *name,
- const cfg_obj_t **ret) {
+named_config_getprimariesdef(const cfg_obj_t *cctx, const char *name,
+ const cfg_obj_t **ret) {
isc_result_t result;
- const cfg_obj_t *masters = NULL;
+ const cfg_obj_t *primaries = NULL;
const cfg_listelt_t *elt;
- result = cfg_map_get(cctx, "masters", &masters);
+ result = cfg_map_get(cctx, "primaries", &primaries);
+ if (result != ISC_R_SUCCESS) {
+ result = cfg_map_get(cctx, "masters", &primaries);
+ }
if (result != ISC_R_SUCCESS) {
return (result);
}
- for (elt = cfg_list_first(masters); elt != NULL;
+
+ for (elt = cfg_list_first(primaries); elt != NULL;
elt = cfg_list_next(elt)) {
const cfg_obj_t *list;
const char *listname;
isc_buffer_t b;
addr = cfg_tuple_get(cfg_listelt_value(element),
- "masterselement");
+ "primarieselement");
key = cfg_tuple_get(cfg_listelt_value(element), "key");
if (!cfg_obj_issockaddr(addr)) {
if (j < l) {
continue;
}
- tresult = named_config_getmastersdef(config, listname,
- &list);
+ tresult = named_config_getprimariesdef(config, listname,
+ &list);
if (tresult == ISC_R_NOTFOUND) {
cfg_obj_log(addr, named_g_lctx, ISC_LOG_ERROR,
- "masters \"%s\" not found",
+ "primaries \"%s\" not found",
listname);
result = tresult;
#include <isccfg/cfg.h>
-#define DEFAULT_IANA_ROOT_ZONE_MASTERS "_default_iana_root_zone_masters"
+#define DEFAULT_IANA_ROOT_ZONE_PRIMARIES "_default_iana_root_zone_primaries"
isc_result_t
named_config_parsedefaults(cfg_parser_t *parser, cfg_obj_t **conf);
isc_dscp_t **dscpsp, uint32_t count);
isc_result_t
-named_config_getmastersdef(const cfg_obj_t *cctx, const char *name,
- const cfg_obj_t **ret);
+named_config_getprimariesdef(const cfg_obj_t *cctx, const char *name,
+ const cfg_obj_t **ret);
isc_result_t
named_config_getipandkeylist(const cfg_obj_t *config, const cfg_obj_t *list,
::
masters string [ port integer ] [ dscp
- integer ] { ( masters | ipv4_address [
- port integer ] | ipv6_address [ port
+ integer ] { ( primaries | ipv4_address
+ [ port integer ] | ipv6_address [ port
integer ] ) [ key string ]; ... };
OPTIONS
allow-transfer { address_match_element; ... };
allow-update { address_match_element; ... };
allow-update-forwarding { address_match_element; ... };
- also-notify [ port integer ] [ dscp integer ] { ( masters |
+ also-notify [ port integer ] [ dscp integer ] { ( primaries |
ipv4_address [ port integer ] | ipv6_address [ port
integer ] ) [ key string ]; ... };
alt-transfer-source ( ipv4_address | * ) [ port ( integer | * )
blackhole { address_match_element; ... };
cache-file quoted_string;
catalog-zones { zone string [ default-masters [ port integer ]
- [ dscp integer ] { ( masters | ipv4_address [ port
+ [ dscp integer ] { ( primaries | ipv4_address [ port
integer ] | ipv6_address [ port integer ] ) [ key
string ]; ... } ] [ zone-directory quoted_string ] [
in-memory boolean ] [ min-update-interval duration ]; ... };
plugin ( query ) string [ { unspecified-text
} ];
+PRIMARIES
+^^^^^^^^^
+
+::
+
+ primaries string [ port integer ] [ dscp
+ integer ] { ( primaries | ipv4_address
+ [ port integer ] | ipv6_address [ port
+ integer ] ) [ key string ]; ... };
+
SERVER
^^^^^^
allow-transfer { address_match_element; ... };
allow-update { address_match_element; ... };
allow-update-forwarding { address_match_element; ... };
- also-notify [ port integer ] [ dscp integer ] { ( masters |
+ also-notify [ port integer ] [ dscp integer ] { ( primaries |
ipv4_address [ port integer ] | ipv6_address [ port
integer ] ) [ key string ]; ... };
alt-transfer-source ( ipv4_address | * ) [ port ( integer | * )
auto-dnssec ( allow | maintain | off );
cache-file quoted_string;
catalog-zones { zone string [ default-masters [ port integer ]
- [ dscp integer ] { ( masters | ipv4_address [ port
+ [ dscp integer ] { ( primaries | ipv4_address [ port
integer ] | ipv6_address [ port integer ] ) [ key
string ]; ... } ] [ zone-directory quoted_string ] [
in-memory boolean ] [ min-update-interval duration ]; ... };
allow-update { address_match_element; ... };
allow-update-forwarding { address_match_element; ... };
also-notify [ port integer ] [ dscp integer ] { (
- masters | ipv4_address [ port integer ] |
+ primaries | ipv4_address [ port integer ] |
ipv6_address [ port integer ] ) [ key string ];
... };
alt-transfer-source ( ipv4_address | * ) [ port (
key-directory quoted_string;
masterfile-format ( map | raw | text );
masterfile-style ( full | relative );
- masters [ port integer ] [ dscp integer ] { ( masters
- | ipv4_address [ port integer ] | ipv6_address [
- port integer ] ) [ key string ]; ... };
+ masters [ port integer ] [ dscp integer ] { (
+ primaries | ipv4_address [ port integer ] |
+ ipv6_address [ port integer ] ) [ key string ];
+ ... };
max-ixfr-ratio ( unlimited | percentage );
max-journal-size ( default | unlimited | sizeval );
max-records integer;
notify-source-v6 ( ipv6_address | * ) [ port ( integer
| * ) ] [ dscp integer ];
notify-to-soa boolean;
+ primaries [ port integer ] [ dscp integer ] { (
+ primaries | ipv4_address [ port integer ] |
+ ipv6_address [ port integer ] ) [ key string ];
+ ... };
request-expire boolean;
request-ixfr boolean;
serial-update-method ( date | increment | unixtime );
allow-transfer { address_match_element; ... };
allow-update { address_match_element; ... };
allow-update-forwarding { address_match_element; ... };
- also-notify [ port integer ] [ dscp integer ] { ( masters |
+ also-notify [ port integer ] [ dscp integer ] { ( primaries |
ipv4_address [ port integer ] | ipv6_address [ port
integer ] ) [ key string ]; ... };
alt-transfer-source ( ipv4_address | * ) [ port ( integer | * )
key-directory quoted_string;
masterfile-format ( map | raw | text );
masterfile-style ( full | relative );
- masters [ port integer ] [ dscp integer ] { ( masters |
+ masters [ port integer ] [ dscp integer ] { ( primaries |
ipv4_address [ port integer ] | ipv6_address [ port
integer ] ) [ key string ]; ... };
max-ixfr-ratio ( unlimited | percentage );
notify-source-v6 ( ipv6_address | * ) [ port ( integer | * ) ]
[ dscp integer ];
notify-to-soa boolean;
+ primaries [ port integer ] [ dscp integer ] { ( primaries |
+ ipv4_address [ port integer ] | ipv6_address [ port
+ integer ] ) [ key string ]; ... };
request-expire boolean;
request-ixfr boolean;
serial-update-method ( date | increment | unixtime );
/*
* Configure master functionality. This applies
- * to primary masters (type "master") and slaves
- * acting as masters (type "slave"), but not to stubs.
+ * to primary servers (type "primary") and secondaries
+ * acting as primaries (type "secondary"), but not to stubs.
*/
if (ztype != dns_zone_stub && ztype != dns_zone_staticstub &&
ztype != dns_zone_redirect)
/*
* Configure update-related options. These apply to
- * primary masters only.
+ * primary servers only.
*/
if (ztype == dns_zone_master) {
dns_acl_t *updateacl;
case dns_zone_redirect:
count = 0;
obj = NULL;
- (void)cfg_map_get(zoptions, "masters", &obj);
+ (void)cfg_map_get(zoptions, "primaries", &obj);
+ if (obj == NULL) {
+ (void)cfg_map_get(zoptions, "masters", &obj);
+ }
+
/*
- * Use the built-in master server list if one was not
+ * Use the built-in primary server list if one was not
* explicitly specified and this is a root zone mirror.
*/
if (obj == NULL && ztype == dns_zone_mirror &&
dns_name_equal(dns_zone_getorigin(zone), dns_rootname))
{
- result = named_config_getmastersdef(
- named_g_config, DEFAULT_IANA_ROOT_ZONE_MASTERS,
- &obj);
+ result = named_config_getprimariesdef(
+ named_g_config,
+ DEFAULT_IANA_ROOT_ZONE_PRIMARIES, &obj);
RETERR(result);
}
if (obj != NULL) {
RETERR(named_config_getipandkeylist(config, obj, mctx,
&ipkl));
- result = dns_zone_setmasterswithkeys(
+ result = dns_zone_setprimarieswithkeys(
mayberaw, ipkl.addrs, ipkl.keys, ipkl.count);
count = ipkl.count;
dns_ipkeylist_clear(mctx, &ipkl);
RETERR(result);
} else {
- result = dns_zone_setmasters(mayberaw, NULL, 0);
+ result = dns_zone_setprimaries(mayberaw, NULL, 0);
}
RETERR(result);
file "redirect.db";
};
-masters "testmaster" {
+primaries "testmaster" {
192.5.5.241;
};
echo_i "check delzone after reconfig failure ($n)"
ret=0
-$RNDCCMD 10.53.0.3 addzone 'inlineslave.example. IN { type slave; file "inlineslave.db"; masterfile-format text; masters { testmaster; }; };' > /dev/null 2>&1 || ret=1
+$RNDCCMD 10.53.0.3 addzone 'inlineslave.example. IN { type slave; file "inlineslave.db"; masterfile-format text; primaries { testmaster; }; };' > /dev/null 2>&1 || ret=1
copy_setports ns3/named2.conf.in ns3/named.conf
rndc_reconfig ns3 10.53.0.3
$RNDCCMD 10.53.0.3 delzone inlineslave.example > /dev/null 2>&1 || ret=1
zone example.net {
type slave;
- masters { 10.53.0.1; };
+ primaries { 10.53.0.1; };
file "example.net.bk";
};
zone example.com {
type slave;
- masters { 10.53.0.1; };
+ primaries { 10.53.0.1; };
file "example.com.bk";
};
zone "example" {
type slave;
- masters { 10.53.0.2; };
+ primaries { 10.53.0.2; };
file "example.bk";
};
zone "bar" {
type slave;
- masters { 10.53.0.2; };
+ primaries { 10.53.0.2; };
file "bar.bk";
};
zone "expire-test" {
type slave;
- masters { 10.53.0.1; };
+ primaries { 10.53.0.1; };
};
zone "example" {
type slave;
file "example.bk";
- masters { 10.53.0.1; };
+ primaries { 10.53.0.1; };
};
zone "dynamic" {
type slave;
file "dynamic.bk";
- masters { 10.53.0.1; };
+ primaries { 10.53.0.1; };
};
zone "catalog1.example" {
type slave;
file "catalog1.example.db";
- masters { 10.53.0.1; };
+ primaries { 10.53.0.1; };
};
zone "catalog2.example" {
type slave;
file "catalog2.example.db";
- masters { 10.53.0.3; };
+ primaries { 10.53.0.3; };
};
zone "catalog3.example" {
type slave;
file "catalog3.example.db";
- masters { 10.53.0.1; };
+ primaries { 10.53.0.1; };
};
zone "catalog4.example" {
type slave;
file "catalog4.example.db";
- masters { 10.53.0.1; };
+ primaries { 10.53.0.1; };
};
key tsig_key. {
--- /dev/null
+/*
+ * Copyright (C) Internet Systems Consortium, Inc. ("ISC")
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * See the COPYRIGHT file distributed with this work for additional
+ * information regarding copyright ownership.
+ */
+
+zone "example.net" {
+ type secondary;
+ primaries { 192.168.1.1; };
+ masters { 192.168.1.2; };
+};
zone "example" {
type slave;
- masters { 10.53.0.2; };
+ primaries { 10.53.0.2; };
file "example.bk";
};
zone "rfc2335.example" {
type slave;
- masters { 10.53.0.2; };
+ primaries { 10.53.0.2; };
file "rfc2335.example.bk";
};
zone "nsec3chain-test" {
type slave;
file "nsec3chain-test.bk";
- masters { 10.53.0.2; };
+ primaries { 10.53.0.2; };
};
zone "expiring.example" {
zone secure.example {
type slave;
- masters { 10.53.0.3; };
+ primaries { 10.53.0.3; };
};
zone insecure.secure.example {
type slave;
- masters { 10.53.0.2; };
+ primaries { 10.53.0.2; };
};
};
zone "nsec3.example" {
type slave;
- masters { 10.53.0.3; };
+ primaries { 10.53.0.3; };
file "nsec3.example.bk";
};
zone "optout.example" {
type slave;
- masters { 10.53.0.3; };
+ primaries { 10.53.0.3; };
file "optout.example.bk";
};
zone "nsec3-unknown.example" {
type slave;
- masters { 10.53.0.3; };
+ primaries { 10.53.0.3; };
file "nsec3-unknown.example.bk";
};
zone "optout-unknown.example" {
type slave;
- masters { 10.53.0.3; };
+ primaries { 10.53.0.3; };
file "optout-unknown.example.bk";
};
zone "multiple.example" {
type slave;
- masters { 10.53.0.3; };
+ primaries { 10.53.0.3; };
file "multiple.example.bk";
};
zone "." {
type slave;
file "root.bk";
- masters { 10.53.0.1; };
+ primaries { 10.53.0.1; };
};
zone "." {
type slave;
file "root.bk";
- masters { 10.53.0.4; };
+ primaries { 10.53.0.4; };
};
transfer-source 10.53.0.7 dscp 46;
notify-source 10.53.0.7 dscp 46;
alt-transfer-source 10.53.0.7 dscp 46;
- masters { 10.53.0.4; };
+ primaries { 10.53.0.4; };
};
zone "bits" {
type slave;
- masters { 10.53.0.2; };
+ primaries { 10.53.0.2; };
inline-signing yes;
auto-dnssec maintain;
allow-update-forwarding { any; };
zone "noixfr" {
type slave;
- masters { 10.53.0.4; };
+ primaries { 10.53.0.4; };
inline-signing yes;
auto-dnssec maintain;
allow-update-forwarding { any; };
zone "retransfer" {
type slave;
- masters { 10.53.0.2; };
+ primaries { 10.53.0.2; };
inline-signing yes;
auto-dnssec maintain;
file "retransfer.bk";
zone "retransfer3" {
type slave;
- masters { 10.53.0.2; };
+ primaries { 10.53.0.2; };
inline-signing yes;
auto-dnssec maintain;
file "retransfer3.bk";
zone "inactiveksk" {
type slave;
- masters { 10.53.0.2; };
+ primaries { 10.53.0.2; };
inline-signing yes;
auto-dnssec maintain;
dnssec-dnskey-kskonly yes;
zone "inactivezsk" {
type slave;
- masters { 10.53.0.2; };
+ primaries { 10.53.0.2; };
inline-signing yes;
auto-dnssec maintain;
file "inactivezsk.bk";
zone "nokeys" {
type slave;
- masters { 10.53.0.2; };
+ primaries { 10.53.0.2; };
inline-signing yes;
auto-dnssec maintain;
file "nokeys.bk";
zone "removedkeys-secondary" {
type slave;
- masters { 10.53.0.2; };
+ primaries { 10.53.0.2; };
inline-signing yes;
auto-dnssec maintain;
file "removedkeys-secondary.bk";
zone "test" IN {
type slave;
file "mytest.db";
- masters { 10.53.0.3; };
+ primaries { 10.53.0.3; };
max-ixfr-ratio unlimited;
};
zone "sub.test" IN {
type slave;
file "subtest.db";
request-ixfr no;
- masters { 10.53.0.3; };
+ primaries { 10.53.0.3; };
};
};
zone "test" IN {
type slave;
file "mytest.db";
- masters { 10.53.0.3; };
+ primaries { 10.53.0.3; };
};
zone "sub.test" IN {
type slave;
file "subtest.db";
request-ixfr no;
- masters { 10.53.0.3; };
+ primaries { 10.53.0.3; };
};
};
/* A secondary zone with dnssec-policy. */
zone "secondary.kasp" {
type secondary;
- masters { 10.53.0.2; };
+ primaries { 10.53.0.2; };
file "secondary.kasp.db";
dnssec-policy "rsasha1";
};
zone "transfer1" {
type slave;
- masters { 10.53.0.1; };
+ primaries { 10.53.0.1; };
file "transfer.db.raw";
};
zone "transfer2" {
type slave;
- masters { 10.53.0.1; };
+ primaries { 10.53.0.1; };
masterfile-format text;
file "transfer.db.txt";
};
zone "transfer3" {
type slave;
- masters { 10.53.0.1; };
+ primaries { 10.53.0.1; };
file "formerly-text.db";
};
zone "transfer4" {
type slave;
- masters { 10.53.0.1; };
+ primaries { 10.53.0.1; };
masterfile-format text;
masterfile-style full;
file "transfer.db.full";
zone "large" {
type slave;
- masters { 10.53.0.1; };
+ primaries { 10.53.0.1; };
masterfile-format raw;
file "large.bk";
};
zone "." {
type mirror;
- masters { 10.53.0.1; };
+ primaries { 10.53.0.1; };
file "root.db.mirror";
};
zone "initially-unavailable" {
type mirror;
- masters { 10.53.0.2; };
+ primaries { 10.53.0.2; };
file "initially-unavailable.db.mirror";
use-alt-transfer-source no;
};
zone "verify-axfr" {
type mirror;
- masters { 10.53.0.2; };
+ primaries { 10.53.0.2; };
file "verify-axfr.db.mirror";
};
zone "verify-csk" {
type mirror;
- masters { 10.53.0.2; };
+ primaries { 10.53.0.2; };
file "verify-csk.db.mirror";
};
zone "verify-ixfr" {
type mirror;
- masters { 10.53.0.2; };
+ primaries { 10.53.0.2; };
file "verify-ixfr.db.mirror";
masterfile-format text;
};
zone "verify-load" {
type mirror;
- masters { 10.53.0.2; };
+ primaries { 10.53.0.2; };
file "verify-load.db.mirror";
masterfile-format text;
};
zone "verify-reconfig" {
type mirror;
- masters { 10.53.0.2; };
+ primaries { 10.53.0.2; };
file "verify-reconfig.db.mirror";
masterfile-format text;
};
zone "verify-unsigned" {
type mirror;
- masters { 10.53.0.2; };
+ primaries { 10.53.0.2; };
file "verify-unsigned.db.mirror";
};
zone "verify-untrusted" {
type mirror;
- masters { 10.53.0.2; };
+ primaries { 10.53.0.2; };
file "verify-untrusted.db.mirror";
};
also-notify { /* empty */ };
};
-masters noport { 10.53.0.4; };
+primaries noport { 10.53.0.4; };
-masters x21 port @EXTRAPORT1@ { noport; };
+primaries x21 port @EXTRAPORT1@ { noport; };
zone x1 { type master; file "generic.db"; also-notify { 10.53.0.3; }; };
zone x2 { type master; file "generic.db"; also-notify { 10.53.0.3; }; };
zone "example" {
type slave;
- masters { 10.53.0.2; };
+ primaries { 10.53.0.2; };
file "example.bk";
};
zone "x21" {
type slave;
- masters { 10.53.0.2 port @PORT@; };
+ primaries { 10.53.0.2 port @PORT@; };
file "x21.bk";
};
match-clients { key "b"; };
zone "x21" {
type slave;
- masters { 10.53.0.5 key "a"; };
+ primaries { 10.53.0.5 key "a"; };
file "x21.bk-b";
notify no;
};
match-clients { key "c"; };
zone "x21" {
type slave;
- masters { 10.53.0.5 key "a"; };
+ primaries { 10.53.0.5 key "a"; };
file "x21.bk-c";
notify no;
};
allow-transfer { any; };
};
-masters othermasters {
+primaries others {
10.53.0.2 port @PORT@;
10.53.0.2 port @PORT@ key altkey;
};
check-mx fail;
allow-update { any; };
allow-transfer { any; };
- also-notify { othermasters; };
+ also-notify { others; };
};
zone "unixtime.nil" {
zone "update.nil" {
type slave;
- masters { 10.53.0.1; };
+ primaries { 10.53.0.1; };
file "update.alt.bk";
allow-transfer { any; };
};
zone "example.nil" {
type slave;
- masters { 10.53.0.1; };
+ primaries { 10.53.0.1; };
file "example.bk";
allow-transfer { any; };
};
zone "update.nil" {
type slave;
- masters { 10.53.0.1; };
+ primaries { 10.53.0.1; };
file "update.bk";
allow-transfer { any; };
};
zone "many.test" {
type slave;
- masters { 10.53.0.1; };
+ primaries { 10.53.0.1; };
allow-update-forwarding { any; };
file "many.test.bk";
};
zone "bl18" {type master; file "../ns5/bl.db"; };
zone "bl19" {type master; file "../ns5/bl.db"; };
-zone "bl" {type slave; masters port @PORT@ { 10.53.0.3; }; };
-zone "bl-2" {type slave; masters port @PORT@ { 10.53.0.3; }; };
-zone "bl-given" {type slave; masters port @PORT@ { 10.53.0.3; }; };
-zone "bl-passthru" {type slave; masters port @PORT@ { 10.53.0.3; }; };
-zone "bl-no-op" {type slave; masters port @PORT@ { 10.53.0.3; }; };
-zone "bl-disabled" {type slave; masters port @PORT@ { 10.53.0.3; }; };
-zone "bl-nodata" {type slave; masters port @PORT@ { 10.53.0.3; }; };
-zone "bl-nxdomain" {type slave; masters port @PORT@ { 10.53.0.3; }; };
-zone "bl-cname" {type slave; masters port @PORT@ { 10.53.0.3; }; };
-zone "bl-wildcname" {type slave; masters port @PORT@ { 10.53.0.3; }; };
-zone "bl-garden" {type slave; masters port @PORT@ { 10.53.0.3; }; };
-zone "bl-drop" {type slave; masters port @PORT@ { 10.53.0.3; }; };
-zone "bl-tcp-only" {type slave; masters port @PORT@ { 10.53.0.3; }; };
-zone "bl.tld2" {type slave; masters port @PORT@ { 10.53.0.3; }; };
+zone "bl" {type slave; primaries port @PORT@ { 10.53.0.3; }; };
+zone "bl-2" {type slave; primaries port @PORT@ { 10.53.0.3; }; };
+zone "bl-given" {type slave; primaries port @PORT@ { 10.53.0.3; }; };
+zone "bl-passthru" {type slave; primaries port @PORT@ { 10.53.0.3; }; };
+zone "bl-no-op" {type slave; primaries port @PORT@ { 10.53.0.3; }; };
+zone "bl-disabled" {type slave; primaries port @PORT@ { 10.53.0.3; }; };
+zone "bl-nodata" {type slave; primaries port @PORT@ { 10.53.0.3; }; };
+zone "bl-nxdomain" {type slave; primaries port @PORT@ { 10.53.0.3; }; };
+zone "bl-cname" {type slave; primaries port @PORT@ { 10.53.0.3; }; };
+zone "bl-wildcname" {type slave; primaries port @PORT@ { 10.53.0.3; }; };
+zone "bl-garden" {type slave; primaries port @PORT@ { 10.53.0.3; }; };
+zone "bl-drop" {type slave; primaries port @PORT@ { 10.53.0.3; }; };
+zone "bl-tcp-only" {type slave; primaries port @PORT@ { 10.53.0.3; }; };
+zone "bl.tld2" {type slave; primaries port @PORT@ { 10.53.0.3; }; };
-zone "policy1" {type slave; masters port @PORT@ { 10.53.0.6; }; };
-zone "policy2" {type slave; masters port @PORT@ { 10.53.0.7; }; };
+zone "policy1" {type slave; primaries port @PORT@ { 10.53.0.6; }; };
+zone "policy2" {type slave; primaries port @PORT@ { 10.53.0.7; }; };
zone "bl-tcp-only." {type master; file "bl-tcp-only.db";
allow-update {any;};};
-zone "bl.tld2." {type slave; file "bl.tld2.db"; masters {10.53.0.2;};
+zone "bl.tld2." {type slave; file "bl.tld2.db"; primaries {10.53.0.2;};
request-ixfr no; masterfile-format text;};
zone "crash1.tld2" {type master; file "crash1"; notify no;};
zone "fast-expire." {
type secondary;
file "fast-expire.db";
- masters { 10.53.0.5; };
+ primaries { 10.53.0.5; };
notify no;
};
zone "policy1" {
type slave;
- masters { 10.53.0.5; };
+ primaries { 10.53.0.5; };
file "empty.db";
also-notify { 10.53.0.3 port @EXTRAPORT1@; };
notify-delay 0;
zone "policy2" {
type slave;
- masters { 10.53.0.5; };
+ primaries { 10.53.0.5; };
file "policy2.db";
also-notify { 10.53.0.3 port @EXTRAPORT1@; };
notify-delay 0;
zone "." {
type slave;
- masters { 10.53.0.1; };
+ primaries { 10.53.0.1; };
file "root.bk";
};
zone "." {
type slave;
- masters { 10.53.0.1; };
+ primaries { 10.53.0.1; };
file "root.bk";
};
zone "." {
type slave;
- masters { 10.53.0.1; };
+ primaries { 10.53.0.1; };
file "root.bk";
};
zone "a-slave" {
type slave;
file "slave.bk";
- masters { 10.53.0.1; };
+ primaries { 10.53.0.1; };
};
zone "example" {
type secondary;
file "example.db";
- masters { 10.53.0.1; };
+ primaries { 10.53.0.1; };
};
zone "child.example" {
type stub;
file "child.example.st";
- masters { 10.53.0.2; };
+ primaries { 10.53.0.2; };
};
view "in" {
zone "example." {
type slave;
- masters { 10.53.0.1; };
+ primaries { 10.53.0.1; };
file "example-in.bk";
};
};
view "in" {
zone "example." {
type slave;
- masters { 10.53.0.1; };
+ primaries { 10.53.0.1; };
inline-signing yes;
auto-dnssec maintain;
file "example-in.bk";
zone "example" {
type slave;
file "example.bk";
- masters { 10.53.0.1; };
+ primaries { 10.53.0.1; };
};
zone "example2" {
type slave;
file "example2.bk";
- masters { 10.53.0.1; };
+ primaries { 10.53.0.1; };
};
type slave;
file "example.bk";
allow-update-forwarding { any; };
- masters { 10.53.0.1; };
+ primaries { 10.53.0.1; };
};
zone "example2" {
type slave;
file "example2.bk";
allow-update-forwarding { any; };
- masters { 10.53.0.1; };
+ primaries { 10.53.0.1; };
};
zone "nomaster" {
file "nomaster1.db";
allow-update-forwarding { any; };
masterfile-format text;
- masters { 10.53.0.4; };
+ primaries { 10.53.0.4; };
};
zone "example" {
type slave;
- masters { 10.53.0.2; };
+ primaries { 10.53.0.2; };
file "internal.bk";
};
zone "slave" {
type slave;
file "slave.db";
- masters { 10.53.0.1; };
+ primaries { 10.53.0.1; };
masterfile-format text;
};
type slave;
file "mapped.db";
masterfile-format text;
- masters { 10.53.0.100; };
+ primaries { 10.53.0.100; };
};
zone "example" {
type slave;
- masters { 10.53.0.2; };
+ primaries { 10.53.0.2; };
file "example.bk";
};
zone "master" {
type slave;
- masters { 10.53.0.6; };
+ primaries { 10.53.0.6; };
file "master.bk";
};
zone "tsigzone" {
type slave;
- masters { 10.53.0.2; };
+ primaries { 10.53.0.2; };
file "tsigzone.bk";
allow-transfer { key tsigzone.; };
};
zone "mapped" {
type slave;
- masters { 10.53.0.2; };
+ primaries { 10.53.0.2; };
masterfile-format map;
file "mapped.bk";
};
zone "xfer-stats" {
type slave;
- masters { 10.53.0.1; };
+ primaries { 10.53.0.1; };
file "xfer-stats.bk";
};
zone "slave" {
type slave;
notify no;
- masters { 10.53.0.1; };
+ primaries { 10.53.0.1; };
file "slave.bk";
};
zone "edns-expire" {
type slave;
- masters { 10.53.0.1; };
+ primaries { 10.53.0.1; };
file "edns-expire.bk";
};
zone "axfr-too-big" {
type slave;
max-records 30;
- masters { 10.53.0.1; };
+ primaries { 10.53.0.1; };
file "axfr-too-big.bk";
};
zone "ixfr-too-big" {
type slave;
max-records 30;
- masters { 10.53.0.1; };
+ primaries { 10.53.0.1; };
file "ixfr-too-big.bk";
};
listen-on-v6 { none; };
recursion no;
notify yes;
- ixfr-from-differences slave;
+ ixfr-from-differences secondary;
check-integrity no;
};
};
zone "master2" {
- type master;
+ type primary;
file "master2.db";
};
zone "slave" {
- type slave;
- masters { 10.53.0.1; };
+ type secondary;
+ primaries { 10.53.0.1; };
file "slave.bk";
};
zone "edns-expire" {
- type slave;
- masters { 10.53.0.6; };
+ type secondary;
+ primaries { 10.53.0.6; };
file "edns-expire.bk";
};
status=$((status+tmp))
n=$((n+1))
-echo_i "testing ixfr-from-differences master; (slave zone) ($n)"
+echo_i "testing ixfr-from-differences master; (secondary zone) ($n)"
tmp=0
$DIG $DIGOPTS slave. \
status=$((status+tmp))
n=$((n+1))
-echo_i "testing ixfr-from-differences slave; (master zone) ($n)"
+echo_i "testing ixfr-from-differences secondary; (secondary zone) ($n)"
tmp=0
# ns7 has a journal iff it generates an IXFR.
status=$((status+tmp))
n=$((n+1))
-echo_i "testing ixfr-from-differences slave; (slave zone) ($n)"
+echo_i "testing ixfr-from-differences secondary; (secondary zone) ($n)"
tmp=0
$DIG $DIGOPTS slave. \
# Initially, ns4 is not authoritative for anything.
# Now that ans is up and running with the right data, we make ns4
-# a slave for nil.
+# a secondary for nil.
cat <<EOF >>ns4/named.conf
zone "nil" {
- type slave;
+ type secondary;
file "nil.db";
masters { 10.53.0.5 key tsig_key; };
};
zone "changing." {
type slave;
- masters { 10.53.0.1; };
+ primaries { 10.53.0.1; };
file "changing.bk";
};
zone "example" {
type slave;
- masters { 10.53.0.2; };
+ primaries { 10.53.0.2; };
file "example.bk";
};
zone "master.example" {
type secondary;
- masters { 10.53.0.1; };
+ primaries { 10.53.0.1; };
file "slave.db";
};
``address_match_list``
A list of one or more ``ip_addr``, ``ip_prefix``, ``key_id``, or ``acl_name`` elements, see :ref:`address_match_lists`.
- ``masters_list``
- A named list of one or more ``ip_addr`` with optional ``key_id`` and/or ``ip_port``. A ``masters_list`` may include other ``masters_lists``.
+ ``primaries_list``
+ A named list of one or more ``ip_addr`` with optional ``key_id`` and/or ``ip_port``. A ``primaries_list`` may include other ``primaries_lists``.
``domain_name``
A quoted string which is used as a DNS name, for example "``my.test.domain``".
Specifies what the server logs, and where the log messages are sent.
``masters``
- Defines a named masters list for inclusion in stub and secondary zones' ``masters`` or ``also-notify`` lists.
+ Synonym for ``primaries``.
``options``
Controls global server configuration options and sets defaults for other statements.
+ ``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.)
+
``server``
Sets certain configuration options on a per-server basis.
``debug`` level 2 is logged for errors other than SERVFAIL and for negative
responses such as NXDOMAIN.
-.. _masters_grammar:
+.. _primaries_grammar:
-``masters`` Statement Grammar
+``primaries`` Statement Grammar
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-.. include:: ../misc/masters.grammar.rst
+.. include:: ../misc/primaries.grammar.rst
-.. _masters_statement:
+.. _primaries_statement:
-``masters`` Statement Definition and Usage
+``primaries`` Statement Definition and Usage
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-``masters`` lists allow for a common set of masters to be easily used by
-multiple stub and secondary zones in their ``masters`` or ``also-notify``
-lists.
+``primaries`` lists allow for a common set of primary servers to be easily
+used by multiple stub and secondary zones in their ``primaries`` or
+``also-notify`` lists. (Note: ``primaries`` is a synonym for the original
+keyword ``masters``, which can still be used, but is no longer the
+preferred terminology.)
.. _options_grammar:
sections. The default is ``no``.
``notify``
- If ``yes`` (the default), DNS NOTIFY messages are sent when a zone
- the server is authoritative for changes; see :ref:`notify`.
+ If set to ``yes`` (the default), DNS NOTIFY messages are sent when a
+ zone the server is authoritative for changes; see :ref:`notify`.
The messages are sent to the servers listed in the zone's NS records
(except the primary server identified in the SOA MNAME field), and to
any servers listed in the ``also-notify`` option.
- If ``master-only``, notifies are only sent for primary zones. If
- ``explicit``, notifies are sent only to servers explicitly listed
- using ``also-notify``. If ``no``, no notifies are sent.
+ If set to ``primary-only`` (or the older keyword ``master-only``),
+ notifies are only sent for primary zones. If set to ``explicit``,
+ notifies are sent only to servers explicitly listed using
+ ``also-notify``. If set to ``no``, no notifies are sent.
The ``notify`` option may also be specified in the ``zone``
statement, in which case it overrides the ``options notify``
global value is overridden.
If not specified, the default is to process NOTIFY messages only from
- the configured ``masters`` for the zone. ``allow-notify`` can be used
+ the configured ``primaries`` for the zone. ``allow-notify`` can be used
to expand the list of permitted hosts, not to reduce it.
``allow-query``
than the default of 53. An optional TSIG key can also be specified
with each address to cause the notify messages to be signed; this can
be useful when sending notifies to multiple views. In place of
- explicit addresses, one or more named ``masters`` lists can be used.
+ explicit addresses, one or more named ``primaries`` lists can be used.
If an ``also-notify`` list is given in a ``zone`` statement, it
overrides the ``options also-notify`` statement. When a
``notify-source``
``notify-source`` determines which local source address, and
optionally UDP port, is used to send NOTIFY messages. This
- address must appear in the secondary server's ``masters`` zone clause or
+ address must appear in the secondary server's ``primaries`` zone clause or
in an ``allow-notify`` clause. This statement sets the
``notify-source`` for all zones, but can be overridden on a per-zone
or per-view basis by including a ``notify-source`` statement within
``secondary``
A secondary zone is a replica of a primary zone. Type ``slave`` is a
- synonym for ``secondary``. The ``masters`` list specifies one or more IP
+ synonym for ``secondary``. The ``primaries`` list specifies one or more IP
addresses of primary servers that the secondary contacts to update
- its copy of the zone. Masters list elements can
- also be names of other masters lists. By default,
+ its copy of the zone. Primaires list elements can
+ also be names of other primaries lists. By default,
transfers are made from port 53 on the servers;
this can be changed for all servers by specifying
a port number before the list of IP addresses,
Mirroring a zone other than root
requires an explicit list of primary servers to be provided using the
- ``masters`` option (see :ref:`masters_grammar` for details), and a
+ ``primaries`` option (see :ref:`primaries_grammar` for details), and a
key-signing key (KSK) for the specified zone to be explicitly configured as a
trust anchor.
Note that the redirect zone supports all possible types; it is not
limited to A and AAAA records.
- If a redirect zone is configured with a ``masters`` option, then it is
+ If a redirect zone is configured with a ``primaries`` option, then it is
transferred in as if it were a secondary zone. Otherwise, it is loaded from a
file as if it were a primary zone.
``file``
This sets the zone's filename. In ``primary``, ``hint``, and ``redirect``
- zones which do not have ``masters`` defined, zone data is loaded from
+ zones which do not have ``primaries`` defined, zone data is loaded from
this file. In ``secondary``, ``mirror``, ``stub``, and ``redirect`` zones
- which do have ``masters`` defined, zone data is retrieved from
+ which do have ``primaries`` defined, zone data is retrieved from
another server and saved in this file. This option is not applicable
to other zone types.
dnssec-policy.grammar.rst \
key.grammar.rst \
logging.grammar.rst \
- masters.grammar.rst \
+ primaries.grammar.rst \
options.grammar.rst \
server.grammar.rst \
statistics-channels.grammar.rst \
logging.grammar.rst: options.active
$(AM_V_RST_GRAMMARS)$(PERL) $(srcdir)/rst-grammars.pl options.active logging > $@
-masters.grammar.rst: options.active
- $(AM_V_RST_GRAMMARS)$(PERL) $(srcdir)/rst-grammars.pl options.active masters > $@
+primaries.grammar.rst: options.active
+ $(AM_V_RST_GRAMMARS)$(PERL) $(srcdir)/rst-grammars.pl options.active primaries > $@
options.grammar.rst: options.active
$(AM_V_RST_GRAMMARS)$(PERL) $(srcdir)/rst-grammars.pl options.active options > $@
allow-query-on { <address_match_element>; ... };
allow-transfer { <address_match_element>; ... };
allow-update { <address_match_element>; ... };
- also-notify [ port <integer> ] [ dscp <integer> ] { ( <masters> | <ipv4_address> [ port <integer> ] | <ipv6_address> [ port <integer> ] ) [ key <string> ]; ... };
+ also-notify [ port <integer> ] [ dscp <integer> ] { ( <primaries> | <ipv4_address> [ port <integer> ] | <ipv6_address> [ port <integer> ] ) [ key <string> ]; ... };
alt-transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ] [ dscp <integer> ];
alt-transfer-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ] [ dscp <integer> ];
auto-dnssec ( allow | maintain | off );
allow-query-on { <address_match_element>; ... };
allow-transfer { <address_match_element>; ... };
allow-update { <address_match_element>; ... };
- also-notify [ port <integer> ] [ dscp <integer> ] { ( <masters> | <ipv4_address> [ port <integer> ] | <ipv6_address> [ port <integer> ] ) [ key <string> ]; ... };
+ also-notify [ port <integer> ] [ dscp <integer> ] { ( <primaries> | <ipv4_address> [ port <integer> ] | <ipv6_address> [ port <integer> ] ) [ key <string> ]; ... };
alt-transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ] [ dscp <integer> ];
alt-transfer-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ] [ dscp <integer> ];
auto-dnssec ( allow | maintain | off );
+++ /dev/null
-::
-
- masters <string> [ port <integer> ] [ dscp
- <integer> ] { ( <masters> | <ipv4_address> [
- port <integer> ] | <ipv6_address> [ port
- <integer> ] ) [ key <string> ]; ... };
allow-query-on { <address_match_element>; ... };
allow-transfer { <address_match_element>; ... };
allow-update-forwarding { <address_match_element>; ... };
- also-notify [ port <integer> ] [ dscp <integer> ] { ( <masters> | <ipv4_address> [ port <integer> ] | <ipv6_address> [ port <integer> ] ) [ key <string> ]; ... };
+ also-notify [ port <integer> ] [ dscp <integer> ] { ( <primaries> | <ipv4_address> [ port <integer> ] | <ipv6_address> [ port <integer> ] ) [ key <string> ]; ... };
alt-transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ] [ dscp <integer> ];
alt-transfer-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ] [ dscp <integer> ];
check-names ( fail | warn | ignore );
journal <quoted_string>;
masterfile-format ( map | raw | text );
masterfile-style ( full | relative );
- masters [ port <integer> ] [ dscp <integer> ] { ( <masters> | <ipv4_address> [ port <integer> ] | <ipv6_address> [ port <integer> ] ) [ key <string> ]; ... };
+ masters [ port <integer> ] [ dscp <integer> ] { ( <primaries> | <ipv4_address> [ port <integer> ] | <ipv6_address> [ port <integer> ] ) [ key <string> ]; ... };
max-ixfr-ratio ( unlimited | <percentage> );
max-journal-size ( default | unlimited | <sizeval> );
max-records <integer>;
notify-delay <integer>;
notify-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ] [ dscp <integer> ];
notify-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ] [ dscp <integer> ];
+ primaries [ port <integer> ] [ dscp <integer> ] { ( <primaries> | <ipv4_address> [ port <integer> ] | <ipv6_address> [ port <integer> ] ) [ key <string> ]; ... };
request-expire <boolean>;
request-ixfr <boolean>;
transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ] [ dscp <integer> ];
allow-query-on { <address_match_element>; ... };
allow-transfer { <address_match_element>; ... };
allow-update-forwarding { <address_match_element>; ... };
- also-notify [ port <integer> ] [ dscp <integer> ] { ( <masters> | <ipv4_address> [ port <integer> ] | <ipv6_address> [ port <integer> ] ) [ key <string> ]; ... };
+ also-notify [ port <integer> ] [ dscp <integer> ] { ( <primaries> | <ipv4_address> [ port <integer> ] | <ipv6_address> [ port <integer> ] ) [ key <string> ]; ... };
alt-transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ] [ dscp <integer> ];
alt-transfer-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ] [ dscp <integer> ];
check-names ( fail | warn | ignore );
journal <quoted_string>;
masterfile-format ( map | raw | text );
masterfile-style ( full | relative );
- masters [ port <integer> ] [ dscp <integer> ] { ( <masters> | <ipv4_address> [ port <integer> ] | <ipv6_address> [ port <integer> ] ) [ key <string> ]; ... };
+ masters [ port <integer> ] [ dscp <integer> ] { ( <primaries> | <ipv4_address> [ port <integer> ] | <ipv6_address> [ port <integer> ] ) [ key <string> ]; ... };
max-ixfr-ratio ( unlimited | <percentage> );
max-journal-size ( default | unlimited | <sizeval> );
max-records <integer>;
notify-delay <integer>;
notify-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ] [ dscp <integer> ];
notify-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ] [ dscp <integer> ];
+ primaries [ port <integer> ] [ dscp <integer> ] { ( <primaries> | <ipv4_address> [ port <integer> ] | <ipv6_address> [ port <integer> ] ) [ key <string> ]; ... };
request-expire <boolean>;
request-ixfr <boolean>;
transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ] [ dscp <integer> ];
<integer> <quoted_string>; ... }; // may occur multiple times, deprecated
masters <string> [ port <integer> ] [ dscp
- <integer> ] { ( <masters> | <ipv4_address> [
- port <integer> ] | <ipv6_address> [ port
+ <integer> ] { ( <primaries> | <ipv4_address>
+ [ port <integer> ] | <ipv6_address> [ port
<integer> ] ) [ key <string> ]; ... }; // may occur multiple times
options {
allow-update { <address_match_element>; ... };
allow-update-forwarding { <address_match_element>; ... };
allow-v6-synthesis { <address_match_element>; ... }; // obsolete
- also-notify [ port <integer> ] [ dscp <integer> ] { ( <masters> |
+ also-notify [ port <integer> ] [ dscp <integer> ] { ( <primaries> |
<ipv4_address> [ port <integer> ] | <ipv6_address> [ port
<integer> ] ) [ key <string> ]; ... };
alt-transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * )
blackhole { <address_match_element>; ... };
cache-file <quoted_string>;
catalog-zones { zone <string> [ default-masters [ port <integer> ]
- [ dscp <integer> ] { ( <masters> | <ipv4_address> [ port
+ [ dscp <integer> ] { ( <primaries> | <ipv4_address> [ port
<integer> ] | <ipv6_address> [ port <integer> ] ) [ key
<string> ]; ... } ] [ zone-directory <quoted_string> ] [
in-memory <boolean> ] [ min-update-interval <duration> ]; ... };
dnssec-secure-to-insecure <boolean>;
dnssec-update-mode ( maintain | no-resign );
dnssec-validation ( yes | no | auto );
- dnstap { ( all | auth | client | forwarder | resolver | update ) [
- ( query | response ) ]; ... };
- dnstap-identity ( <quoted_string> | none | hostname );
- dnstap-output ( file | unix ) <quoted_string> [ size ( unlimited |
- <size> ) ] [ versions ( unlimited | <integer> ) ] [ suffix (
- increment | timestamp ) ];
- dnstap-version ( <quoted_string> | none );
+ dnstap { ( all | auth | client | forwarder |
+ resolver | update ) [ ( query | response ) ];
+ ... }; // not configured
+ dnstap-identity ( <quoted_string> | none |
+ hostname ); // not configured
+ dnstap-output ( file | unix ) <quoted_string> [
+ size ( unlimited | <size> ) ] [ versions (
+ unlimited | <integer> ) ] [ suffix ( increment
+ | timestamp ) ]; // not configured
+ dnstap-version ( <quoted_string> | none ); // not configured
dscp <integer>;
dual-stack-servers [ port <integer> ] { ( <quoted_string> [ port
<integer> ] [ dscp <integer> ] | <ipv4_address> [ port
forward ( first | only );
forwarders [ port <integer> ] [ dscp <integer> ] { ( <ipv4_address>
| <ipv6_address> ) [ port <integer> ] [ dscp <integer> ]; ... };
- fstrm-set-buffer-hint <integer>;
- fstrm-set-flush-timeout <integer>;
- fstrm-set-input-queue-size <integer>;
- fstrm-set-output-notify-threshold <integer>;
- fstrm-set-output-queue-model ( mpsc | spsc );
- fstrm-set-output-queue-size <integer>;
- fstrm-set-reopen-interval <duration>;
+ fstrm-set-buffer-hint <integer>; // not configured
+ fstrm-set-flush-timeout <integer>; // not configured
+ fstrm-set-input-queue-size <integer>; // not configured
+ fstrm-set-output-notify-threshold <integer>; // not configured
+ fstrm-set-output-queue-model ( mpsc | spsc ); // not configured
+ fstrm-set-output-queue-size <integer>; // not configured
+ fstrm-set-reopen-interval <duration>; // not configured
geoip-directory ( <quoted_string> | none );
geoip-use-ecs <boolean>; // obsolete
glue-cache <boolean>;
plugin ( query ) <string> [ { <unspecified-text>
} ]; // may occur multiple times
+primaries <string> [ port <integer> ] [ dscp
+ <integer> ] { ( <primaries> | <ipv4_address>
+ [ port <integer> ] | <ipv6_address> [ port
+ <integer> ] ) [ key <string> ]; ... }; // may occur multiple times
+
server <netprefix> {
bogus <boolean>;
edns <boolean>;
allow-update { <address_match_element>; ... };
allow-update-forwarding { <address_match_element>; ... };
allow-v6-synthesis { <address_match_element>; ... }; // obsolete
- also-notify [ port <integer> ] [ dscp <integer> ] { ( <masters> |
+ also-notify [ port <integer> ] [ dscp <integer> ] { ( <primaries> |
<ipv4_address> [ port <integer> ] | <ipv6_address> [ port
<integer> ] ) [ key <string> ]; ... };
alt-transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * )
auto-dnssec ( allow | maintain | off );
cache-file <quoted_string>;
catalog-zones { zone <string> [ default-masters [ port <integer> ]
- [ dscp <integer> ] { ( <masters> | <ipv4_address> [ port
+ [ dscp <integer> ] { ( <primaries> | <ipv4_address> [ port
<integer> ] | <ipv6_address> [ port <integer> ] ) [ key
<string> ]; ... } ] [ zone-directory <quoted_string> ] [
in-memory <boolean> ] [ min-update-interval <duration> ]; ... };
dnssec-secure-to-insecure <boolean>;
dnssec-update-mode ( maintain | no-resign );
dnssec-validation ( yes | no | auto );
- dnstap { ( all | auth | client | forwarder | resolver | update ) [
- ( query | response ) ]; ... };
+ dnstap { ( all | auth | client | forwarder |
+ resolver | update ) [ ( query | response ) ];
+ ... }; // not configured
dual-stack-servers [ port <integer> ] { ( <quoted_string> [ port
<integer> ] [ dscp <integer> ] | <ipv4_address> [ port
<integer> ] [ dscp <integer> ] | <ipv6_address> [ port
allow-update { <address_match_element>; ... };
allow-update-forwarding { <address_match_element>; ... };
also-notify [ port <integer> ] [ dscp <integer> ] { (
- <masters> | <ipv4_address> [ port <integer> ] |
+ <primaries> | <ipv4_address> [ port <integer> ] |
<ipv6_address> [ port <integer> ] ) [ key <string> ];
... };
alt-transfer-source ( <ipv4_address> | * ) [ port (
maintain-ixfr-base <boolean>; // ancient
masterfile-format ( map | raw | text );
masterfile-style ( full | relative );
- masters [ port <integer> ] [ dscp <integer> ] { ( <masters>
- | <ipv4_address> [ port <integer> ] | <ipv6_address> [
- port <integer> ] ) [ key <string> ]; ... };
+ masters [ port <integer> ] [ dscp <integer> ] { (
+ <primaries> | <ipv4_address> [ port <integer> ] |
+ <ipv6_address> [ port <integer> ] ) [ key <string> ];
+ ... };
max-ixfr-log-size ( default | unlimited |
<sizeval> ); // ancient
max-ixfr-ratio ( unlimited | <percentage> );
| * ) ] [ dscp <integer> ];
notify-to-soa <boolean>;
nsec3-test-zone <boolean>; // test only
+ primaries [ port <integer> ] [ dscp <integer> ] { (
+ <primaries> | <ipv4_address> [ port <integer> ] |
+ <ipv6_address> [ port <integer> ] ) [ key <string> ];
+ ... };
pubkey <integer> <integer> <integer>
<quoted_string>; // ancient
request-expire <boolean>;
allow-transfer { <address_match_element>; ... };
allow-update { <address_match_element>; ... };
allow-update-forwarding { <address_match_element>; ... };
- also-notify [ port <integer> ] [ dscp <integer> ] { ( <masters> |
+ also-notify [ port <integer> ] [ dscp <integer> ] { ( <primaries> |
<ipv4_address> [ port <integer> ] | <ipv6_address> [ port
<integer> ] ) [ key <string> ]; ... };
alt-transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * )
maintain-ixfr-base <boolean>; // ancient
masterfile-format ( map | raw | text );
masterfile-style ( full | relative );
- masters [ port <integer> ] [ dscp <integer> ] { ( <masters> |
+ masters [ port <integer> ] [ dscp <integer> ] { ( <primaries> |
<ipv4_address> [ port <integer> ] | <ipv6_address> [ port
<integer> ] ) [ key <string> ]; ... };
max-ixfr-log-size ( default | unlimited | <sizeval> ); // ancient
[ dscp <integer> ];
notify-to-soa <boolean>;
nsec3-test-zone <boolean>; // test only
+ primaries [ port <integer> ] [ dscp <integer> ] { ( <primaries> |
+ <ipv4_address> [ port <integer> ] | <ipv6_address> [ port
+ <integer> ] ) [ key <string> ]; ... };
pubkey <integer> <integer> <integer> <quoted_string>; // ancient
request-expire <boolean>;
request-ixfr <boolean>;
<integer> <quoted_string>; ... }; // may occur multiple times, deprecated
masters <string> [ port <integer> ] [ dscp
- <integer> ] { ( <masters> | <ipv4_address> [
- port <integer> ] | <ipv6_address> [ port
+ <integer> ] { ( <primaries> | <ipv4_address>
+ [ port <integer> ] | <ipv6_address> [ port
<integer> ] ) [ key <string> ]; ... }; // may occur multiple times
options {
allow-transfer { <address_match_element>; ... };
allow-update { <address_match_element>; ... };
allow-update-forwarding { <address_match_element>; ... };
- also-notify [ port <integer> ] [ dscp <integer> ] { ( <masters> |
+ also-notify [ port <integer> ] [ dscp <integer> ] { ( <primaries> |
<ipv4_address> [ port <integer> ] | <ipv6_address> [ port
<integer> ] ) [ key <string> ]; ... };
alt-transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * )
blackhole { <address_match_element>; ... };
cache-file <quoted_string>;
catalog-zones { zone <string> [ default-masters [ port <integer> ]
- [ dscp <integer> ] { ( <masters> | <ipv4_address> [ port
+ [ dscp <integer> ] { ( <primaries> | <ipv4_address> [ port
<integer> ] | <ipv6_address> [ port <integer> ] ) [ key
<string> ]; ... } ] [ zone-directory <quoted_string> ] [
in-memory <boolean> ] [ min-update-interval <duration> ]; ... };
plugin ( query ) <string> [ { <unspecified-text>
} ]; // may occur multiple times
+primaries <string> [ port <integer> ] [ dscp
+ <integer> ] { ( <primaries> | <ipv4_address>
+ [ port <integer> ] | <ipv6_address> [ port
+ <integer> ] ) [ key <string> ]; ... }; // may occur multiple times
+
server <netprefix> {
bogus <boolean>;
edns <boolean>;
allow-transfer { <address_match_element>; ... };
allow-update { <address_match_element>; ... };
allow-update-forwarding { <address_match_element>; ... };
- also-notify [ port <integer> ] [ dscp <integer> ] { ( <masters> |
+ also-notify [ port <integer> ] [ dscp <integer> ] { ( <primaries> |
<ipv4_address> [ port <integer> ] | <ipv6_address> [ port
<integer> ] ) [ key <string> ]; ... };
alt-transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * )
auto-dnssec ( allow | maintain | off );
cache-file <quoted_string>;
catalog-zones { zone <string> [ default-masters [ port <integer> ]
- [ dscp <integer> ] { ( <masters> | <ipv4_address> [ port
+ [ dscp <integer> ] { ( <primaries> | <ipv4_address> [ port
<integer> ] | <ipv6_address> [ port <integer> ] ) [ key
<string> ]; ... } ] [ zone-directory <quoted_string> ] [
in-memory <boolean> ] [ min-update-interval <duration> ]; ... };
allow-update { <address_match_element>; ... };
allow-update-forwarding { <address_match_element>; ... };
also-notify [ port <integer> ] [ dscp <integer> ] { (
- <masters> | <ipv4_address> [ port <integer> ] |
+ <primaries> | <ipv4_address> [ port <integer> ] |
<ipv6_address> [ port <integer> ] ) [ key <string> ];
... };
alt-transfer-source ( <ipv4_address> | * ) [ port (
key-directory <quoted_string>;
masterfile-format ( map | raw | text );
masterfile-style ( full | relative );
- masters [ port <integer> ] [ dscp <integer> ] { ( <masters>
- | <ipv4_address> [ port <integer> ] | <ipv6_address> [
- port <integer> ] ) [ key <string> ]; ... };
+ masters [ port <integer> ] [ dscp <integer> ] { (
+ <primaries> | <ipv4_address> [ port <integer> ] |
+ <ipv6_address> [ port <integer> ] ) [ key <string> ];
+ ... };
max-ixfr-ratio ( unlimited | <percentage> );
max-journal-size ( default | unlimited | <sizeval> );
max-records <integer>;
notify-source-v6 ( <ipv6_address> | * ) [ port ( <integer>
| * ) ] [ dscp <integer> ];
notify-to-soa <boolean>;
+ primaries [ port <integer> ] [ dscp <integer> ] { (
+ <primaries> | <ipv4_address> [ port <integer> ] |
+ <ipv6_address> [ port <integer> ] ) [ key <string> ];
+ ... };
request-expire <boolean>;
request-ixfr <boolean>;
serial-update-method ( date | increment | unixtime );
allow-transfer { <address_match_element>; ... };
allow-update { <address_match_element>; ... };
allow-update-forwarding { <address_match_element>; ... };
- also-notify [ port <integer> ] [ dscp <integer> ] { ( <masters> |
+ also-notify [ port <integer> ] [ dscp <integer> ] { ( <primaries> |
<ipv4_address> [ port <integer> ] | <ipv6_address> [ port
<integer> ] ) [ key <string> ]; ... };
alt-transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * )
key-directory <quoted_string>;
masterfile-format ( map | raw | text );
masterfile-style ( full | relative );
- masters [ port <integer> ] [ dscp <integer> ] { ( <masters> |
+ masters [ port <integer> ] [ dscp <integer> ] { ( <primaries> |
<ipv4_address> [ port <integer> ] | <ipv6_address> [ port
<integer> ] ) [ key <string> ]; ... };
max-ixfr-ratio ( unlimited | <percentage> );
notify-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ]
[ dscp <integer> ];
notify-to-soa <boolean>;
+ primaries [ port <integer> ] [ dscp <integer> ] { ( <primaries> |
+ <ipv4_address> [ port <integer> ] | <ipv6_address> [ port
+ <integer> ] ) [ key <string> ]; ... };
request-expire <boolean>;
request-ixfr <boolean>;
serial-update-method ( date | increment | unixtime );
allow-transfer { <address_match_element>; ... };
allow-update { <address_match_element>; ... };
allow-update-forwarding { <address_match_element>; ... };
- also-notify [ port <integer> ] [ dscp <integer> ] { ( <masters> |
+ also-notify [ port <integer> ] [ dscp <integer> ] { ( <primaries> |
<ipv4_address> [ port <integer> ] | <ipv6_address> [ port
<integer> ] ) [ key <string> ]; ... };
alt-transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * )
blackhole { <address_match_element>; ... };
cache-file <quoted_string>;
catalog-zones { zone <string> [ default-masters [ port <integer> ]
- [ dscp <integer> ] { ( <masters> | <ipv4_address> [ port
+ [ dscp <integer> ] { ( <primaries> | <ipv4_address> [ port
<integer> ] | <ipv6_address> [ port <integer> ] ) [ key
<string> ]; ... } ] [ zone-directory <quoted_string> ] [
in-memory <boolean> ] [ min-update-interval <duration> ]; ... };
--- /dev/null
+::
+
+ primaries <string> [ port <integer> ] [ dscp
+ <integer> ] { ( <primaries> | <ipv4_address>
+ [ port <integer> ] | <ipv6_address> [ port
+ <integer> ] ) [ key <string> ]; ... };
file <quoted_string>;
masterfile-format ( map | raw | text );
masterfile-style ( full | relative );
- masters [ port <integer> ] [ dscp <integer> ] { ( <masters> | <ipv4_address> [ port <integer> ] | <ipv6_address> [ port <integer> ] ) [ key <string> ]; ... };
+ masters [ port <integer> ] [ dscp <integer> ] { ( <primaries> | <ipv4_address> [ port <integer> ] | <ipv6_address> [ port <integer> ] ) [ key <string> ]; ... };
max-records <integer>;
max-zone-ttl ( unlimited | <duration> );
+ primaries [ port <integer> ] [ dscp <integer> ] { ( <primaries> | <ipv4_address> [ port <integer> ] | <ipv6_address> [ port <integer> ] ) [ key <string> ]; ... };
zone-statistics ( full | terse | none | <boolean> );
};
file <quoted_string>;
masterfile-format ( map | raw | text );
masterfile-style ( full | relative );
- masters [ port <integer> ] [ dscp <integer> ] { ( <masters> | <ipv4_address> [ port <integer> ] | <ipv6_address> [ port <integer> ] ) [ key <string> ]; ... };
+ masters [ port <integer> ] [ dscp <integer> ] { ( <primaries> | <ipv4_address> [ port <integer> ] | <ipv6_address> [ port <integer> ] ) [ key <string> ]; ... };
max-records <integer>;
max-zone-ttl ( unlimited | <duration> );
+ primaries [ port <integer> ] [ dscp <integer> ] { ( <primaries> | <ipv4_address> [ port <integer> ] | <ipv6_address> [ port <integer> ] ) [ key <string> ]; ... };
zone-statistics ( full | terse | none | <boolean> );
};
allow-query-on { <address_match_element>; ... };
allow-transfer { <address_match_element>; ... };
allow-update-forwarding { <address_match_element>; ... };
- also-notify [ port <integer> ] [ dscp <integer> ] { ( <masters> | <ipv4_address> [ port <integer> ] | <ipv6_address> [ port <integer> ] ) [ key <string> ]; ... };
+ also-notify [ port <integer> ] [ dscp <integer> ] { ( <primaries> | <ipv4_address> [ port <integer> ] | <ipv6_address> [ port <integer> ] ) [ key <string> ]; ... };
alt-transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ] [ dscp <integer> ];
alt-transfer-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ] [ dscp <integer> ];
auto-dnssec ( allow | maintain | off );
key-directory <quoted_string>;
masterfile-format ( map | raw | text );
masterfile-style ( full | relative );
- masters [ port <integer> ] [ dscp <integer> ] { ( <masters> | <ipv4_address> [ port <integer> ] | <ipv6_address> [ port <integer> ] ) [ key <string> ]; ... };
+ masters [ port <integer> ] [ dscp <integer> ] { ( <primaries> | <ipv4_address> [ port <integer> ] | <ipv6_address> [ port <integer> ] ) [ key <string> ]; ... };
max-ixfr-ratio ( unlimited | <percentage> );
max-journal-size ( default | unlimited | <sizeval> );
max-records <integer>;
notify-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ] [ dscp <integer> ];
notify-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ] [ dscp <integer> ];
notify-to-soa <boolean>;
+ primaries [ port <integer> ] [ dscp <integer> ] { ( <primaries> | <ipv4_address> [ port <integer> ] | <ipv6_address> [ port <integer> ] ) [ key <string> ]; ... };
request-expire <boolean>;
request-ixfr <boolean>;
sig-signing-nodes <integer>;
allow-query-on { <address_match_element>; ... };
allow-transfer { <address_match_element>; ... };
allow-update-forwarding { <address_match_element>; ... };
- also-notify [ port <integer> ] [ dscp <integer> ] { ( <masters> | <ipv4_address> [ port <integer> ] | <ipv6_address> [ port <integer> ] ) [ key <string> ]; ... };
+ also-notify [ port <integer> ] [ dscp <integer> ] { ( <primaries> | <ipv4_address> [ port <integer> ] | <ipv6_address> [ port <integer> ] ) [ key <string> ]; ... };
alt-transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ] [ dscp <integer> ];
alt-transfer-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ] [ dscp <integer> ];
auto-dnssec ( allow | maintain | off );
key-directory <quoted_string>;
masterfile-format ( map | raw | text );
masterfile-style ( full | relative );
- masters [ port <integer> ] [ dscp <integer> ] { ( <masters> | <ipv4_address> [ port <integer> ] | <ipv6_address> [ port <integer> ] ) [ key <string> ]; ... };
+ masters [ port <integer> ] [ dscp <integer> ] { ( <primaries> | <ipv4_address> [ port <integer> ] | <ipv6_address> [ port <integer> ] ) [ key <string> ]; ... };
max-ixfr-ratio ( unlimited | <percentage> );
max-journal-size ( default | unlimited | <sizeval> );
max-records <integer>;
notify-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ] [ dscp <integer> ];
notify-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ] [ dscp <integer> ];
notify-to-soa <boolean>;
+ primaries [ port <integer> ] [ dscp <integer> ] { ( <primaries> | <ipv4_address> [ port <integer> ] | <ipv6_address> [ port <integer> ] ) [ key <string> ]; ... };
request-expire <boolean>;
request-ixfr <boolean>;
sig-signing-nodes <integer>;
forwarders [ port <integer> ] [ dscp <integer> ] { ( <ipv4_address> | <ipv6_address> ) [ port <integer> ] [ dscp <integer> ]; ... };
masterfile-format ( map | raw | text );
masterfile-style ( full | relative );
- masters [ port <integer> ] [ dscp <integer> ] { ( <masters> | <ipv4_address> [ port <integer> ] | <ipv6_address> [ port <integer> ] ) [ key <string> ]; ... };
+ masters [ port <integer> ] [ dscp <integer> ] { ( <primaries> | <ipv4_address> [ port <integer> ] | <ipv6_address> [ port <integer> ] ) [ key <string> ]; ... };
max-records <integer>;
max-refresh-time <integer>;
max-retry-time <integer>;
min-refresh-time <integer>;
min-retry-time <integer>;
multi-master <boolean>;
+ primaries [ port <integer> ] [ dscp <integer> ] { ( <primaries> | <ipv4_address> [ port <integer> ] | <ipv6_address> [ port <integer> ] ) [ key <string> ]; ... };
transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ] [ dscp <integer> ];
transfer-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ] [ dscp <integer> ];
use-alt-transfer-source <boolean>;
forwarders [ port <integer> ] [ dscp <integer> ] { ( <ipv4_address> | <ipv6_address> ) [ port <integer> ] [ dscp <integer> ]; ... };
masterfile-format ( map | raw | text );
masterfile-style ( full | relative );
- masters [ port <integer> ] [ dscp <integer> ] { ( <masters> | <ipv4_address> [ port <integer> ] | <ipv6_address> [ port <integer> ] ) [ key <string> ]; ... };
+ masters [ port <integer> ] [ dscp <integer> ] { ( <primaries> | <ipv4_address> [ port <integer> ] | <ipv6_address> [ port <integer> ] ) [ key <string> ]; ... };
max-records <integer>;
max-refresh-time <integer>;
max-retry-time <integer>;
min-refresh-time <integer>;
min-retry-time <integer>;
multi-master <boolean>;
+ primaries [ port <integer> ] [ dscp <integer> ] { ( <primaries> | <ipv4_address> [ port <integer> ] | <ipv6_address> [ port <integer> ] ) [ key <string> ]; ... };
transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ] [ dscp <integer> ];
transfer-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ] [ dscp <integer> ];
use-alt-transfer-source <boolean>;
}
static isc_result_t
-get_masters_def(const cfg_obj_t *cctx, const char *name,
- const cfg_obj_t **ret) {
+get_primaries_def(const cfg_obj_t *cctx, const char *name,
+ const cfg_obj_t **ret) {
isc_result_t result;
- const cfg_obj_t *masters = NULL;
+ const cfg_obj_t *primaries = NULL;
const cfg_listelt_t *elt;
- result = cfg_map_get(cctx, "masters", &masters);
+ result = cfg_map_get(cctx, "primaries", &primaries);
+ if (result != ISC_R_SUCCESS) {
+ result = cfg_map_get(cctx, "masters", &primaries);
+ }
if (result != ISC_R_SUCCESS) {
return (result);
}
- for (elt = cfg_list_first(masters); elt != NULL;
+
+ for (elt = cfg_list_first(primaries); elt != NULL;
elt = cfg_list_next(elt)) {
const cfg_obj_t *list;
const char *listname;
}
static isc_result_t
-validate_masters(const cfg_obj_t *obj, const cfg_obj_t *config,
- uint32_t *countp, isc_log_t *logctx, isc_mem_t *mctx) {
+validate_primaries(const cfg_obj_t *obj, const cfg_obj_t *config,
+ uint32_t *countp, isc_log_t *logctx, isc_mem_t *mctx) {
isc_result_t result = ISC_R_SUCCESS;
isc_result_t tresult;
uint32_t count = 0;
const cfg_obj_t *addr;
const cfg_obj_t *key;
- addr = cfg_tuple_get(cfg_listelt_value(element), "masterselemen"
- "t");
+ addr = cfg_tuple_get(cfg_listelt_value(element),
+ "primarieselement");
key = cfg_tuple_get(cfg_listelt_value(element), "key");
if (cfg_obj_issockaddr(addr)) {
if (tresult == ISC_R_EXISTS) {
continue;
}
- tresult = get_masters_def(config, listname, &obj);
+ tresult = get_primaries_def(config, listname, &obj);
if (tresult != ISC_R_SUCCESS) {
if (result == ISC_R_SUCCESS) {
result = tresult;
}
cfg_obj_log(addr, logctx, ISC_LOG_ERROR,
- "unable to find masters list '%s'",
+ "unable to find primaries list '%s'",
listname);
continue;
}
}
if (tresult == ISC_R_SUCCESS && donotify) {
uint32_t count;
- tresult = validate_masters(obj, config, &count, logctx,
- mctx);
+ tresult = validate_primaries(obj, config, &count,
+ logctx, mctx);
if (tresult != ISC_R_SUCCESS && result == ISC_R_SUCCESS)
{
result = tresult;
}
/*
- * Slave, mirror, and stub zones must have a "masters" field, with one
+ * Slave, mirror, and stub zones must have a "primaries" field, with one
* exception: when mirroring the root zone, a default, built-in master
* server list is used in the absence of one explicitly specified.
*/
!dns_name_equal(zname, dns_rootname)))
{
obj = NULL;
- if (cfg_map_get(zoptions, "masters", &obj) != ISC_R_SUCCESS) {
+ (void)cfg_map_get(zoptions, "primaries", &obj);
+ if (obj == NULL) {
+ /* If "primaries" was unset, check for "masters" */
+ (void)cfg_map_get(zoptions, "masters", &obj);
+ } else {
+ const cfg_obj_t *obj2 = NULL;
+
+ /* ...bug if it was set, "masters" must not be. */
+ (void)cfg_map_get(zoptions, "masters", &obj2);
+ if (obj2 != NULL) {
+ cfg_obj_log(obj, logctx, ISC_LOG_ERROR,
+ "'primaries' and 'masters' cannot "
+ "both be used in the same zone");
+ result = ISC_R_FAILURE;
+ }
+ }
+ if (obj == NULL) {
cfg_obj_log(zoptions, logctx, ISC_LOG_ERROR,
- "zone '%s': missing 'masters' entry",
+ "zone '%s': missing 'primaries' entry",
znamestr);
result = ISC_R_FAILURE;
} else {
uint32_t count;
- tresult = validate_masters(obj, config, &count, logctx,
- mctx);
+ tresult = validate_primaries(obj, config, &count,
+ logctx, mctx);
if (tresult != ISC_R_SUCCESS && result == ISC_R_SUCCESS)
{
result = tresult;
}
if (tresult == ISC_R_SUCCESS && count == 0) {
cfg_obj_log(zoptions, logctx, ISC_LOG_ERROR,
- "zone '%s': empty 'masters' entry",
+ "zone '%s': "
+ "empty 'primaries' entry",
znamestr);
result = ISC_R_FAILURE;
}
DNS_ZONEOPT_NOMERGE = 1 << 2, /*%< don't merge journal */
DNS_ZONEOPT_CHECKNS = 1 << 3, /*%< check if NS's are addresses */
DNS_ZONEOPT_FATALNS = 1 << 4, /*%< DNS_ZONEOPT_CHECKNS is fatal */
- DNS_ZONEOPT_MULTIMASTER = 1 << 5, /*%< this zone has multiple masters */
- DNS_ZONEOPT_USEALTXFRSRC = 1 << 6, /*%< use alternate transfer sources
- */
- DNS_ZONEOPT_CHECKNAMES = 1 << 7, /*%< check-names */
+ DNS_ZONEOPT_MULTIMASTER = 1 << 5, /*%< this zone has multiple
+ primaries */
+ DNS_ZONEOPT_USEALTXFRSRC = 1 << 6, /*%< use alternate transfer sources
+ */
+ DNS_ZONEOPT_CHECKNAMES = 1 << 7, /*%< check-names */
DNS_ZONEOPT_CHECKNAMESFAIL = 1 << 8, /*%< fatal check-name failures */
DNS_ZONEOPT_CHECKWILDCARD = 1 << 9, /*%< check for internal wildcards */
DNS_ZONEOPT_CHECKMX = 1 << 10, /*%< check-mx */
*/
isc_result_t
-dns_zone_setmasters(dns_zone_t *zone, const isc_sockaddr_t *masters,
- uint32_t count);
+dns_zone_setprimaries(dns_zone_t *zone, const isc_sockaddr_t *primaries,
+ uint32_t count);
isc_result_t
-dns_zone_setmasterswithkeys(dns_zone_t *zone, const isc_sockaddr_t *masters,
- dns_name_t **keynames, uint32_t count);
+dns_zone_setprimarieswithkeys(dns_zone_t *zone, const isc_sockaddr_t *primaries,
+ dns_name_t **keynames, uint32_t count);
/*%<
* Set the list of master servers for the zone.
*
* Require:
*\li 'zone' to be a valid zone.
- *\li 'masters' array of isc_sockaddr_t with port set or NULL.
- *\li 'count' the number of masters.
+ *\li 'primaries' array of isc_sockaddr_t with port set or NULL.
+ *\li 'count' the number of primaries.
*\li 'keynames' array of dns_name_t's for tsig keys or NULL.
*
- * \li dns_zone_setmasters() is just a wrapper to setmasterswithkeys(),
+ * \li dns_zone_setprimaries() is just a wrapper to setprimarieswithkeys(),
* passing NULL in the keynames field.
*
- * \li If 'masters' is NULL then 'count' must be zero.
+ * \li If 'primaries' is NULL then 'count' must be zero.
*
* Returns:
*\li #ISC_R_SUCCESS
dns_updatecallback_t callback, void *callback_arg);
/*%<
* Forward 'msg' to each master in turn until we get an answer or we
- * have exhausted the list of masters. 'callback' will be called with
+ * have exhausted the list of primaries. 'callback' will be called with
* ISC_R_SUCCESS if we get an answer and the returned message will be
* passed as 'answer_message', otherwise a non ISC_R_SUCCESS result code
* will be passed and answer_message will be NULL. The callback function
dns_zone_setkeydirectory
dns_zone_setkeyopt
dns_zone_setkeyvalidityinterval
-dns_zone_setmasters
-dns_zone_setmasterswithkeys
dns_zone_setmaxrecords
dns_zone_setmaxrefreshtime
dns_zone_setmaxretrytime
dns_zone_setnsec3param
dns_zone_setoption
dns_zone_setorigin
+dns_zone_setprimaries
+dns_zone_setprimarieswithkeys
dns_zone_setprivatetype
dns_zone_setqueryacl
dns_zone_setqueryonacl
DNS_ZONEFLG_DIFFONRELOAD = 0x00000800U, /*%< generate a journal diff on
* reload */
DNS_ZONEFLG_NOMASTERS = 0x00001000U, /*%< an attempt to refresh a
- * zone with no masters
+ * zone with no primaries
* occurred */
DNS_ZONEFLG_LOADING = 0x00002000U, /*%< load from disk in progress*/
DNS_ZONEFLG_HAVETIMERS = 0x00004000U, /*%< timer values have been set
dns_catz_catzs_detach(&zone->catzs);
}
zone_freedbargs(zone);
- RUNTIME_CHECK(dns_zone_setmasterswithkeys(zone, NULL, NULL, 0) ==
+ RUNTIME_CHECK(dns_zone_setprimarieswithkeys(zone, NULL, NULL, 0) ==
ISC_R_SUCCESS);
RUNTIME_CHECK(dns_zone_setalsonotify(zone, NULL, 0) == ISC_R_SUCCESS);
zone->check_names = dns_severity_ignore;
}
isc_result_t
-dns_zone_setmasters(dns_zone_t *zone, const isc_sockaddr_t *masters,
- uint32_t count) {
+dns_zone_setprimaries(dns_zone_t *zone, const isc_sockaddr_t *masters,
+ uint32_t count) {
isc_result_t result;
- result = dns_zone_setmasterswithkeys(zone, masters, NULL, count);
+ result = dns_zone_setprimarieswithkeys(zone, masters, NULL, count);
return (result);
}
isc_result_t
-dns_zone_setmasterswithkeys(dns_zone_t *zone, const isc_sockaddr_t *masters,
- dns_name_t **keynames, uint32_t count) {
+dns_zone_setprimarieswithkeys(dns_zone_t *zone, const isc_sockaddr_t *masters,
+ dns_name_t **keynames, uint32_t count) {
isc_result_t result = ISC_R_SUCCESS;
isc_sockaddr_t *newaddrs = NULL;
isc_dscp_t *newdscps = NULL;
LOCK_ZONE(zone);
/*
- * The refresh code assumes that 'masters' wouldn't change under it.
+ * The refresh code assumes that 'primaries' wouldn't change under it.
* If it will change then kill off any current refresh in progress
- * and update the masters info. If it won't change then we can just
+ * and update the primaries info. If it won't change then we can just
* unlock and exit.
*/
if (count != zone->masterscnt ||
}
/*
- * Now set up the masters and masterkey lists
+ * Now set up the primaries and primary key lists
*/
result = set_addrkeylist(count, masters, &newaddrs, NULL, &newdscps,
keynames, &newnames, zone->mctx);
}
/*
- * Slaves send notifies before backing up to disk, masters after.
+ * Secondaries send notifies before backing up to disk,
+ * primaries after.
*/
if ((zone->type == dns_zone_slave || zone->type == dns_zone_mirror) &&
(DNS_ZONE_FLAG(zone, DNS_ZONEFLG_NEEDNOTIFY) ||
DNS_ZONE_SETFLAG(zone, DNS_ZONEFLG_NOMASTERS);
if ((oldflags & DNS_ZONEFLG_NOMASTERS) == 0) {
dns_zone_log(zone, ISC_LOG_ERROR,
- "cannot refresh: no masters");
+ "cannot refresh: no primaries");
}
goto unlock;
}
!DNS_ZONE_FLAG(zone, DNS_ZONEFLG_USEALTXFRSRC))
{
/*
- * Did we get a good answer from all the masters?
+ * Did we get a good answer from all the primaries?
*/
for (j = 0; j < zone->masterscnt; j++) {
if (!zone->mastersok[j]) {
!DNS_ZONE_FLAG(zone, DNS_ZONEFLG_USEALTXFRSRC))
{
/*
- * Did we get a good answer from all the masters?
+ * Did we get a good answer from all the primaries?
*/
for (j = 0; j < zone->masterscnt; j++) {
if (!zone->mastersok[j]) {
break;
}
- /* These should not occur if the masters/zone are valid. */
+ /* These should not occur if the primaries/zone are valid. */
case dns_rcode_notzone:
case dns_rcode_notauth: {
char rcode[128];
static cfg_type_t cfg_type_logseverity;
static cfg_type_t cfg_type_logsuffix;
static cfg_type_t cfg_type_logversions;
-static cfg_type_t cfg_type_masterselement;
+static cfg_type_t cfg_type_primarieselement;
static cfg_type_t cfg_type_maxduration;
static cfg_type_t cfg_type_minimal;
static cfg_type_t cfg_type_nameportiplist;
cfg_print_tuple, cfg_doc_tuple,
&cfg_rep_tuple, acl_fields };
-/*% masters */
-static cfg_tuplefielddef_t masters_fields[] = {
+/*% primaries */
+static cfg_tuplefielddef_t primaries_fields[] = {
{ "name", &cfg_type_astring, 0 },
{ "port", &cfg_type_optional_port, 0 },
{ "dscp", &cfg_type_optional_dscp, 0 },
{ NULL, NULL, 0 }
};
-static cfg_type_t cfg_type_masters = { "masters", cfg_parse_tuple,
- cfg_print_tuple, cfg_doc_tuple,
- &cfg_rep_tuple, masters_fields };
+static cfg_type_t cfg_type_primaries = { "primaries", cfg_parse_tuple,
+ cfg_print_tuple, cfg_doc_tuple,
+ &cfg_rep_tuple, primaries_fields };
/*%
* "sockaddrkeylist", a list of socket addresses with optional keys
- * and an optional default port, as used in the masters option.
+ * and an optional default port, as used in the primaries option.
* E.g.,
- * "port 1234 { mymasters; 10.0.0.1 key foo; 1::2 port 69; }"
+ * "port 1234 { myprimaries; 10.0.0.1 key foo; 1::2 port 69; }"
*/
static cfg_tuplefielddef_t namesockaddrkey_fields[] = {
- { "masterselement", &cfg_type_masterselement, 0 },
+ { "primarieselement", &cfg_type_primarieselement, 0 },
{ "key", &cfg_type_optional_keyref, 0 },
{ NULL, NULL, 0 },
};
{ "logging", &cfg_type_logging, 0 },
{ "lwres", &cfg_type_bracketed_text,
CFG_CLAUSEFLAG_MULTI | CFG_CLAUSEFLAG_OBSOLETE },
- { "masters", &cfg_type_masters, CFG_CLAUSEFLAG_MULTI },
+ { "masters", &cfg_type_primaries, CFG_CLAUSEFLAG_MULTI },
{ "options", &cfg_type_options, 0 },
+ { "primaries", &cfg_type_primaries, CFG_CLAUSEFLAG_MULTI },
{ "statistics-channels", &cfg_type_statschannels,
CFG_CLAUSEFLAG_MULTI },
{ "view", &cfg_type_view, CFG_CLAUSEFLAG_MULTI },
{ "masters", &cfg_type_namesockaddrkeylist,
CFG_ZONE_SLAVE | CFG_ZONE_MIRROR | CFG_ZONE_STUB |
CFG_ZONE_REDIRECT },
+ { "primaries", &cfg_type_namesockaddrkeylist,
+ CFG_ZONE_SLAVE | CFG_ZONE_MIRROR | CFG_ZONE_STUB |
+ CFG_ZONE_REDIRECT },
{ "pubkey", &cfg_type_pubkey, CFG_CLAUSEFLAG_ANCIENT },
{ "server-addresses", &cfg_type_bracketed_netaddrlist,
CFG_ZONE_STATICSTUB },
};
/*%
- * masters element.
+ * primaries element.
*/
static void
-doc_masterselement(cfg_printer_t *pctx, const cfg_type_t *type) {
+doc_primarieselement(cfg_printer_t *pctx, const cfg_type_t *type) {
UNUSED(type);
cfg_print_cstr(pctx, "( ");
- cfg_print_cstr(pctx, "<masters>");
+ cfg_print_cstr(pctx, "<primaries>");
cfg_print_cstr(pctx, " | ");
cfg_print_cstr(pctx, "<ipv4_address>");
cfg_print_cstr(pctx, " ");
}
static isc_result_t
-parse_masterselement(cfg_parser_t *pctx, const cfg_type_t *type,
- cfg_obj_t **ret) {
+parse_primarieselement(cfg_parser_t *pctx, const cfg_type_t *type,
+ cfg_obj_t **ret) {
isc_result_t result;
cfg_obj_t *obj = NULL;
UNUSED(type);
}
} else {
cfg_parser_error(pctx, CFG_LOG_NEAR,
- "expected IP address or masters name");
+ "expected IP address or primaries list name");
return (ISC_R_UNEXPECTEDTOKEN);
}
cleanup:
return (result);
}
-static cfg_type_t cfg_type_masterselement = { "masters_element",
- parse_masterselement,
- NULL,
- doc_masterselement,
- NULL,
- NULL };
+static cfg_type_t cfg_type_primarieselement = { "primaries_element",
+ parse_primarieselement,
+ NULL,
+ doc_primarieselement,
+ NULL,
+ NULL };
static int
cmp_clause(const void *ap, const void *bp) {