diff --git a/bin/named/config.c b/bin/named/config.c index 8d962d7814..69b499ee7e 100644 --- a/bin/named/config.c +++ b/bin/named/config.c @@ -63,7 +63,6 @@ options {\n\ geoip-directory \".\";\n" #endif /* if defined(HAVE_GEOIP2) */ "\ - heartbeat-interval 60;\n\ interface-interval 60;\n\ listen-on {any;};\n\ listen-on-v6 {any;};\n\ @@ -217,7 +216,6 @@ options {\n\ check-sibling yes;\n\ check-srv-cname warn;\n\ check-wildcard yes;\n\ - dialup no;\n\ dnssec-loadkeys-interval 60;\n\ # forward \n\ # forwarders \n\ diff --git a/bin/named/include/named/server.h b/bin/named/include/named/server.h index a95c6544fb..3b37205a1c 100644 --- a/bin/named/include/named/server.h +++ b/bin/named/include/named/server.h @@ -75,7 +75,6 @@ struct named_server { isc_timer_t *tat_timer; uint32_t interface_interval; - uint32_t heartbeat_interval; atomic_int reload_status; diff --git a/bin/named/server.c b/bin/named/server.c index 2156394dc4..7c42ae808e 100644 --- a/bin/named/server.c +++ b/bin/named/server.c @@ -1967,7 +1967,6 @@ dns64_reverse(dns_view_t *view, isc_mem_t *mctx, isc_netaddr_t *na, if (view->queryonacl != NULL) { dns_zone_setqueryonacl(zone, view->queryonacl); } - dns_zone_setdialup(zone, dns_dialuptype_no); dns_zone_setcheckdstype(zone, dns_checkdstype_no); dns_zone_setnotifytype(zone, dns_notifytype_no); dns_zone_setoption(zone, DNS_ZONEOPT_NOCHECKNS, true); @@ -3639,7 +3638,6 @@ create_empty_zone(dns_zone_t *pzone, dns_name_t *name, dns_view_t *view, dns_zone_setoption(zone, DNS_ZONEOPT_NOCHECKNS, true); dns_zone_setcheckdstype(zone, dns_checkdstype_no); dns_zone_setnotifytype(zone, dns_notifytype_no); - dns_zone_setdialup(zone, dns_dialuptype_no); dns_zone_setautomatic(zone, true); if (view->queryacl != NULL) { dns_zone_setqueryacl(zone, view->queryacl); @@ -3737,7 +3735,6 @@ create_ipv4only_zone(dns_zone_t *pzone, dns_view_t *view, dns_zone_settype(zone, dns_zone_primary); dns_zone_setstats(zone, named_g_server->zonestats); dns_zone_setdbtype(zone, dbtypec, dbtype); - dns_zone_setdialup(zone, dns_dialuptype_no); dns_zone_setcheckdstype(zone, dns_checkdstype_no); dns_zone_setnotifytype(zone, dns_notifytype_no); dns_zone_setautomatic(zone, true); @@ -7053,7 +7050,6 @@ add_keydata_zone(dns_view_t *view, const char *directory, isc_mem_t *mctx) { dns_zone_setqueryonacl(zone, none); dns_acl_detach(&none); - dns_zone_setdialup(zone, dns_dialuptype_no); dns_zone_setcheckdstype(zone, dns_checkdstype_no); dns_zone_setnotifytype(zone, dns_notifytype_no); dns_zone_setoption(zone, DNS_ZONEOPT_NOCHECKNS, true); @@ -7159,18 +7155,6 @@ interface_timer_tick(void *arg) { (void)ns_interfacemgr_scan(server->interfacemgr, false, false); } -static void -heartbeat_timer_tick(void *arg) { - named_server_t *server = (named_server_t *)arg; - dns_view_t *view = NULL; - - view = ISC_LIST_HEAD(server->viewlist); - while (view != NULL) { - dns_view_dialup(view); - view = ISC_LIST_NEXT(view, link); - } -} - typedef struct { isc_mem_t *mctx; isc_loop_t *loop; @@ -8308,7 +8292,6 @@ load_configuration(const char *filename, named_server_t *server, isc_portset_t *v4portset = NULL; isc_portset_t *v6portset = NULL; isc_result_t result; - uint32_t heartbeat_interval; uint32_t interface_interval; uint32_t udpsize; uint32_t transfer_message_size; @@ -9039,22 +9022,6 @@ load_configuration(const char *filename, named_server_t *server, &interval); } - /* - * Configure the dialup heartbeat timer. - */ - obj = NULL; - result = named_config_get(maps, "heartbeat-interval", &obj); - INSIST(result == ISC_R_SUCCESS); - heartbeat_interval = cfg_obj_asuint32(obj) * 60; - if (heartbeat_interval == 0) { - isc_timer_stop(server->heartbeat_timer); - } else if (server->heartbeat_interval != heartbeat_interval) { - isc_interval_set(&interval, heartbeat_interval, 0); - isc_timer_start(server->heartbeat_timer, isc_timertype_ticker, - &interval); - } - server->heartbeat_interval = heartbeat_interval; - isc_interval_set(&interval, 1200, 0); isc_timer_start(server->pps_timer, isc_timertype_ticker, &interval); @@ -10040,9 +10007,6 @@ run_server(void *arg) { isc_timer_create(named_g_mainloop, interface_timer_tick, server, &server->interface_timer); - isc_timer_create(named_g_mainloop, heartbeat_timer_tick, server, - &server->heartbeat_timer); - isc_timer_create(named_g_mainloop, tat_timer_tick, server, &server->tat_timer); @@ -10155,7 +10119,6 @@ shutdown_server(void *arg) { } isc_timer_destroy(&server->interface_timer); - isc_timer_destroy(&server->heartbeat_timer); isc_timer_destroy(&server->pps_timer); isc_timer_destroy(&server->tat_timer); diff --git a/bin/named/zoneconf.c b/bin/named/zoneconf.c index 8129b01b17..f8cbee27f4 100644 --- a/bin/named/zoneconf.c +++ b/bin/named/zoneconf.c @@ -886,7 +886,6 @@ named_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig, static char dlz_dbtype[] = "dlz"; char *cpval = default_dbtype; isc_mem_t *mctx = dns_zone_getmctx(zone); - dns_dialuptype_t dialup = dns_dialuptype_no; dns_zonetype_t ztype; int i; int32_t journal_size; @@ -1132,34 +1131,6 @@ named_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig, zone, dns_zone_setqueryonacl, dns_zone_clearqueryonacl)); - obj = NULL; - result = named_config_get(maps, "dialup", &obj); - INSIST(result == ISC_R_SUCCESS && obj != NULL); - if (cfg_obj_isboolean(obj)) { - if (cfg_obj_asboolean(obj)) { - dialup = dns_dialuptype_yes; - } else { - dialup = dns_dialuptype_no; - } - } else { - const char *dialupstr = cfg_obj_asstring(obj); - if (strcasecmp(dialupstr, "notify") == 0) { - dialup = dns_dialuptype_notify; - } else if (strcasecmp(dialupstr, "notify-passive") == 0) { - dialup = dns_dialuptype_notifypassive; - } else if (strcasecmp(dialupstr, "refresh") == 0) { - dialup = dns_dialuptype_refresh; - } else if (strcasecmp(dialupstr, "passive") == 0) { - dialup = dns_dialuptype_passive; - } else { - UNREACHABLE(); - } - } - if (raw != NULL) { - dns_zone_setdialup(raw, dialup); - } - dns_zone_setdialup(zone, dialup); - obj = NULL; result = named_config_get(maps, "zone-statistics", &obj); INSIST(result == ISC_R_SUCCESS && obj != NULL); diff --git a/bin/tests/system/Makefile.am b/bin/tests/system/Makefile.am index 842bb5db8b..251d61a88e 100644 --- a/bin/tests/system/Makefile.am +++ b/bin/tests/system/Makefile.am @@ -96,7 +96,6 @@ TESTS = \ checkzone \ cookie \ database \ - dialup \ digdelv \ dispatch \ dlzexternal \ diff --git a/bin/tests/system/checkconf/bad-stub-masters-dialup.conf b/bin/tests/system/checkconf/bad-stub-masters-dialup.conf deleted file mode 100644 index a30236ca1e..0000000000 --- a/bin/tests/system/checkconf/bad-stub-masters-dialup.conf +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright (C) Internet Systems Consortium, Inc. ("ISC") - * - * SPDX-License-Identifier: MPL-2.0 - * - * 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 https://mozilla.org/MPL/2.0/. - * - * See the COPYRIGHT file distributed with this work for additional - * information regarding copyright ownership. - */ - -controls { /* empty */ }; -options { - query-source address 10.53.0.2; - notify-source 10.53.0.2; - transfer-source 10.53.0.2; - port 5300; - pid-file "named.pid"; - listen-on { 10.53.0.2; }; - listen-on-v6 { none; }; - heartbeat-interval 2; - recursion no; -}; -zone "." { - type hint; - file "hint"; -}; -zone "example." { - type stub; - dialup notify; - notify no; - file "example.bk"; - // primaries { 10.53.0.1; }; -}; diff --git a/bin/tests/system/checkconf/deprecated.conf b/bin/tests/system/checkconf/deprecated.conf index e90d9469a0..62f9aa919d 100644 --- a/bin/tests/system/checkconf/deprecated.conf +++ b/bin/tests/system/checkconf/deprecated.conf @@ -19,9 +19,6 @@ options { dnssec-validation yes; max-zone-ttl 600; - dialup yes; - heartbeat-interval 60; - use-v4-udp-ports { range 1024 65535; }; use-v6-udp-ports { range 1024 65535; }; avoid-v4-udp-ports { range 1 1023; }; diff --git a/bin/tests/system/checkconf/good.conf.in b/bin/tests/system/checkconf/good.conf.in index f7e8cc8415..42b5f0f74f 100644 --- a/bin/tests/system/checkconf/good.conf.in +++ b/bin/tests/system/checkconf/good.conf.in @@ -56,7 +56,6 @@ options { }; directory "."; dump-file "named_dumpdb"; - heartbeat-interval 30; hostname none; interface-interval 30; listen-on port 90 { diff --git a/bin/tests/system/checkconf/tests.sh b/bin/tests/system/checkconf/tests.sh index 112c97e86a..daaa93a7d3 100644 --- a/bin/tests/system/checkconf/tests.sh +++ b/bin/tests/system/checkconf/tests.sh @@ -174,7 +174,7 @@ fi n=$((n + 1)) echo_i "checking named-checkconf deprecate warnings ($n)" ret=0 -$CHECKCONF deprecated.conf >checkconf.out$n.1 2>&1 +$CHECKCONF deprecated.conf >checkconf.out$n.1 2>&1 || ret=1 grep "option 'managed-keys' is deprecated" /dev/null || ret=1 grep "option 'trusted-keys' is deprecated" /dev/null || ret=1 grep "option 'max-zone-ttl' is deprecated" /dev/null || ret=1 @@ -182,8 +182,6 @@ grep "option 'use-v4-udp-ports' is deprecated" /dev/null || grep "option 'use-v6-udp-ports' is deprecated" /dev/null || ret=1 grep "option 'avoid-v4-udp-ports' is deprecated" /dev/null || ret=1 grep "option 'avoid-v6-udp-ports' is deprecated" /dev/null || ret=1 -grep "option 'dialup' is deprecated" /dev/null || ret=1 -grep "option 'heartbeat-interval' is deprecated" /dev/null || ret=1 grep "option 'dnssec-must-be-secure' is deprecated" /dev/null || ret=1 grep "option 'sortlist' is deprecated" /dev/null || ret=1 grep "token 'port' is deprecated" /dev/null || ret=1 diff --git a/bin/tests/system/dialup/clean.sh b/bin/tests/system/dialup/clean.sh deleted file mode 100644 index 9ee72bc536..0000000000 --- a/bin/tests/system/dialup/clean.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh - -# Copyright (C) Internet Systems Consortium, Inc. ("ISC") -# -# SPDX-License-Identifier: MPL-2.0 -# -# 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 https://mozilla.org/MPL/2.0/. -# -# See the COPYRIGHT file distributed with this work for additional -# information regarding copyright ownership. - -rm -f ns2/example.bk -rm -f ns3/example.bk -rm -f */named.memstats */named.run -rm -f ns*/named.conf diff --git a/bin/tests/system/dialup/ns1/example.db b/bin/tests/system/dialup/ns1/example.db deleted file mode 100644 index 3ce33f9acb..0000000000 --- a/bin/tests/system/dialup/ns1/example.db +++ /dev/null @@ -1,19 +0,0 @@ -; Copyright (C) Internet Systems Consortium, Inc. ("ISC") -; -; SPDX-License-Identifier: MPL-2.0 -; -; 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 https://mozilla.org/MPL/2.0/. -; -; See the COPYRIGHT file distributed with this work for additional -; information regarding copyright ownership. - -@ 3600 SOA hostmaster.ns1 ns1 ( - 1 3600 1200 3600000 1200 ) - NS ns1.example. - NS ns2.example. - NS ns3.example. -ns1 A 10.53.0.1 -ns2 A 10.53.0.2 -ns3 A 10.53.0.3 diff --git a/bin/tests/system/dialup/ns1/named.conf.in b/bin/tests/system/dialup/ns1/named.conf.in deleted file mode 100644 index 75a497bca1..0000000000 --- a/bin/tests/system/dialup/ns1/named.conf.in +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright (C) Internet Systems Consortium, Inc. ("ISC") - * - * SPDX-License-Identifier: MPL-2.0 - * - * 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 https://mozilla.org/MPL/2.0/. - * - * See the COPYRIGHT file distributed with this work for additional - * information regarding copyright ownership. - */ - -controls { /* empty */ }; - -options { - query-source address 10.53.0.1; - notify-source 10.53.0.1; - transfer-source 10.53.0.1; - port @PORT@; - pid-file "named.pid"; - listen-on { 10.53.0.1; }; - listen-on-v6 { none; }; - allow-transfer { any; }; - heartbeat-interval 1; - recursion no; - dnssec-validation no; -}; - -zone "." { - type primary; - file "root.db"; -}; - -zone "example." { - type primary; - notify explicit; - also-notify { 10.53.0.2; }; - dialup yes; - file "example.db"; -}; diff --git a/bin/tests/system/dialup/ns1/root.db b/bin/tests/system/dialup/ns1/root.db deleted file mode 100644 index 882da96696..0000000000 --- a/bin/tests/system/dialup/ns1/root.db +++ /dev/null @@ -1,20 +0,0 @@ -; Copyright (C) Internet Systems Consortium, Inc. ("ISC") -; -; SPDX-License-Identifier: MPL-2.0 -; -; 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 https://mozilla.org/MPL/2.0/. -; -; See the COPYRIGHT file distributed with this work for additional -; information regarding copyright ownership. - -@ 3600 SOA hostmaster.ns1.example ns1.example ( - 1 3600 1200 3600000 1200 ) - NS ns1.example -example NS ns1.example - NS ns2.example - NS ns3.example -ns1.example A 10.53.0.1 -ns2.example A 10.53.0.2 -ns3.example A 10.53.0.3 diff --git a/bin/tests/system/dialup/ns2/hint.db b/bin/tests/system/dialup/ns2/hint.db deleted file mode 100644 index 0198f2578a..0000000000 --- a/bin/tests/system/dialup/ns2/hint.db +++ /dev/null @@ -1,13 +0,0 @@ -; Copyright (C) Internet Systems Consortium, Inc. ("ISC") -; -; SPDX-License-Identifier: MPL-2.0 -; -; 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 https://mozilla.org/MPL/2.0/. -; -; See the COPYRIGHT file distributed with this work for additional -; information regarding copyright ownership. - -. 1200 NS ns1.example -ns1.example A 10.53.0.1 diff --git a/bin/tests/system/dialup/ns2/named.conf.in b/bin/tests/system/dialup/ns2/named.conf.in deleted file mode 100644 index 495e267058..0000000000 --- a/bin/tests/system/dialup/ns2/named.conf.in +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright (C) Internet Systems Consortium, Inc. ("ISC") - * - * SPDX-License-Identifier: MPL-2.0 - * - * 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 https://mozilla.org/MPL/2.0/. - * - * See the COPYRIGHT file distributed with this work for additional - * information regarding copyright ownership. - */ - -controls { /* empty */ }; - -options { - query-source address 10.53.0.2; - notify-source 10.53.0.2; - transfer-source 10.53.0.2; - port @PORT@; - pid-file "named.pid"; - listen-on { 10.53.0.2; }; - listen-on-v6 { none; }; - allow-transfer { any; }; - heartbeat-interval 1; - recursion no; - dnssec-validation no; -}; - -zone "." { - type hint; - file "hint.db"; -}; - -zone "example." { - type secondary; - dialup passive; - notify no; - file "example.bk"; - primaries { 10.53.0.1; }; -}; diff --git a/bin/tests/system/dialup/ns3/hint.db b/bin/tests/system/dialup/ns3/hint.db deleted file mode 100644 index 0198f2578a..0000000000 --- a/bin/tests/system/dialup/ns3/hint.db +++ /dev/null @@ -1,13 +0,0 @@ -; Copyright (C) Internet Systems Consortium, Inc. ("ISC") -; -; SPDX-License-Identifier: MPL-2.0 -; -; 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 https://mozilla.org/MPL/2.0/. -; -; See the COPYRIGHT file distributed with this work for additional -; information regarding copyright ownership. - -. 1200 NS ns1.example -ns1.example A 10.53.0.1 diff --git a/bin/tests/system/dialup/ns3/named.conf.in b/bin/tests/system/dialup/ns3/named.conf.in deleted file mode 100644 index 31b9a128c3..0000000000 --- a/bin/tests/system/dialup/ns3/named.conf.in +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright (C) Internet Systems Consortium, Inc. ("ISC") - * - * SPDX-License-Identifier: MPL-2.0 - * - * 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 https://mozilla.org/MPL/2.0/. - * - * See the COPYRIGHT file distributed with this work for additional - * information regarding copyright ownership. - */ - -controls { /* empty */ }; - -options { - query-source address 10.53.0.3; - notify-source 10.53.0.3; - transfer-source 10.53.0.3; - port @PORT@; - pid-file "named.pid"; - listen-on { 10.53.0.3; }; - listen-on-v6 { none; }; - heartbeat-interval 1; - recursion no; - dnssec-validation no; -}; - -zone "." { - type hint; - file "hint.db"; -}; - -zone "example." { - type secondary; - dialup refresh; - notify no; - file "example.bk"; - primaries { 10.53.0.2; }; -}; diff --git a/bin/tests/system/dialup/setup.sh b/bin/tests/system/dialup/setup.sh deleted file mode 100644 index dad3589a35..0000000000 --- a/bin/tests/system/dialup/setup.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh - -# Copyright (C) Internet Systems Consortium, Inc. ("ISC") -# -# SPDX-License-Identifier: MPL-2.0 -# -# 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 https://mozilla.org/MPL/2.0/. -# -# See the COPYRIGHT file distributed with this work for additional -# information regarding copyright ownership. - -# shellcheck source=conf.sh -. ../conf.sh - -copy_setports ns1/named.conf.in ns1/named.conf -copy_setports ns2/named.conf.in ns2/named.conf -copy_setports ns3/named.conf.in ns3/named.conf diff --git a/bin/tests/system/dialup/tests_dialup_zone_transfer.py b/bin/tests/system/dialup/tests_dialup_zone_transfer.py deleted file mode 100644 index 71b8207b45..0000000000 --- a/bin/tests/system/dialup/tests_dialup_zone_transfer.py +++ /dev/null @@ -1,33 +0,0 @@ -# Copyright (C) Internet Systems Consortium, Inc. ("ISC") -# -# SPDX-License-Identifier: MPL-2.0 -# -# 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 https://mozilla.org/MPL/2.0/. -# -# See the COPYRIGHT file distributed with this work for additional -# information regarding copyright ownership. - -import pytest - -import isctest - -import dns.message - - -@pytest.mark.parametrize("ns", [2, 3]) -def test_dialup_zone_transfer(named_port, servers, ns): - msg = dns.message.make_query("example.", "SOA") - # Drop the RD flag from the query - msg.flags &= ~dns.flags.RD - ns1response = isctest.query.tcp(msg, "10.53.0.1") - with servers[f"ns{ns}"].watch_log_from_start() as watcher: - watcher.wait_for_line( - f"transfer of 'example/IN' from 10.53.0.{ns-1}#{named_port}: Transfer status: success", - timeout=90, - ) - response = isctest.query.tcp(msg, f"10.53.0.{ns}") - if response.rcode() != dns.rcode.SERVFAIL: - assert response.answer == ns1response.answer - assert response.authority == ns1response.authority diff --git a/doc/arm/reference.rst b/doc/arm/reference.rst index d4a8cd76a9..bc185a58af 100644 --- a/doc/arm/reference.rst +++ b/doc/arm/reference.rst @@ -2030,64 +2030,6 @@ Boolean Options :any:`memstatistics-file` at exit. The default is ``no`` unless :option:`-m record ` is specified on the command line, in which case it is ``yes``. -.. namedconf:statement:: dialup - :tags: deprecated - :short: Concentrates zone maintenance so that all transfers take place once every :any:`heartbeat-interval`, ideally during a single call. - - This option is deprecated and will be removed in a future release. - - If ``yes``, then the server treats all zones as if they are doing - zone transfers across a dial-on-demand dialup link, which can be - brought up by traffic originating from this server. Although this setting has - different effects according to zone type, it concentrates the zone - maintenance so that everything happens quickly, once every - :any:`heartbeat-interval`, ideally during a single call. It also - suppresses some normal zone maintenance traffic. The default - is ``no``. - - If specified in the :any:`view` and - :any:`zone` statements, the :any:`dialup` option overrides the global :any:`dialup` - option. - - If the zone is a primary zone, the server sends out a NOTIFY - request to all the secondaries (default). This should trigger the zone - serial number check in the secondary (providing it supports NOTIFY), - allowing the secondary to verify the zone while the connection is active. - The set of servers to which NOTIFY is sent can be controlled by - :namedconf:ref:`notify` and :any:`also-notify`. - - If the zone is a secondary or stub zone, the server suppresses - the regular "zone up to date" (refresh) queries and only performs them - when the :any:`heartbeat-interval` expires, in addition to sending NOTIFY - requests. - - Finer control can be achieved by using :namedconf:ref:`notify`, which only sends - NOTIFY messages; ``notify-passive``, which sends NOTIFY messages and - suppresses the normal refresh queries; ``refresh``, which suppresses - normal refresh processing and sends refresh queries when the - :any:`heartbeat-interval` expires; and ``passive``, which disables - normal refresh processing. - - +--------------------+-----------------+-----------------+-----------------+ - | dialup mode | normal refresh | heart-beat | heart-beat | - | | | refresh | notify | - +--------------------+-----------------+-----------------+-----------------+ - | ``no`` | yes | no | no | - | (default) | | | | - +--------------------+-----------------+-----------------+-----------------+ - | ``yes`` | no | yes | yes | - +--------------------+-----------------+-----------------+-----------------+ - | ``notify`` | yes | no | yes | - +--------------------+-----------------+-----------------+-----------------+ - | ``refresh`` | no | yes | no | - +--------------------+-----------------+-----------------+-----------------+ - | ``passive`` | no | no | no | - +--------------------+-----------------+-----------------+-----------------+ - | ``notify-passive`` | no | no | yes | - +--------------------+-----------------+-----------------+-----------------+ - - Note that normal NOTIFY processing is not affected by :any:`dialup`. - .. namedconf:statement:: flush-zones-on-shutdown :tags: zone :short: Controls whether pending zone writes are flushed when the name server exits. @@ -4065,18 +4007,6 @@ system. Periodic Task Intervals ^^^^^^^^^^^^^^^^^^^^^^^ -.. namedconf:statement:: heartbeat-interval - :tags: deprecated - :short: Sets the interval at which the server performs zone maintenance tasks for all zones marked as :any:`dialup`. - - The server performs zone maintenance tasks for all zones marked - as :any:`dialup` whenever this interval expires. The default is 60 - minutes. Reasonable values are up to 1 day (1440 minutes). The - maximum value is 28 days (40320 minutes). If set to 0, no zone - maintenance for these zones occurs. - - This option is deprecated and will be removed in a future release. - .. namedconf:statement:: interface-interval :tags: server :short: Sets the interval at which the server scans the network interface list. @@ -7267,9 +7197,6 @@ Zone Options linked into the server. Some sample drivers are included with the distribution but none are linked in by default. -:any:`dialup` - See the description of :any:`dialup` in :ref:`boolean_options`. - .. namedconf:statement:: file :tags: zone :short: Specifies the zone's filename. diff --git a/doc/misc/options b/doc/misc/options index 2390a98a2e..4f19c8f39c 100644 --- a/doc/misc/options +++ b/doc/misc/options @@ -105,7 +105,6 @@ options { cookie-secret ; // may occur multiple times deny-answer-addresses { ; ... } [ except-from { ; ... } ]; deny-answer-aliases { ; ... } [ except-from { ; ... } ]; - dialup ( notify | notify-passive | passive | refresh | ); // deprecated directory ; disable-algorithms { ; ... }; // may occur multiple times disable-ds-digests { ; ... }; // may occur multiple times @@ -156,7 +155,6 @@ options { fstrm-set-output-queue-size ; // not configured fstrm-set-reopen-interval ; // not configured geoip-directory ( | none ); - heartbeat-interval ; // deprecated hostname ( | none ); http-listener-clients ; http-port ; @@ -411,7 +409,6 @@ view [ ] { clients-per-query ; deny-answer-addresses { ; ... } [ except-from { ; ... } ]; deny-answer-aliases { ; ... } [ except-from { ; ... } ]; - dialup ( notify | notify-passive | passive | refresh | ); // deprecated disable-algorithms { ; ... }; // may occur multiple times disable-ds-digests { ; ... }; // may occur multiple times disable-empty-zone ; // may occur multiple times diff --git a/doc/misc/primary.zoneopt b/doc/misc/primary.zoneopt index 7b351064fe..a561aabc2d 100644 --- a/doc/misc/primary.zoneopt +++ b/doc/misc/primary.zoneopt @@ -17,7 +17,6 @@ zone [ ] { check-wildcard ; checkds ( explicit | ); database ; - dialup ( notify | notify-passive | passive | refresh | ); // deprecated dlz ; dnskey-sig-validity ; // obsolete dnssec-dnskey-kskonly ; // obsolete diff --git a/doc/misc/secondary.zoneopt b/doc/misc/secondary.zoneopt index 3a28af9d84..83be6bb37a 100644 --- a/doc/misc/secondary.zoneopt +++ b/doc/misc/secondary.zoneopt @@ -9,7 +9,6 @@ zone [ ] { check-names ( fail | warn | ignore ); checkds ( explicit | ); database ; - dialup ( notify | notify-passive | passive | refresh | ); // deprecated dlz ; dnskey-sig-validity ; // obsolete dnssec-dnskey-kskonly ; // obsolete diff --git a/doc/misc/stub.zoneopt b/doc/misc/stub.zoneopt index 992aa51e96..04ab240f25 100644 --- a/doc/misc/stub.zoneopt +++ b/doc/misc/stub.zoneopt @@ -4,7 +4,6 @@ zone [ ] { allow-query-on { ; ... }; check-names ( fail | warn | ignore ); database ; - dialup ( notify | notify-passive | passive | refresh | ); // deprecated file ; forward ( first | only ); forwarders [ port ] [ tls ] { ( | ) [ port ] [ tls ]; ... }; diff --git a/fuzz/isc_lex_getmastertoken.in/named.conf b/fuzz/isc_lex_getmastertoken.in/named.conf index 9cbde3521c..0036788f44 100644 Binary files a/fuzz/isc_lex_getmastertoken.in/named.conf and b/fuzz/isc_lex_getmastertoken.in/named.conf differ diff --git a/fuzz/isc_lex_gettoken.in/named.conf b/fuzz/isc_lex_gettoken.in/named.conf index d00c2c526d..5fa286a714 100644 --- a/fuzz/isc_lex_gettoken.in/named.conf +++ b/fuzz/isc_lex_gettoken.in/named.conf @@ -55,8 +55,6 @@ options { #Obsolete deallocate - on - exit no; - dialup yes; - #Obsolete fake - iquery no; @@ -166,7 +164,6 @@ options { max - ixfr - log - size 20m; max - cache - size 1m; - heartbeat - interval 1001; interface - interval 1002; statistics - interval 1003; @@ -325,14 +322,12 @@ view "test-view" in { server 5.6.7.8 { keys "viewkey"; }; server 10.9.8.7 { keys "non-viewkey"; }; - dialup yes; }; zone "stub.demo.zone" { type stub; // stub zones are like secondary zones, // except that only the NS records // are transferred. - dialup yes; file "stub.demo.zone"; primaries { 1.2.3.4; // where to zone transfer from diff --git a/lib/dns/include/dns/types.h b/lib/dns/include/dns/types.h index c4353aef4c..4829b6f92c 100644 --- a/lib/dns/include/dns/types.h +++ b/lib/dns/include/dns/types.h @@ -228,15 +228,6 @@ typedef enum { dns_minimal_noauthrec = 3 } dns_minimaltype_t; -typedef enum { - dns_dialuptype_no = 0, - dns_dialuptype_yes = 1, - dns_dialuptype_notify = 2, - dns_dialuptype_notifypassive = 3, - dns_dialuptype_refresh = 4, - dns_dialuptype_passive = 5 -} dns_dialuptype_t; - typedef enum { dns_masterformat_none = 0, dns_masterformat_text = 1, diff --git a/lib/dns/include/dns/view.h b/lib/dns/include/dns/view.h index 02932e8a94..845531c0d8 100644 --- a/lib/dns/include/dns/view.h +++ b/lib/dns/include/dns/view.h @@ -855,12 +855,6 @@ dns_view_checksig(dns_view_t *view, isc_buffer_t *source, dns_message_t *msg); *\li see dns_tsig_verify() */ -void -dns_view_dialup(dns_view_t *view); -/*%< - * Perform dialup-time maintenance on the zones of 'view'. - */ - isc_result_t dns_view_flushcache(dns_view_t *view, bool fixuponly); /*%< diff --git a/lib/dns/include/dns/zone.h b/lib/dns/include/dns/zone.h index 57b55addb8..ac3c530959 100644 --- a/lib/dns/include/dns/zone.h +++ b/lib/dns/include/dns/zone.h @@ -2101,22 +2101,6 @@ dns_zone_getdnssecsignstats(dns_zone_t *zone); * otherwise NULL. */ -void -dns_zone_dialup(dns_zone_t *zone); -/*%< - * Perform dialup-time maintenance on 'zone'. - */ - -void -dns_zone_setdialup(dns_zone_t *zone, dns_dialuptype_t dialup); -/*%< - * Set the dialup type of 'zone' to 'dialup'. - * - * Requires: - * \li 'zone' to be valid initialised zone. - *\li 'dialup' to be a valid dialup type. - */ - void dns_zone_logv(dns_zone_t *zone, isc_logcategory_t category, int level, const char *prefix, const char *msg, va_list ap); diff --git a/lib/dns/view.c b/lib/dns/view.c index a839ae839d..7e9e5bb0e3 100644 --- a/lib/dns/view.c +++ b/lib/dns/view.c @@ -545,27 +545,6 @@ dns_view_detach(dns_view_t **viewp) { } } -static isc_result_t -dialup(dns_zone_t *zone, void *dummy) { - UNUSED(dummy); - dns_zone_dialup(zone); - return (ISC_R_SUCCESS); -} - -void -dns_view_dialup(dns_view_t *view) { - dns_zt_t *zonetable = NULL; - - REQUIRE(DNS_VIEW_VALID(view)); - - rcu_read_lock(); - zonetable = rcu_dereference(view->zonetable); - if (zonetable != NULL) { - (void)dns_zt_apply(zonetable, false, NULL, dialup, NULL); - } - rcu_read_unlock(); -} - void dns_view_weakattach(dns_view_t *source, dns_view_t **targetp) { REQUIRE(DNS_VIEW_VALID(source)); diff --git a/lib/dns/zone.c b/lib/dns/zone.c index 056caffec2..900844c87b 100644 --- a/lib/dns/zone.c +++ b/lib/dns/zone.c @@ -546,9 +546,6 @@ typedef enum { * are still using * default timer values) */ DNS_ZONEFLG_FORCEXFER = 0x00008000U, /*%< Force a zone xfer */ - DNS_ZONEFLG_NOREFRESH = 0x00010000U, - DNS_ZONEFLG_DIALNOTIFY = 0x00020000U, - DNS_ZONEFLG_DIALREFRESH = 0x00040000U, DNS_ZONEFLG_SHUTDOWN = 0x00080000U, DNS_ZONEFLG_NOIXFR = 0x00100000U, /*%< IXFR failed, force AXFR */ DNS_ZONEFLG_FLUSH = 0x00200000U, @@ -11128,9 +11125,7 @@ zone_maintenance(dns_zone_t *zone) { case dns_zone_mirror: case dns_zone_stub: LOCK_ZONE(zone); - if (!DNS_ZONE_FLAG(zone, DNS_ZONEFLG_DIALREFRESH) && - isc_time_compare(&now, &zone->refreshtime) >= 0) - { + if (isc_time_compare(&now, &zone->refreshtime) >= 0) { zone_refresh(zone); } UNLOCK_ZONE(zone); @@ -12539,9 +12534,6 @@ notify_send_toaddr(void *arg) { goto cleanup_key; } udptimeout = 5; - if (DNS_ZONE_FLAG(notify->zone, DNS_ZONEFLG_DIALNOTIFY)) { - udptimeout = 30; - } timeout = 3 * udptimeout + 1; again: if ((notify->flags & DNS_NOTIFY_TCP) != 0) { @@ -12713,14 +12705,6 @@ zone_notify(dns_zone_t *zone, isc_time_t *now) { origin = &zone->origin; - /* - * If the zone is dialup we are done as we don't want to send - * the current soa so as to force a refresh query. - */ - if (DNS_ZONE_FLAG(zone, DNS_ZONEFLG_DIALNOTIFY)) { - flags |= DNS_NOTIFY_NOSOA; - } - /* * Record that this was a notify due to starting up. */ @@ -14271,7 +14255,6 @@ soa_query(void *arg) { dns_transport_t *transport = NULL; uint32_t options; bool cancel = true; - int timeout; bool have_xfrsource = false, reqnsid, reqexpire; uint16_t udpsize = SEND_BUFFER_SIZE; isc_sockaddr_t curraddr, sourceaddr; @@ -14433,10 +14416,8 @@ again: } zone_iattach(zone, &(dns_zone_t *){ NULL }); - timeout = 5; - if (DNS_ZONE_FLAG(zone, DNS_ZONEFLG_DIALREFRESH)) { - timeout = 30; - } + + int timeout = 5; result = dns_request_create( zone->view->requestmgr, message, &zone->sourceaddr, &curraddr, NULL, NULL, options, key, timeout * 3 + 1, timeout, 2, @@ -14515,7 +14496,6 @@ ns_query(dns_zone_t *zone, dns_rdataset_t *soardataset, dns_stub_t *stub) { isc_netaddr_t primaryip; dns_tsigkey_t *key = NULL; dns_dbnode_t *node = NULL; - int timeout; bool have_xfrsource = false; bool reqnsid; uint16_t udpsize = SEND_BUFFER_SIZE; @@ -14701,10 +14681,6 @@ ns_query(dns_zone_t *zone, dns_rdataset_t *soardataset, dns_stub_t *stub) { POST(result); goto cleanup; } - timeout = 5; - if (DNS_ZONE_FLAG(zone, DNS_ZONEFLG_DIALREFRESH)) { - timeout = 30; - } /* * Save request parameters so we can reuse them later on @@ -14714,9 +14690,10 @@ ns_query(dns_zone_t *zone, dns_rdataset_t *soardataset, dns_stub_t *stub) { cb_args->stub = stub; cb_args->tsig_key = key; cb_args->udpsize = udpsize; - cb_args->timeout = timeout; + cb_args->timeout = 15; cb_args->reqnsid = reqnsid; + int timeout = 5; result = dns_request_create( zone->view->requestmgr, message, &zone->sourceaddr, &curraddr, NULL, NULL, DNS_REQUESTOPT_TCP, key, timeout * 3 + 1, timeout, @@ -15019,7 +14996,6 @@ zone__settimer(void *arg) { case dns_zone_stub: if (!DNS_ZONE_FLAG(zone, DNS_ZONEFLG_REFRESH) && !DNS_ZONE_FLAG(zone, DNS_ZONEFLG_NOPRIMARIES) && - !DNS_ZONE_FLAG(zone, DNS_ZONEFLG_NOREFRESH) && !DNS_ZONE_FLAG(zone, DNS_ZONEFLG_LOADING) && !DNS_ZONE_FLAG(zone, DNS_ZONEFLG_LOADPENDING) && !isc_time_isepoch(&zone->refreshtime) && @@ -15380,13 +15356,10 @@ dns_zone_notifyreceive(dns_zone_t *zone, isc_sockaddr_t *from, /* * If the zone is loaded and there are answers check the serial - * to see if we need to do a refresh. Do not worry about this - * check if we are a dialup zone as we use the notify request - * to trigger a refresh check. + * to see if we need to do a refresh. */ if (msg->counts[DNS_SECTION_ANSWER] > 0 && - DNS_ZONE_FLAG(zone, DNS_ZONEFLG_LOADED) && - !DNS_ZONE_FLAG(zone, DNS_ZONEFLG_NOREFRESH)) + DNS_ZONE_FLAG(zone, DNS_ZONEFLG_LOADED)) { result = dns_message_findname( msg, DNS_SECTION_ANSWER, &zone->origin, @@ -19723,61 +19696,6 @@ dns_zone_getrcvquerystats(dns_zone_t *zone) { } } -void -dns_zone_dialup(dns_zone_t *zone) { - REQUIRE(DNS_ZONE_VALID(zone)); - - zone_debuglog(zone, __func__, 3, "notify = %d, refresh = %d", - DNS_ZONE_FLAG(zone, DNS_ZONEFLG_DIALNOTIFY), - DNS_ZONE_FLAG(zone, DNS_ZONEFLG_DIALREFRESH)); - - if (DNS_ZONE_FLAG(zone, DNS_ZONEFLG_DIALNOTIFY)) { - dns_zone_notify(zone); - } - if (zone->type != dns_zone_primary && - dns_remote_addresses(&zone->primaries) != NULL && - DNS_ZONE_FLAG(zone, DNS_ZONEFLG_DIALREFRESH)) - { - dns_zone_refresh(zone); - } -} - -void -dns_zone_setdialup(dns_zone_t *zone, dns_dialuptype_t dialup) { - REQUIRE(DNS_ZONE_VALID(zone)); - - LOCK_ZONE(zone); - DNS_ZONE_CLRFLAG(zone, DNS_ZONEFLG_DIALNOTIFY | - DNS_ZONEFLG_DIALREFRESH | - DNS_ZONEFLG_NOREFRESH); - switch (dialup) { - case dns_dialuptype_no: - break; - case dns_dialuptype_yes: - DNS_ZONE_SETFLAG(zone, (DNS_ZONEFLG_DIALNOTIFY | - DNS_ZONEFLG_DIALREFRESH | - DNS_ZONEFLG_NOREFRESH)); - break; - case dns_dialuptype_notify: - DNS_ZONE_SETFLAG(zone, DNS_ZONEFLG_DIALNOTIFY); - break; - case dns_dialuptype_notifypassive: - DNS_ZONE_SETFLAG(zone, DNS_ZONEFLG_DIALNOTIFY); - DNS_ZONE_SETFLAG(zone, DNS_ZONEFLG_NOREFRESH); - break; - case dns_dialuptype_refresh: - DNS_ZONE_SETFLAG(zone, DNS_ZONEFLG_DIALREFRESH); - DNS_ZONE_SETFLAG(zone, DNS_ZONEFLG_NOREFRESH); - break; - case dns_dialuptype_passive: - DNS_ZONE_SETFLAG(zone, DNS_ZONEFLG_NOREFRESH); - break; - default: - UNREACHABLE(); - } - UNLOCK_ZONE(zone); -} - isc_result_t dns_zone_setkeydirectory(dns_zone_t *zone, const char *directory) { isc_result_t result = ISC_R_SUCCESS; @@ -19943,10 +19861,9 @@ dns_zone_getxfr(dns_zone_t *zone, dns_xfrin_t **xfrp, bool *is_firstrefresh, * No operation is ongoing or pending, just check if the zone * needs a refresh by looking at the refresh and expire times. */ - if (!DNS_ZONE_FLAG(zone, DNS_ZONEFLG_DIALREFRESH) && - (zone->type == dns_zone_secondary || - zone->type == dns_zone_mirror || - zone->type == dns_zone_stub)) + if (zone->type == dns_zone_secondary || + zone->type == dns_zone_mirror || + zone->type == dns_zone_stub) { isc_time_t now = isc_time_now(); if (isc_time_compare(&now, &zone->refreshtime) >= 0 || diff --git a/lib/isccfg/check.c b/lib/isccfg/check.c index df5551b735..a51123b531 100644 --- a/lib/isccfg/check.c +++ b/lib/isccfg/check.c @@ -1253,7 +1253,6 @@ check_options(const cfg_obj_t *options, const cfg_obj_t *config, * (scale * value) <= UINT32_MAX */ static intervaltable intervals[] = { - { "heartbeat-interval", 60, 28 * 24 * 60 }, /* 28 days */ { "interface-interval", 60, 28 * 24 * 60 }, /* 28 days */ { "max-transfer-idle-in", 60, 28 * 24 * 60 }, /* 28 days */ { "max-transfer-idle-out", 60, 28 * 24 * 60 }, /* 28 days */ @@ -3116,12 +3115,6 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions, "allow-update", "allow-update-forwarding", }; - static optionstable dialups[] = { - { "notify", CFG_ZONE_PRIMARY | CFG_ZONE_SECONDARY }, - { "notify-passive", CFG_ZONE_SECONDARY }, - { "passive", CFG_ZONE_SECONDARY | CFG_ZONE_STUB }, - { "refresh", CFG_ZONE_SECONDARY | CFG_ZONE_STUB }, - }; static const char *sources[] = { "transfer-source", "transfer-source-v6", "notify-source", "notify-source-v6", "parental-source", "parental-source-v6", @@ -3745,42 +3738,6 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions, } } - /* - * Check the excessively complicated "dialup" option. - */ - if (ztype == CFG_ZONE_PRIMARY || ztype == CFG_ZONE_SECONDARY || - ztype == CFG_ZONE_STUB) - { - obj = NULL; - (void)cfg_map_get(zoptions, "dialup", &obj); - if (obj != NULL && cfg_obj_isstring(obj)) { - const char *str = cfg_obj_asstring(obj); - for (i = 0; i < sizeof(dialups) / sizeof(dialups[0]); - i++) - { - if (strcasecmp(dialups[i].name, str) != 0) { - continue; - } - if ((dialups[i].allowed & ztype) == 0) { - cfg_obj_log(obj, ISC_LOG_ERROR, - "dialup type '%s' is not " - "allowed in '%s' " - "zone '%s'", - str, typestr, znamestr); - result = ISC_R_FAILURE; - } - break; - } - if (i == sizeof(dialups) / sizeof(dialups[0])) { - cfg_obj_log(obj, ISC_LOG_ERROR, - "invalid dialup type '%s' in zone " - "'%s'", - str, znamestr); - result = ISC_R_FAILURE; - } - } - } - /* * Check that forwarding is reasonable. */ diff --git a/lib/isccfg/namedconf.c b/lib/isccfg/namedconf.c index 947432e00b..09275a830a 100644 --- a/lib/isccfg/namedconf.c +++ b/lib/isccfg/namedconf.c @@ -95,7 +95,6 @@ static cfg_type_t cfg_type_checkdstype; static cfg_type_t cfg_type_controls; static cfg_type_t cfg_type_controls_sockaddr; static cfg_type_t cfg_type_destinationlist; -static cfg_type_t cfg_type_dialuptype; static cfg_type_t cfg_type_dlz; static cfg_type_t cfg_type_dnssecpolicy; static cfg_type_t cfg_type_dnstap; @@ -1375,7 +1374,7 @@ static cfg_clausedef_t options_clauses[] = { #endif /* HAVE_GEOIP2 */ { "geoip-use-ecs", NULL, CFG_CLAUSEFLAG_ANCIENT }, { "has-old-clients", NULL, CFG_CLAUSEFLAG_ANCIENT }, - { "heartbeat-interval", &cfg_type_uint32, CFG_CLAUSEFLAG_DEPRECATED }, + { "heartbeat-interval", &cfg_type_uint32, CFG_CLAUSEFLAG_ANCIENT }, { "host-statistics", NULL, CFG_CLAUSEFLAG_ANCIENT }, { "host-statistics-max", NULL, CFG_CLAUSEFLAG_ANCIENT }, { "hostname", &cfg_type_qstringornone, 0 }, @@ -2402,9 +2401,9 @@ static cfg_clausedef_t zone_clauses[] = { { "check-srv-cname", &cfg_type_checkmode, CFG_ZONE_PRIMARY }, { "check-svcb", &cfg_type_boolean, CFG_ZONE_PRIMARY }, { "check-wildcard", &cfg_type_boolean, CFG_ZONE_PRIMARY }, - { "dialup", &cfg_type_dialuptype, + { "dialup", &cfg_type_void, CFG_ZONE_PRIMARY | CFG_ZONE_SECONDARY | CFG_ZONE_STUB | - CFG_CLAUSEFLAG_DEPRECATED }, + CFG_CLAUSEFLAG_ANCIENT }, { "dnssec-dnskey-kskonly", &cfg_type_boolean, CFG_ZONE_PRIMARY | CFG_ZONE_SECONDARY | CFG_CLAUSEFLAG_OBSOLETE }, { "dnssec-loadkeys-interval", &cfg_type_uint32, @@ -3108,20 +3107,6 @@ doc_optional_keyvalue(cfg_printer_t *pctx, const cfg_type_t *type) { cfg_print_cstr(pctx, " ]"); } -static const char *dialup_enums[] = { "notify", "notify-passive", "passive", - "refresh", NULL }; -static isc_result_t -parse_dialup_type(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t **ret) { - return (cfg_parse_enum_or_other(pctx, type, &cfg_type_boolean, ret)); -} -static void -doc_dialup_type(cfg_printer_t *pctx, const cfg_type_t *type) { - cfg_doc_enum_or_other(pctx, type, &cfg_type_boolean); -} -static cfg_type_t cfg_type_dialuptype = { "dialuptype", parse_dialup_type, - cfg_print_ustring, doc_dialup_type, - &cfg_rep_string, dialup_enums }; - static const char *notify_enums[] = { "explicit", "master-only", "primary-only", NULL }; static isc_result_t