]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
add a system test, confirming that named fails to reload without crashing
authorEvan Hunt <each@isc.org>
Thu, 25 Jul 2019 20:53:01 +0000 (16:53 -0400)
committerEvan Hunt <each@isc.org>
Thu, 25 Jul 2019 20:53:01 +0000 (16:53 -0400)
bin/tests/system/geoip/clean.sh
bin/tests/system/geoip/ns2/named15.conf.in
bin/tests/system/geoip/ns2/named16.conf.in [new file with mode: 0644]
bin/tests/system/geoip/tests.sh

index 85caf2f86f67852abdadcc67dc47e684ed24e805..f9bdf5b0f103d6e3835a4728f7b7e8f1d93967f6 100644 (file)
@@ -14,7 +14,7 @@ rm -f ns2/example*.db
 rm -f dig.out.* rndc.out.*
 rm -f data2/*dat
 [ -d data2 ] && rmdir data2
-rm -f ns?/named.run
+rm -f ns?/named.run ns?/named.run.*
 rm -f ns?/named.memstats
 rm -f ns*/named.lock
 rm -f ns*/managed-keys.bind* ns*/*.mkeys*
index 6481ceb8d43775c8111be9324f9a02fdc9f43b4f..85f198f3d676ca848c97aa54e9aa14c2ca61cc39 100644 (file)
@@ -37,7 +37,7 @@ view two {
        match-clients { geoip country US; };
        zone "example" {
                type master;
-               file "../ns2/example2.db";
+               file "example2.db";
        };
 };
 
diff --git a/bin/tests/system/geoip/ns2/named16.conf.in b/bin/tests/system/geoip/ns2/named16.conf.in
new file mode 100644 (file)
index 0000000..68c0e2c
--- /dev/null
@@ -0,0 +1,49 @@
+/*
+ * 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.
+ */
+
+// NS2
+
+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; };
+       recursion no;
+       dnssec-validation no;
+       geoip-directory "../data2";
+};
+
+key rndc_key {
+       secret "1234abcd8765";
+       algorithm hmac-sha256;
+};
+
+controls {
+       inet 10.53.0.2 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
+};
+
+view one {
+       match-clients { geoip continent EU; };
+       zone "example" {
+               type master;
+               file "example1.db";
+       };
+};
+
+view none {
+       zone "example" {
+               type master;
+               file "examplebogus.db";
+       };
+};
index a0c6d0640c582bd30f4ccd9c73be10e6899de47d..8b8cccbc3cd42053199114af219df863a564ecb2 100644 (file)
@@ -292,6 +292,7 @@ status=`expr $status + $ret`
 
 n=`expr $n + 1`
 echo_i "reloading server with different geoip-directory ($n)"
+ret=0
 copy_setports ns2/named15.conf.in ns2/named.conf
 rndc_reload ns2 10.53.0.2
 sleep 3
@@ -313,6 +314,16 @@ fi
 [ $ret -eq 0 ] || echo_i "failed"
 status=`expr $status + $ret`
 
+n=`expr $n + 1`
+echo_i "reloading server with different geoip-directory, missing continent support ($n)"
+nextpart ns2/named.run > /dev/null
+copy_setports ns2/named16.conf.in ns2/named.conf
+rndc_reload ns2 10.53.0.2 > /dev/null
+sleep 3
+nextpart ns2/named.run | grep 'no GeoIP database installed' > /dev/null 2>&1 || ret=1
+[ $ret -eq 0 ] || echo_i "failed"
+status=`expr $status + $ret`
+
 n=`expr $n + 1`
 echo_i "checking other GeoIP options are parsed correctly ($n)"
 ret=0