]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
[v9_10] add to rndc test
authorEvan Hunt <each@isc.org>
Fri, 22 Aug 2014 23:41:38 +0000 (16:41 -0700)
committerEvan Hunt <each@isc.org>
Fri, 22 Aug 2014 23:41:38 +0000 (16:41 -0700)
3928. [test] Improve rndc system test. [RT #36898]

(cherry picked from commit 2401ee51d83a4cd9101398f30679fa4e6046c582)

CHANGES
bin/tests/system/rndc/tests.sh

diff --git a/CHANGES b/CHANGES
index 7d9e898a04399146c3b6131a323330f8cf25eb9f..d550c78352bca9227336fcb5530ccb827b6500e4 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,5 @@
+3928.  [test]          Improve rndc system test. [RT #36898]
+
 3927.  [bug]           dig: report PKCS#11 error codes correctly when
                        compiled with --enable-native-pkcs11. [RT #36956]
 
index 6e14a470e10acb52a90b1a909cebf115000737d1..8504336924c30d53043038efba1138ddd2739136 100644 (file)
@@ -341,5 +341,35 @@ done
 if [ $ret != 0 ]; then echo "I:failed"; fi
 status=`expr $status + $ret`
 
+echo "I:testing rndc with null command"
+ret=0
+$RNDC -s 10.53.0.4 -p 9956 -c ns4/key6.conf null || ret=1
+if [ $ret != 0 ]; then echo "I:failed"; fi
+status=`expr $status + $ret`
+
+echo "I:testing rndc with unknown control channel command"
+ret=0
+$RNDC -s 10.53.0.4 -p 9956 -c ns4/key6.conf obviouslynotacommand >/dev/null 2>&1 && ret=1
+# rndc: 'obviouslynotacommand' failed: unknown command
+if [ $ret != 0 ]; then echo "I:failed"; fi
+status=`expr $status + $ret`
+
+echo "I:testing rndc with querylog command"
+ret=0
+# first enable it with querylog on option
+$RNDC -s 10.53.0.4 -p 9956 -c ns4/key6.conf querylog on >/dev/null 2>&1 || ret=1
+# query for builtin and check if query was logged
+$DIG @10.53.0.4 -p 5300 -c ch -t txt foo12345.bind > /dev/null || ret 1
+grep "query logging is now on" ns4/named.run > /dev/null || ret=1
+grep "query: foo12345.bind CH TXT" ns4/named.run > /dev/null || ret=1
+# toggle query logging and check again
+$RNDC -s 10.53.0.4 -p 9956 -c ns4/key6.conf querylog > /dev/null 2>&1 || ret=1
+# query for another builtin zone and check if query was logged
+$DIG @10.53.0.4 -p 5300 -c ch -t txt foo9876.bind > /dev/null || ret 1
+grep "query logging is now off" ns4/named.run > /dev/null || ret=1
+grep "query: foo9876.bind CH TXT" ns4/named.run > /dev/null && ret=1
+if [ $ret != 0 ]; then echo "I:failed"; fi
+status=`expr $status + $ret`
+
 echo "I:exit status: $status"
 exit $status