+4925. [func] Several configuration options that define intervals
+ can now take TTL value suffixes (for example, 2h or 1d)
+ in addition to integer parameters. These include
+ max-cache-ttl, max-ncache-ttl, max-policy-ttl,
+ fstrm-set-reopen-interval, interface-interval, and
+ min-update-interval. [GL #203]
+
4924. [cleanup] Clean up the isc_string_* namespace and leave
only strlcpy and strlcat. [GL #178]
enum types. [GL !135]
4922. [bug] dnstap: Log the destination address of client
- packets rather than the interface address.
+ packets rather than the interface address.
[GL #197]
4921. [cleanup] Add dns_fixedname_initname() and refactor the caller
if (cmd == NULL) {
printf(";; Invalid option %s\n", option);
return;
- }
+ }
if (strncasecmp(cmd, "no", 2)==0) {
cmd += 2;
state = ISC_FALSE;
FULLCHECK("idnin");
#ifndef WITH_IDN_SUPPORT
fprintf(stderr, ";; IDN input support"
- " not enabled\n");
+ " not enabled\n");
#else
lookup->idnin = state;
#endif
FULLCHECK("idnout");
#ifndef WITH_IDN_OUT_SUPPORT
fprintf(stderr, ";; IDN output support"
- " not enabled\n");
+ " not enabled\n");
#else
lookup->idnout = state;
#endif
<command>dig</command> appropriately converts character encoding of
domain name before sending a request to DNS server or displaying a
reply from the server.
- If you'd like to turn off the IDN support for some reason, use
+ If you'd like to turn off the IDN support for some reason, use
parameters <parameter>+noidnin</parameter> and
<parameter>+noidnout</parameter>.
</para>
--- /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.
+ */
+
+options {
+ interface-interval 1x;
+};
--- /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.
+ */
+
+view one {
+ max-cache-ttl 1x;
+};
--- /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.
+ */
+
+view one {
+ max-ncache-ttl 1x;
+};
--- /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.com." {
+ type master;
+ file "example.com.zone";
+};
+
+options {
+ response-policy {
+ zone "example.com." policy given;
+ }
+ max-policy-ttl 1x;
+};
--- /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.com." {
+ type master;
+ file "example.com.zone";
+};
+
+options {
+ response-policy {
+ zone "example.com."
+ policy given
+ min-update-interval 5x;
+ };
+};
--- /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.
+ */
+
+options {
+ interface-interval 1h;
+};
--- /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.
+ */
+
+view one {
+ max-cache-ttl 0;
+};
+view two {
+ max-cache-ttl 86400;
+};
+view three {
+ max-cache-ttl 4000000000;
+};
+view four {
+ max-cache-ttl 3600s;
+};
+view five {
+ max-cache-ttl 1h;
+};
+view six {
+ max-cache-ttl 1d;
+};
+view seven {
+ max-cache-ttl 1w;
+};
--- /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.
+ */
+
+view one {
+ max-ncache-ttl 0;
+};
+view two {
+ max-ncache-ttl 86400;
+};
+view three {
+ max-ncache-ttl 4000000000;
+};
+view four {
+ max-ncache-ttl 3600s;
+};
+view five {
+ max-ncache-ttl 1h;
+};
+view six {
+ max-ncache-ttl 1d;
+};
+view seven {
+ max-ncache-ttl 1w;
+};
--- /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.com." {
+ type master;
+ file "example.com.zone";
+};
+
+options {
+ response-policy {
+ zone "example.com." policy given;
+ }
+ max-policy-ttl 1h;
+};
--- /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.com." {
+ type master;
+ file "example.com.zone";
+};
+
+options {
+ response-policy {
+ zone "example.com."
+ policy given
+ min-update-interval 5m;
+ };
+};
--- /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.
+ */
+
+options {
+ fstrm-set-reopen-interval 1x;
+};
--- /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.
+ */
+
+options {
+ fstrm-set-reopen-interval 5m;
+};
reopen a closed output stream. The minimum is 1 second,
the maximum is 600 seconds (10 minutes), and the default
is 5 seconds.
+ For convenience, TTL-style time unit suffixes may be
+ used to specify the value.
</simpara>
</listitem>
</itemizedlist>
begin listening for queries on any newly discovered
interfaces (provided they are allowed by the
<command>listen-on</command> configuration), and
- will
- stop listening on interfaces that have gone away.
+ will stop listening on interfaces that have gone away.
+ For convenience, TTL-style time unit suffixes may be
+ used to specify the value.
</para>
</listitem>
</varlistentry>
To reduce network traffic and increase performance,
the server stores negative answers. <command>max-ncache-ttl</command> is
used to set a maximum retention time for these answers in
- the server
- in seconds. The default
+ the server in seconds.
+ For convenience, TTL-style time unit suffixes may be
+ used to specify the value. The default
<command>max-ncache-ttl</command> is <literal>10800</literal> seconds (3 hours).
<command>max-ncache-ttl</command> cannot exceed
7 days and will
<para>
Sets the maximum time for which the server will
cache ordinary (positive) answers in seconds.
+ For convenience, TTL-style time unit suffixes may be
+ used to specify the value.
The default is 604800 (one week).
A value of zero may cause all queries to return
SERVFAIL, because of lost caches of intermediate
to a maximum value.
The <command>max-policy-ttl</command> clause changes the
maximum seconds from its default of 5.
+ For convenience, TTL-style time unit suffixes may be
+ used to specify the value.
</para>
<para>
than <option>min-update-interval</option> seconds after the most
recent update, then the changes will not be carried out until this
interval has elapsed. The default is <literal>5</literal> seconds.
+ For convenience, TTL-style time unit suffixes may be
+ used to specify the value.
</para>
</section>
supported by default; previously the limit was 32. [GL #123]
</para>
</listitem>
+ <listitem>
+ <para>
+ Several configuration options for time periods can now use
+ TTL value suffixes (for example, <literal>2h</literal> or
+ <literal>1d</literal>) in addition to an integer number of
+ seconds. These include:
+ <command>fstrm-set-reopen-interval</command>;
+ <command>interface-interval</command>;
+ <command>max-cache-ttl</command>;
+ <command>max-ncache-ttl</command>;
+ <command>max-policy-ttl</command>;
+ <command>min-update-interval</command>.
+ [GL #203]
+ </para>
+ </listitem>
</itemizedlist>
</section>
if (i >= 1) {
RETERR(str_totext(" (", target));
RETERR(dns_ttl_totext(num, ISC_TRUE,
- ISC_TRUE, target));
+ ISC_TRUE, target));
RETERR(str_totext(")", target));
}
RETERR(str_totext(tctx->linebreak, target));
{ "fstrm-set-output-notify-threshold", &cfg_type_uint32, 0 },
{ "fstrm-set-output-queue-model", &cfg_type_fstrm_model, 0 },
{ "fstrm-set-output-queue-size", &cfg_type_uint32, 0 },
- { "fstrm-set-reopen-interval", &cfg_type_uint32, 0 },
+ { "fstrm-set-reopen-interval", &cfg_type_ttlval, 0 },
#else
{ "fstrm-set-buffer-hint", &cfg_type_uint32,
CFG_CLAUSEFLAG_NOTCONFIGURED },
CFG_CLAUSEFLAG_NOTCONFIGURED },
{ "fstrm-set-output-queue-size", &cfg_type_uint32,
CFG_CLAUSEFLAG_NOTCONFIGURED },
- { "fstrm-set-reopen-interval", &cfg_type_uint32,
+ { "fstrm-set-reopen-interval", &cfg_type_ttlval,
CFG_CLAUSEFLAG_NOTCONFIGURED },
#endif /* HAVE_DNSTAP */
#ifdef HAVE_GEOIP
{ "host-statistics", &cfg_type_boolean, CFG_CLAUSEFLAG_NOTIMP },
{ "host-statistics-max", &cfg_type_uint32, CFG_CLAUSEFLAG_NOTIMP },
{ "hostname", &cfg_type_qstringornone, 0 },
- { "interface-interval", &cfg_type_uint32, 0 },
+ { "interface-interval", &cfg_type_ttlval, 0 },
{ "keep-response-order", &cfg_type_bracketed_aml, 0 },
{ "listen-on", &cfg_type_listenon, CFG_CLAUSEFLAG_MULTI },
{ "listen-on-v6", &cfg_type_listenon, CFG_CLAUSEFLAG_MULTI },
static cfg_tuplefielddef_t rpz_zone_fields[] = {
{ "zone name", &cfg_type_rpz_zone, 0 },
{ "log", &cfg_type_boolean, 0 },
- { "max-policy-ttl", &cfg_type_uint32, 0 },
- { "min-update-interval", &cfg_type_uint32, 0 },
+ { "max-policy-ttl", &cfg_type_ttlval, 0 },
+ { "min-update-interval", &cfg_type_ttlval, 0 },
{ "policy", &cfg_type_rpz_policy, 0 },
{ "recursive-only", &cfg_type_boolean, 0 },
{ "nsip-enable", &cfg_type_boolean, 0 },
static cfg_tuplefielddef_t rpz_fields[] = {
{ "zone list", &cfg_type_rpz_list, 0 },
{ "break-dnssec", &cfg_type_boolean, 0 },
- { "max-policy-ttl", &cfg_type_uint32, 0 },
- { "min-update-interval", &cfg_type_uint32, 0 },
+ { "max-policy-ttl", &cfg_type_ttlval, 0 },
+ { "min-update-interval", &cfg_type_ttlval, 0 },
{ "min-ns-dots", &cfg_type_uint32, 0 },
{ "nsip-wait-recurse", &cfg_type_boolean, 0 },
{ "qname-wait-recurse", &cfg_type_boolean, 0 },
{ "default-masters", &cfg_type_namesockaddrkeylist, 0 },
{ "zone-directory", &cfg_type_qstring, 0 },
{ "in-memory", &cfg_type_boolean, 0 },
- { "min-update-interval", &cfg_type_uint32, 0 },
+ { "min-update-interval", &cfg_type_ttlval, 0 },
{ NULL, NULL, 0 }
};
static cfg_type_t cfg_type_catz_tuple = {
{ "max-acache-size", &cfg_type_sizenodefault,
CFG_CLAUSEFLAG_OBSOLETE },
{ "max-cache-size", &cfg_type_sizeorpercent, 0 },
- { "max-cache-ttl", &cfg_type_uint32, 0 },
+ { "max-cache-ttl", &cfg_type_ttlval, 0 },
{ "max-clients-per-query", &cfg_type_uint32, 0 },
- { "max-ncache-ttl", &cfg_type_uint32, 0 },
+ { "max-ncache-ttl", &cfg_type_ttlval, 0 },
{ "max-recursion-depth", &cfg_type_uint32, 0 },
{ "max-recursion-queries", &cfg_type_uint32, 0 },
{ "max-stale-ttl", &cfg_type_ttlval, 0 },
if ((domainlen = strlcat(buf, trans->domain, sizeof(buf))) >= sizeof(buf)) {
return ISC_R_NOSPACE;
}
-
+
isc_buffer_init(&b, buf, domainlen);
isc_buffer_add(&b, domainlen);
trans->qname = dns_fixedname_initname(&trans->fixedname);
./bin/tests/system/checkconf/bad-hint.conf CONF-C 2014,2016,2018
./bin/tests/system/checkconf/bad-in-view-dup.conf CONF-C 2018
./bin/tests/system/checkconf/bad-inline-slave.conf CONF-C 2013,2016,2018
+./bin/tests/system/checkconf/bad-interface-interval.conf CONF-C 2018
./bin/tests/system/checkconf/bad-keep-response-order.conf CONF-C 2015,2016,2018
./bin/tests/system/checkconf/bad-lifetime.conf CONF-C 2014,2016,2018
./bin/tests/system/checkconf/bad-lmdb-mapsize-bogus.conf CONF-C 2017,2018
./bin/tests/system/checkconf/bad-lmdb-mapsize-unlimited.conf CONF-C 2017,2018
./bin/tests/system/checkconf/bad-many.conf CONF-C 2005,2012,2015,2016,2018
./bin/tests/system/checkconf/bad-master-request-ixfr.conf CONF-C 2014,2016,2018
+./bin/tests/system/checkconf/bad-maxcachettl.conf CONF-C 2018
+./bin/tests/system/checkconf/bad-maxncachettl.conf CONF-C 2018
./bin/tests/system/checkconf/bad-maxttlmap.conf CONF-C 2014,2016,2018
./bin/tests/system/checkconf/bad-noddns.conf CONF-C 2014,2016,2018
./bin/tests/system/checkconf/bad-options-also-notify.conf CONF-C 2016,2018
./bin/tests/system/checkconf/bad-rate-limit-slip.conf CONF-C 2016,2018
./bin/tests/system/checkconf/bad-rate-limit-window.conf CONF-C 2016,2018
./bin/tests/system/checkconf/bad-rpz-too-many-zones.conf CONF-C 2018
+./bin/tests/system/checkconf/bad-rpz-ttl.conf CONF-C 2018
+./bin/tests/system/checkconf/bad-rpz-update.conf CONF-C 2018
./bin/tests/system/checkconf/bad-rpz-zone.conf CONF-C 2016,2018
./bin/tests/system/checkconf/bad-sharedwritable1.conf CONF-C 2014,2016,2018
./bin/tests/system/checkconf/bad-sharedwritable2.conf CONF-C 2014,2016,2018
./bin/tests/system/checkconf/good-class.conf CONF-C 2015,2016,2018
./bin/tests/system/checkconf/good-dlv-dlv.example.com.conf CONF-C 2017,2018
./bin/tests/system/checkconf/good-glue-cache.conf CONF-C 2017,2018
+./bin/tests/system/checkconf/good-interface-interval.conf CONF-C 2018
./bin/tests/system/checkconf/good-lmdb-mapsize-largest.conf CONF-C 2017,2018
./bin/tests/system/checkconf/good-lmdb-mapsize-smallest.conf CONF-C 2017,2018
+./bin/tests/system/checkconf/good-maxcachettl.conf CONF-C 2018
+./bin/tests/system/checkconf/good-maxncachettl.conf CONF-C 2018
./bin/tests/system/checkconf/good-nested.conf CONF-C 2015,2016,2018
./bin/tests/system/checkconf/good-options-also-notify.conf CONF-C 2016,2018
./bin/tests/system/checkconf/good-printtime.conf CONF-C 2016,2018
./bin/tests/system/checkconf/good-response-dot.conf CONF-C 2017,2018
+./bin/tests/system/checkconf/good-rpz-ttl.conf CONF-C 2018
+./bin/tests/system/checkconf/good-rpz-update.conf CONF-C 2018
./bin/tests/system/checkconf/good-update-policy1.conf CONF-C 2018
./bin/tests/system/checkconf/good-update-policy10.conf CONF-C 2018
./bin/tests/system/checkconf/good-update-policy11.conf CONF-C 2018
./bin/tests/system/dnssec/signer/remove.db.in ZONE 2016,2018
./bin/tests/system/dnssec/signer/remove2.db.in ZONE 2016,2018
./bin/tests/system/dnssec/tests.sh SH 2000,2001,2002,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018
+./bin/tests/system/dnstap/bad-fstrm-reopen-interval.conf CONF-C 2018
./bin/tests/system/dnstap/bad-fstrm-set-buffer-hint-max.conf CONF-C 2016,2018
./bin/tests/system/dnstap/bad-fstrm-set-buffer-hint-min.conf CONF-C 2016,2018
./bin/tests/system/dnstap/bad-fstrm-set-flush-timeout-max.conf CONF-C 2016,2018
./bin/tests/system/dnstap/bad-fstrm-set-reopen-interval-min.conf CONF-C 2016,2018
./bin/tests/system/dnstap/bad-size-version.conf CONF-C 2017,2018
./bin/tests/system/dnstap/clean.sh SH 2015,2016,2017,2018
+./bin/tests/system/dnstap/good-fstrm-reopen-interval.conf CONF-C 2018
./bin/tests/system/dnstap/good-fstrm-set-buffer-hint.conf CONF-C 2016,2018
./bin/tests/system/dnstap/good-fstrm-set-flush-timeout.conf CONF-C 2016,2018
./bin/tests/system/dnstap/good-fstrm-set-input-queue-size.conf CONF-C 2016,2018
./bin/tests/system/gost/setup.sh SH 2010,2012,2014,2016,2017,2018
./bin/tests/system/gost/tests.sh SH 2010,2012,2013,2016,2018
./bin/tests/system/idna/clean.sh SH 2018
-./bin/tests/system/idna/ns1/named.conf CONF-C 2018
./bin/tests/system/idna/ns1/named.conf.in CONF-C 2018
./bin/tests/system/idna/ns1/root.db ZONE 2018
-./bin/tests/system/idna/prereq.sh SH 2018
./bin/tests/system/idna/setup.sh SH 2018
./bin/tests/system/idna/tests.sh SH 2018
./bin/tests/system/ifconfig.bat BAT 2016,2018