]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Add a regression test
authorEvan Hunt <each@isc.org>
Mon, 11 Oct 2021 20:01:20 +0000 (13:01 -0700)
committerAram Sargsyan <aram@isc.org>
Tue, 23 Nov 2021 11:41:50 +0000 (11:41 +0000)
Reconfigure the server without catalog-zone configuration, and then
put it back and reconfigure again, to confirm that there's no crash.

bin/tests/system/catz/ns2/named1.conf.in [moved from bin/tests/system/catz/ns2/named.conf.in with 100% similarity]
bin/tests/system/catz/ns2/named2.conf.in [new file with mode: 0644]
bin/tests/system/catz/setup.sh
bin/tests/system/catz/tests.sh

diff --git a/bin/tests/system/catz/ns2/named2.conf.in b/bin/tests/system/catz/ns2/named2.conf.in
new file mode 100644 (file)
index 0000000..fcd99ca
--- /dev/null
@@ -0,0 +1,60 @@
+/*
+ * 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.
+ */
+
+include "../../common/rndc.key";
+
+controls {
+       inet 10.53.0.2 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
+};
+
+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 { fd92:7065:b8e:ffff::2; };
+       notify no;
+       recursion no;
+       serial-query-rate 100;
+       # removed catalog-zone option, otherwise this is
+       # identical to named1.conf.in
+};
+
+zone "catalog1.example" {
+       type secondary;
+       file "catalog1.example.db";
+       primaries { 10.53.0.1; };
+};
+
+zone "catalog2.example" {
+       type secondary;
+       file "catalog2.example.db";
+       primaries { 10.53.0.3; };
+};
+
+zone "catalog3.example" {
+       type secondary;
+       file "catalog3.example.db";
+       primaries { 10.53.0.1; };
+};
+
+zone "catalog4.example" {
+       type secondary;
+       file "catalog4.example.db";
+       primaries { 10.53.0.1; };
+};
+
+key tsig_key. {
+       secret "LSAnCU+Z";
+       algorithm hmac-md5;
+};
index 78a558913f915202f89bde7ee4648d2819c15110..6023a34c2d45997a2e797d300b3fc56defca3abf 100644 (file)
@@ -14,7 +14,7 @@
 $SHELL clean.sh
 
 copy_setports ns1/named.conf.in ns1/named.conf
-copy_setports ns2/named.conf.in ns2/named.conf
+copy_setports ns2/named1.conf.in ns2/named.conf
 copy_setports ns3/named.conf.in ns3/named.conf
 
 cp -f ns1/catalog.example.db.in ns1/catalog1.example.db
index f51ac4ba27f801b8433f32cbce460dc2ad02beee..b759a3599cce7278b36fe53162d2ccf23a2bc3e0 100644 (file)
@@ -1178,7 +1178,7 @@ status=$((status+ret))
 n=$((n+1))
 echo_i "reconfiguring secondary - adding catalog4 catalog zone ($n)"
 ret=0
-sed -e "s/^#T1//g" <  ns2/named.conf.in > ns2/named.conf.tmp
+sed -e "s/^#T1//g" <  ns2/named1.conf.in > ns2/named.conf.tmp
 copy_setports ns2/named.conf.tmp ns2/named.conf
 rndccmd 10.53.0.2 reconfig || ret=1
 if [ $ret -ne 0 ]; then echo_i "failed"; fi
@@ -1209,7 +1209,7 @@ status=$((status+ret))
 n=$((n+1))
 echo_i "reconfiguring secondary - removing catalog4 catalog zone, adding non-existent catalog5 catalog zone ($n)"
 ret=0
-sed -e "s/^#T2//" < ns2/named.conf.in > ns2/named.conf.tmp
+sed -e "s/^#T2//" < ns2/named1.conf.in > ns2/named.conf.tmp
 copy_setports ns2/named.conf.tmp ns2/named.conf
 $RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 reconfig > /dev/null 2>&1 && ret=1
 if [ $ret -ne 0 ]; then echo_i "failed"; fi
@@ -1218,7 +1218,7 @@ status=$((status+ret))
 n=$((n+1))
 echo_i "reconfiguring secondary - removing non-existent catalog5 catalog zone ($n)"
 ret=0
-copy_setports ns2/named.conf.in ns2/named.conf
+copy_setports ns2/named1.conf.in ns2/named.conf
 rndccmd 10.53.0.2 reconfig || ret=1
 if [ $ret -ne 0 ]; then echo_i "failed"; fi
 status=$((status+ret))
@@ -1729,5 +1729,15 @@ wait_for_no_soa @10.53.0.2 dom16.example. dig.out.test$n || ret=1
 if [ $ret -ne 0 ]; then echo_i "failed"; fi
 status=$((status+ret))
 
+n=$((n+1))
+echo_i "checking that reconfig can delete and restore catalog zone configuration ($n)"
+ret=0
+copy_setports ns2/named2.conf.in ns2/named.conf
+rndccmd 10.53.0.2 reconfig || ret=1
+copy_setports ns2/named1.conf.in ns2/named.conf
+rndccmd 10.53.0.2 reconfig || ret=1
+if [ $ret -ne 0 ]; then echo_i "failed"; fi
+status=$((status+ret))
+
 echo_i "exit status: $status"
 [ $status -eq 0 ] || exit 1