From: Diego Fronza Date: Wed, 15 Jan 2020 18:22:06 +0000 (-0300) Subject: Added test for the proposed fix X-Git-Tag: v9.16.0~48^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7417b79c7a84b6f02547e15915326f1a5129028b;p=thirdparty%2Fbind9.git Added test for the proposed fix Added test to ensure that NXDOMAIN is returned when BIND is queried for a non existing domain in CH class (if a view of CHAOS class is configured) and that it also doesn't crash anymore in those cases. --- diff --git a/bin/tests/system/resolver/ns1/chaostest.db b/bin/tests/system/resolver/ns1/chaostest.db new file mode 100644 index 00000000000..4c967b90dda --- /dev/null +++ b/bin/tests/system/resolver/ns1/chaostest.db @@ -0,0 +1,5 @@ +$TTL 3600 +@ CHAOS SOA @ @ 1970010100 86400 600 86400 300 +@ CHAOS NS @ +version CHAOS TXT "CH 1.0" +hostname CHAOS TXT "unknown" diff --git a/bin/tests/system/resolver/ns1/named.conf.in b/bin/tests/system/resolver/ns1/named.conf.in index c7d5d14ce5d..b26a1566013 100644 --- a/bin/tests/system/resolver/ns1/named.conf.in +++ b/bin/tests/system/resolver/ns1/named.conf.in @@ -46,7 +46,10 @@ server fd92:7065:b8e:ffff::1000 { * "globalcache" before the recursive "default"/IN view is configured. */ view "class" chaos { - match-clients { none; }; + zone "chaostest" CHAOS { + type master; + file "chaostest.db"; + }; }; /* diff --git a/bin/tests/system/resolver/tests.sh b/bin/tests/system/resolver/tests.sh index 788e0825283..5604236f5a2 100755 --- a/bin/tests/system/resolver/tests.sh +++ b/bin/tests/system/resolver/tests.sh @@ -805,5 +805,13 @@ grep "running as: .* -m record,size,mctx " ns1/named.run > /dev/null || ret=1 if [ $ret != 0 ]; then echo_i "failed"; fi status=`expr $status + $ret` +n=`expr $n + 1` +echo_i "checking NXDOMAIN is returned when querying non existing domain in CH class ($n)" +ret=0 +$DIG $DIGOPTS @10.53.0.1 id.hostname txt ch > dig.ns1.out.${n} || ret=1 +grep "status: NXDOMAIN" dig.ns1.out.${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