summaryrefslogtreecommitdiffstats
path: root/lib/isccfg
diff options
context:
space:
mode:
authorerwin <erwin@FreeBSD.org>2013-08-14 11:10:02 +0000
committererwin <erwin@FreeBSD.org>2013-08-14 11:10:02 +0000
commitf32b4abce98c97ee6e51b7aa8f8fde6e4cab7f28 (patch)
tree2158e1c09a984412fbfaaf073f515cd4e8f1ea60 /lib/isccfg
parentc110f0c4dc517517abacd7bc7c5d0d41325a4057 (diff)
downloadFreeBSD-src-f32b4abce98c97ee6e51b7aa8f8fde6e4cab7f28.zip
FreeBSD-src-f32b4abce98c97ee6e51b7aa8f8fde6e4cab7f28.tar.gz
Vendor import of Bind 9.9.3-P2
Approved by: delphij (mentor, implicit) Sponsored by: DK Hostmaster A/S
Diffstat (limited to 'lib/isccfg')
-rw-r--r--lib/isccfg/api4
-rw-r--r--lib/isccfg/namedconf.c53
2 files changed, 47 insertions, 10 deletions
diff --git a/lib/isccfg/api b/lib/isccfg/api
index 39585b0..864bdc9 100644
--- a/lib/isccfg/api
+++ b/lib/isccfg/api
@@ -4,6 +4,6 @@
# 9.8: 80-89, 120-129
# 9.9: 90-109
# 9.9-sub: 130-139
-LIBINTERFACE = 82
-LIBREVISION = 7
+LIBINTERFACE = 90
+LIBREVISION = 6
LIBAGE = 0
diff --git a/lib/isccfg/namedconf.c b/lib/isccfg/namedconf.c
index 287ce14..431af74 100644
--- a/lib/isccfg/namedconf.c
+++ b/lib/isccfg/namedconf.c
@@ -54,6 +54,9 @@ static isc_result_t
parse_enum_or_other(cfg_parser_t *pctx, const cfg_type_t *enumtype,
const cfg_type_t *othertype, cfg_obj_t **ret);
+static void
+doc_enum_or_other(cfg_printer_t *pctx, const cfg_type_t *type);
+
static isc_result_t
parse_keyvalue(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret);
@@ -228,9 +231,8 @@ static cfg_type_t cfg_type_namesockaddrkeylist = {
};
/*%
- * A list of socket addresses with an optional default port,
- * as used in the also-notify option. E.g.,
- * "port 1234 { 10.0.0.1; 1::2 port 69; }"
+ * A list of socket addresses with an optional default port, as used
+ * in the lwresd 'listen-on' option. E.g., "{ 10.0.0.1; 1::2 port 69; }"
*/
static cfg_tuplefielddef_t portiplist_fields[] = {
{ "port", &cfg_type_optional_port, 0 },
@@ -238,8 +240,8 @@ static cfg_tuplefielddef_t portiplist_fields[] = {
{ NULL, NULL, 0 }
};
static cfg_type_t cfg_type_portiplist = {
- "portiplist", cfg_parse_tuple, cfg_print_tuple, cfg_doc_tuple, &cfg_rep_tuple,
- portiplist_fields
+ "portiplist", cfg_parse_tuple, cfg_print_tuple, cfg_doc_tuple,
+ &cfg_rep_tuple, portiplist_fields
};
/*%
@@ -554,6 +556,35 @@ static cfg_type_t cfg_type_autodnssec = {
&cfg_rep_string, &autodnssec_enums
};
+static const char *dnssecupdatemode_enums[] = { "maintain", "no-resign", NULL };
+static cfg_type_t cfg_type_dnssecupdatemode = {
+ "dnssecupdatemode", cfg_parse_enum, cfg_print_ustring, cfg_doc_enum,
+ &cfg_rep_string, &dnssecupdatemode_enums
+};
+
+static const char *updatemethods_enums[] = { "increment", "unixtime", NULL };
+static cfg_type_t cfg_type_updatemethod = {
+ "updatemethod", cfg_parse_enum, cfg_print_ustring, cfg_doc_enum,
+ &cfg_rep_string, &updatemethods_enums
+};
+
+/*
+ * zone-statistics: full, terse, or none.
+ *
+ * for backward compatibility, we also support boolean values.
+ * yes represents "full", no represents "terse". in the future we
+ * may change no to mean "none".
+ */
+static const char *zonestat_enums[] = { "full", "terse", "none", NULL };
+static isc_result_t
+parse_zonestat(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) {
+ return (parse_enum_or_other(pctx, type, &cfg_type_boolean, ret));
+}
+static cfg_type_t cfg_type_zonestat = {
+ "zonestat", parse_zonestat, cfg_print_ustring, doc_enum_or_other,
+ &cfg_rep_string, zonestat_enums
+};
+
static cfg_type_t cfg_type_rrsetorder = {
"rrsetorder", cfg_parse_bracketed_list, cfg_print_bracketed_list, cfg_doc_bracketed_list,
&cfg_rep_list, &cfg_type_rrsetorderingelement
@@ -599,7 +630,7 @@ static cfg_type_t cfg_type_forwardtype = {
static const char *zonetype_enums[] = {
"master", "slave", "stub", "static-stub", "hint", "forward",
- "delegation-only", NULL };
+ "delegation-only", "redirect", NULL };
static cfg_type_t cfg_type_zonetype = {
"zonetype", cfg_parse_enum, cfg_print_ustring, cfg_doc_enum,
&cfg_rep_string, &zonetype_enums
@@ -912,6 +943,7 @@ options_clauses[] = {
{ "listen-on-v6", &cfg_type_listenon, CFG_CLAUSEFLAG_MULTI },
{ "managed-keys-directory", &cfg_type_qstring, 0 },
{ "match-mapped-addresses", &cfg_type_boolean, 0 },
+ { "max-rsa-exponent-size", &cfg_type_uint32, 0 },
{ "memstatistics-file", &cfg_type_qstring, 0 },
{ "memstatistics", &cfg_type_boolean, 0 },
{ "multiple-cnames", &cfg_type_boolean, CFG_CLAUSEFLAG_OBSOLETE },
@@ -1458,7 +1490,7 @@ zone_clauses[] = {
{ "allow-transfer", &cfg_type_bracketed_aml, 0 },
{ "allow-update", &cfg_type_bracketed_aml, 0 },
{ "allow-update-forwarding", &cfg_type_bracketed_aml, 0 },
- { "also-notify", &cfg_type_portiplist, 0 },
+ { "also-notify", &cfg_type_namesockaddrkeylist, 0 },
{ "alt-transfer-source", &cfg_type_sockaddr4wild, 0 },
{ "alt-transfer-source-v6", &cfg_type_sockaddr6wild, 0 },
{ "auto-dnssec", &cfg_type_autodnssec, 0 },
@@ -1472,7 +1504,9 @@ zone_clauses[] = {
{ "check-wildcard", &cfg_type_boolean, 0 },
{ "dialup", &cfg_type_dialuptype, 0 },
{ "dnssec-dnskey-kskonly", &cfg_type_boolean, 0 },
+ { "dnssec-loadkeys-interval", &cfg_type_uint32, 0 },
{ "dnssec-secure-to-insecure", &cfg_type_boolean, 0 },
+ { "dnssec-update-mode", &cfg_type_dnssecupdatemode, 0 },
{ "forward", &cfg_type_forwardtype, 0 },
{ "forwarders", &cfg_type_portiplist, 0 },
{ "key-directory", &cfg_type_qstring, 0 },
@@ -1495,17 +1529,20 @@ zone_clauses[] = {
{ "notify-source-v6", &cfg_type_sockaddr6wild, 0 },
{ "notify-to-soa", &cfg_type_boolean, 0 },
{ "nsec3-test-zone", &cfg_type_boolean, CFG_CLAUSEFLAG_TESTONLY },
+ { "serial-update-method", &cfg_type_updatemethod, 0 },
+ { "request-ixfr", &cfg_type_boolean, 0 },
{ "sig-signing-nodes", &cfg_type_uint32, 0 },
{ "sig-signing-signatures", &cfg_type_uint32, 0 },
{ "sig-signing-type", &cfg_type_uint32, 0 },
{ "sig-validity-interval", &cfg_type_validityinterval, 0 },
+ { "inline-signing", &cfg_type_boolean, 0 },
{ "transfer-source", &cfg_type_sockaddr4wild, 0 },
{ "transfer-source-v6", &cfg_type_sockaddr6wild, 0 },
{ "try-tcp-refresh", &cfg_type_boolean, 0 },
{ "update-check-ksk", &cfg_type_boolean, 0 },
{ "use-alt-transfer-source", &cfg_type_boolean, 0 },
{ "zero-no-soa-ttl", &cfg_type_boolean, 0 },
- { "zone-statistics", &cfg_type_boolean, 0 },
+ { "zone-statistics", &cfg_type_zonestat, 0 },
{ NULL, NULL, 0 }
};
OpenPOWER on IntegriCloud