]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
4232. [test] Add tests for CDS and CDNSKEY with delegation-only.
authorMark Andrews <marka@isc.org>
Wed, 30 Sep 2015 05:55:14 +0000 (15:55 +1000)
committerMark Andrews <marka@isc.org>
Wed, 30 Sep 2015 05:55:14 +0000 (15:55 +1000)
                        [RT #40597]

CHANGES
bin/tests/system/resolver/ns4/root.db
bin/tests/system/resolver/ns5/named.conf
bin/tests/system/resolver/ns6/delegation-only.db [new file with mode: 0644]
bin/tests/system/resolver/ns6/named.conf
bin/tests/system/resolver/tests.sh

diff --git a/CHANGES b/CHANGES
index 96107c66e72a59f3dc4c87ea967dd389e658148f..57940e721c24901b84d8798370be06eaad597837 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,6 @@
+4232.  [test]          Add tests for CDS and CDNSKEY with delegation-only.
+                       [RT #40597]
+
 4231.  [contrib]       Address unchecked memory allocation calls in
                        query-loc and zone2ldap. [RT #40789]
 
index 093d2b3440b3c4a968a434ca11a6e80fa81fb3fe..8b44b49240e385590b4b70a86523e2e48d40b03e 100644 (file)
@@ -25,3 +25,5 @@ $TTL 300
 .                      NS      a.root-servers.nil.
 a.root-servers.nil.    A       10.53.0.4
 all-cnames             NS      cname.tld
+delegation-only.       NS      ns.delegation-only.
+ns.delegation-only.    A       10.53.0.6
index 05833a6d920f75e3dfd8cd71399239787bcc2491..7e9c2d9d68d3c04fae31a45c777a1ce71b4ea9f9 100644 (file)
@@ -50,3 +50,7 @@ zone "child.server" {
        type master;
        file "child.server.db";
 };
+
+zone "delegation-only" {
+       type delegation-only;
+};
diff --git a/bin/tests/system/resolver/ns6/delegation-only.db b/bin/tests/system/resolver/ns6/delegation-only.db
new file mode 100644 (file)
index 0000000..72564dc
--- /dev/null
@@ -0,0 +1,22 @@
+$TTL 120
+@      IN      SOA     ns      marka.isc.org. 1 0 0 0 120
+@      IN      NS      ns
+@      IN      DNSKEY  256 3 7 AwEAAY9437GPWJHzBeR4FP6eJAie7gh2QSM6LUnbDAHvHOx8MNqgSVRM PZka2rAgivb65/MkT1lXRUegj91iRFP3iggTpCgvdUbcBjsYrdODsrwF YUMIUl1pU0lH9x7KvfFUOfSmG+Rk5UHUWuRZbNyc65Sq69iFXg5c11+8 MAkRoeDF
+;
+;      Delegation only test CDS and CDNSKEY records.  These should be
+;      returned even if delegation-only is set for this zone.
+;
+@      IN      A       1.2.3.4
+@      IN      AAAA    c::1.2.3.4
+@      IN      CDS     21366 7 1 E6C1716CFB6BDC84E84CE1AB5510DAC69173B5B2
+@      IN      CDNSKEY 256 3 7 AwEAAY9437GPWJHzBeR4FP6eJAie7gh2QSM6LUnbDAHvHOx8MNqgSVRM PZka2rAgivb65/MkT1lXRUegj91iRFP3iggTpCgvdUbcBjsYrdODsrwF YUMIUl1pU0lH9x7KvfFUOfSmG+Rk5UHUWuRZbNyc65Sq69iFXg5c11+8 MAkRoeDF
+;
+;      Delegation only test CDS and CDNSKEY records.  These should be rejected
+;      as they are not at the zone apex.
+;
+a      IN      A       1.2.3.4
+aaaa   IN      AAAA    c::1.2.3.4
+cds    IN      CDS     21366 7 1 E6C1716CFB6BDC84E84CE1AB5510DAC69173B5B2
+cdnskey        IN      CDNSKEY 256 3 7 AwEAAY9437GPWJHzBeR4FP6eJAie7gh2QSM6LUnbDAHvHOx8MNqgSVRM PZka2rAgivb65/MkT1lXRUegj91iRFP3iggTpCgvdUbcBjsYrdODsrwF YUMIUl1pU0lH9x7KvfFUOfSmG+Rk5UHUWuRZbNyc65Sq69iFXg5c11+8 MAkRoeDF
+;
+ns     IN      A       10.53.0.6
index 9ec8a3ebaec66d8b97b5cdd4015dd18ef55def9f..d0eb05ecde550b5ba4b83a25277d51ed5b1da5c2 100644 (file)
@@ -65,3 +65,8 @@ zone "no-edns-version.tld" {
        type master;
        file "no-edns-version.tld.db";
 };
+
+zone "delegation-only" {
+       type master;
+       file "delegation-only.db";
+};
index dd0763909d023b5a249fce38564308a2c2057dab..708780f68a76dbb0110d319df5e049358a71e994 100755 (executable)
@@ -561,5 +561,101 @@ grep "CLIENT-SUBNET: 255.255.254.0/23/0" dig.out.ns5.test${n} > /dev/null || ret
 if [ $ret != 0 ]; then echo "I:failed"; fi
 status=`expr $status + $ret`
 
+n=`expr $n + 1`
+echo "I:check that SOA query returns data for delegation-only apex (${n})"
+ret=0
+$DIG soa delegation-only @10.53.0.5 -p 5300 > dig.out.ns5.test${n} || ret=1
+grep "status: NOERROR" dig.out.ns5.test${n} > /dev/null || ret=1
+grep "ANSWER: 1," dig.out.ns5.test${n} > /dev/null || ret=1
+if [ $ret != 0 ]; then echo "I:failed"; fi
+status=`expr $status + $ret`
+n=`expr $n + 1`
+
+n=`expr $n + 1`
+echo "I:check that NS query returns data for delegation-only apex (${n})"
+ret=0
+$DIG ns delegation-only @10.53.0.5 -p 5300 > dig.out.ns5.test${n} || ret=1
+grep "status: NOERROR" dig.out.ns5.test${n} > /dev/null || ret=1
+grep "ANSWER: 1," dig.out.ns5.test${n} > /dev/null || ret=1
+if [ $ret != 0 ]; then echo "I:failed"; fi
+status=`expr $status + $ret`
+
+n=`expr $n + 1`
+echo "I:check that A query returns data for delegation-only A apex (${n})"
+ret=0
+$DIG a delegation-only @10.53.0.5 -p 5300 > dig.out.ns5.test${n} || ret=1
+grep "status: NOERROR" dig.out.ns5.test${n} > /dev/null || ret=1
+grep "ANSWER: 1," dig.out.ns5.test${n} > /dev/null || ret=1
+if [ $ret != 0 ]; then echo "I:failed"; fi
+status=`expr $status + $ret`
+
+n=`expr $n + 1`
+echo "I:check that CDS query returns data for delegation-only apex (${n})"
+ret=0
+$DIG cds delegation-only @10.53.0.5 -p 5300 > dig.out.ns5.test${n} || ret=1
+grep "status: NOERROR" dig.out.ns5.test${n} > /dev/null || ret=1
+grep "ANSWER: 1," dig.out.ns5.test${n} > /dev/null || ret=1
+if [ $ret != 0 ]; then echo "I:failed"; fi
+status=`expr $status + $ret`
+
+n=`expr $n + 1`
+echo "I:check that AAAA query returns data for delegation-only AAAA apex (${n})"
+ret=0
+$DIG a delegation-only @10.53.0.5 -p 5300 > dig.out.ns5.test${n} || ret=1
+grep "status: NOERROR" dig.out.ns5.test${n} > /dev/null || ret=1
+grep "ANSWER: 1," dig.out.ns5.test${n} > /dev/null || ret=1
+if [ $ret != 0 ]; then echo "I:failed"; fi
+status=`expr $status + $ret`
+n=`expr $n + 1`
+
+echo "I:check that DNSKEY query returns data for delegation-only apex (${n})"
+ret=0
+$DIG dnskey delegation-only @10.53.0.5 -p 5300 > dig.out.ns5.test${n} || ret=1
+grep "status: NOERROR" dig.out.ns5.test${n} > /dev/null || ret=1
+grep "ANSWER: 1," dig.out.ns5.test${n} > /dev/null || ret=1
+if [ $ret != 0 ]; then echo "I:failed"; fi
+status=`expr $status + $ret`
+
+n=`expr $n + 1`
+echo "I:check that CDNSKEY query returns data for delegation-only apex (${n})"
+ret=0
+$DIG cdnskey delegation-only @10.53.0.5 -p 5300 > dig.out.ns5.test${n} || ret=1
+grep "status: NOERROR" dig.out.ns5.test${n} > /dev/null || ret=1
+grep "ANSWER: 1," dig.out.ns5.test${n} > /dev/null || ret=1
+if [ $ret != 0 ]; then echo "I:failed"; fi
+status=`expr $status + $ret`
+
+n=`expr $n + 1`
+echo "I:check that NXDOMAIN is returned for delegation-only non-apex A data (${n})"
+ret=0
+$DIG a a.delegation-only @10.53.0.5 -p 5300 > dig.out.ns5.test${n} || ret=1
+grep "status: NXDOMAIN" dig.out.ns5.test${n} > /dev/null || ret=1
+if [ $ret != 0 ]; then echo "I:failed"; fi
+status=`expr $status + $ret`
+
+n=`expr $n + 1`
+echo "I:check that NXDOMAIN is returned for delegation-only non-apex CDS data (${n})"
+ret=0
+$DIG cds cds.delegation-only @10.53.0.5 -p 5300 > dig.out.ns5.test${n} || ret=1
+grep "status: NXDOMAIN" dig.out.ns5.test${n} > /dev/null || ret=1
+if [ $ret != 0 ]; then echo "I:failed"; fi
+status=`expr $status + $ret`
+
+n=`expr $n + 1`
+echo "I:check that NXDOMAIN is returned for delegation-only non-apex AAAA data (${n})"
+ret=0
+$DIG aaaa aaaa.delegation-only @10.53.0.5 -p 5300 > dig.out.ns5.test${n} || ret=1
+grep "status: NXDOMAIN" dig.out.ns5.test${n} > /dev/null || ret=1
+if [ $ret != 0 ]; then echo "I:failed"; fi
+status=`expr $status + $ret`
+n=`expr $n + 1`
+
+echo "I:check that NXDOMAIN is returned for delegation-only non-apex CDNSKEY data (${n})"
+ret=0
+$DIG cdnskey cdnskey.delegation-only @10.53.0.5 -p 5300 > dig.out.ns5.test${n} || ret=1
+grep "status: NXDOMAIN" dig.out.ns5.test${n} > /dev/null || ret=1
+if [ $ret != 0 ]; then echo "I:failed"; fi
+status=`expr $status + $ret`
+
 echo "I:exit status: $status"
 exit $status