]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
add a regression test for default allow-recursion settings
authorEvan Hunt <each@isc.org>
Wed, 6 Jun 2018 22:57:48 +0000 (15:57 -0700)
committerEvan Hunt <each@isc.org>
Sun, 10 Jun 2018 06:06:33 +0000 (23:06 -0700)
bin/tests/system/allow-query/clean.sh
bin/tests/system/allow-query/ns1/named.conf.in [new file with mode: 0644]
bin/tests/system/allow-query/ns1/root.db [new file with mode: 0644]
bin/tests/system/allow-query/ns3/named.args [new file with mode: 0644]
bin/tests/system/allow-query/ns3/named.conf.in [new file with mode: 0644]
bin/tests/system/allow-query/setup.sh
bin/tests/system/allow-query/tests.sh
util/copyrights

index a36dbf6923f8f1006f02b01ee115acd78a6ba13f..1d02bf591a6ea76cae6cb26398d6cdf4902256cc 100644 (file)
@@ -14,7 +14,8 @@
 #
 
 rm -f dig.out.*
-rm -f ns2/named.conf ns2/controls.conf
+rm -f ns*/named.conf
+rm -f ns2/controls.conf
 rm -f */named.memstats
 rm -f ns*/named.lock
 rm -f ns*/named.run ns*/named.run.prev
diff --git a/bin/tests/system/allow-query/ns1/named.conf.in b/bin/tests/system/allow-query/ns1/named.conf.in
new file mode 100644 (file)
index 0000000..607925b
--- /dev/null
@@ -0,0 +1,23 @@
+/*
+ * 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 {
+       port @PORT@;
+       pid-file "named.pid";
+       listen-on { 10.53.0.1; };
+       listen-on-v6 { none; };
+       recursion no;
+};
+
+zone "." {
+       type master;
+       file "root.db";
+};
diff --git a/bin/tests/system/allow-query/ns1/root.db b/bin/tests/system/allow-query/ns1/root.db
new file mode 100644 (file)
index 0000000..0040271
--- /dev/null
@@ -0,0 +1,16 @@
+; 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.
+
+$TTL 300
+@                      SOA     ns1. hostmaster.localhost. 1 3600 1200 604800 3600
+                       NS      ns1.
+ns1.                   A       10.53.0.1
+
+normal.example.                NS      ns2.normal.example.
+ns2.normal.example.    A       10.53.0.2
diff --git a/bin/tests/system/allow-query/ns3/named.args b/bin/tests/system/allow-query/ns3/named.args
new file mode 100644 (file)
index 0000000..a8f679b
--- /dev/null
@@ -0,0 +1,2 @@
+# this server only has 127.0.0.1 in its localhost/localnets ACLs
+-m record,size,mctx -c named.conf -d 99 -X named.lock -g -T clienttest -T fixedlocal
diff --git a/bin/tests/system/allow-query/ns3/named.conf.in b/bin/tests/system/allow-query/ns3/named.conf.in
new file mode 100644 (file)
index 0000000..6eace59
--- /dev/null
@@ -0,0 +1,24 @@
+/*
+ * 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 {
+       port @PORT@;
+       pid-file "named.pid";
+       listen-on { 10.53.0.3; };
+       listen-on-v6 { none; };
+       recursion yes;
+       dnssec-validation no;
+};
+
+zone "." {
+       type hint;
+       file "../../common/root.hint";
+};
index 3d2c2c82c43fdb6605ff262230f070eabd65ed98..10b3c934a5eca5c179d182da3906bbb6a16dbab7 100644 (file)
@@ -13,4 +13,6 @@ SYSTEMTESTTOP=..
 . $SYSTEMTESTTOP/conf.sh
 
 copy_setports ../common/controls.conf.in ns2/controls.conf
+copy_setports  ns1/named.conf.in ns1/named.conf
 copy_setports  ns2/named01.conf.in ns2/named.conf
+copy_setports  ns3/named.conf.in ns3/named.conf
index f36e5db61130de48d784e2b45195646c56e28bac..fb6059d5b88c56b62d534e2df6418dce338110f3 100644 (file)
@@ -602,5 +602,16 @@ grep '^a.aclnotallow.example' dig.out.ns2.2.$n > /dev/null && ret=1
 if [ $ret != 0 ]; then echo_i "failed"; fi
 status=`expr $status + $ret`
 
+# Test 58 - allow-recursion inheritance
+n=`expr $n + 1`
+echo_i "test $n: default recursion configuration"
+ret=0
+$DIG -p ${PORT} @10.53.0.3 -b 127.0.0.1 a.normal.example a > dig.out.ns3.1.$n
+grep 'status: NOERROR' dig.out.ns3.1.$n > /dev/null || ret=1
+$DIG -p ${PORT} @10.53.0.3 -b 10.53.0.1 a.normal.example a > dig.out.ns3.2.$n
+grep 'status: REFUSED' dig.out.ns3.2.$n > /dev/null || ret=1
+if [ $ret != 0 ]; then echo_i "failed"; fi
+status=`expr $status + $ret`
+
 echo_i "exit status: $status"
 [ $status -eq 0 ] || exit 1
index 756c8f5806ba8eac2474fa2c78105e849a861eec..b3e95aa809b42083399e779bb831affcc8fa3bd6 100644 (file)
 ./bin/tests/system/addzone/tests.sh            SH      2010,2011,2012,2013,2014,2015,2016,2017,2018
 ./bin/tests/system/allow-query/.gitignore      X       2018
 ./bin/tests/system/allow-query/clean.sh                SH      2018
+./bin/tests/system/allow-query/ns1/named.conf.in       CONF-C  2018
+./bin/tests/system/allow-query/ns1/root.db     ZONE    2018
 ./bin/tests/system/allow-query/ns2/generic.db  ZONE    2018
 ./bin/tests/system/allow-query/ns2/named01.conf.in     CONF-C  2018
 ./bin/tests/system/allow-query/ns2/named02.conf.in     CONF-C  2018
 ./bin/tests/system/allow-query/ns2/named55.conf.in     CONF-C  2018
 ./bin/tests/system/allow-query/ns2/named56.conf.in     CONF-C  2018
 ./bin/tests/system/allow-query/ns2/named57.conf.in     CONF-C  2018
+./bin/tests/system/allow-query/ns3/named.args  X       2018
+./bin/tests/system/allow-query/ns3/named.conf.in       CONF-C  2018
 ./bin/tests/system/allow-query/setup.sh                SH      2018
 ./bin/tests/system/allow-query/tests.sh                SH      2018
 ./bin/tests/system/ans.pl                      PERL    2011,2012,2014,2016,2017,2018