From: Evan Hunt Date: Tue, 18 Jun 2019 02:12:02 +0000 (-0700) Subject: add system test to confirm glue is returned in priming queries X-Git-Tag: v9.14.4~14^2~1 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=e8ce85d0738269297e14cfba12b219fdeb35aa7e;p=thirdparty%2Fbind9.git add system test to confirm glue is returned in priming queries (cherry picked from commit 9a1f0ea873624b1ffd0891717401c386fec2749f) --- diff --git a/bin/tests/system/additional/ns1/named1.conf.in b/bin/tests/system/additional/ns1/named1.conf.in index 1fb8e7a6017..4c850109d93 100644 --- a/bin/tests/system/additional/ns1/named1.conf.in +++ b/bin/tests/system/additional/ns1/named1.conf.in @@ -29,6 +29,11 @@ controls { inet 10.53.0.1 port @CONTROLPORT@ allow { any; } keys { rndc_key; }; }; +zone "." { + type master; + file "root.db"; +}; + zone "rt.example" { type master; file "rt.db"; diff --git a/bin/tests/system/additional/ns1/named2.conf.in b/bin/tests/system/additional/ns1/named2.conf.in index 84a55481e7c..b71434892c5 100644 --- a/bin/tests/system/additional/ns1/named2.conf.in +++ b/bin/tests/system/additional/ns1/named2.conf.in @@ -29,6 +29,11 @@ controls { inet 10.53.0.1 port @CONTROLPORT@ allow { any; } keys { rndc_key; }; }; +zone "." { + type master; + file "root.db"; +}; + zone "rt.example" { type master; file "rt.db"; diff --git a/bin/tests/system/additional/ns1/named3.conf.in b/bin/tests/system/additional/ns1/named3.conf.in index c0b697986a4..3df718436ab 100644 --- a/bin/tests/system/additional/ns1/named3.conf.in +++ b/bin/tests/system/additional/ns1/named3.conf.in @@ -30,6 +30,11 @@ controls { inet 10.53.0.1 port @CONTROLPORT@ allow { any; } keys { rndc_key; }; }; +zone "." { + type master; + file "root.db"; +}; + zone "rt.example" { type master; file "rt.db"; diff --git a/bin/tests/system/additional/ns1/named4.conf.in b/bin/tests/system/additional/ns1/named4.conf.in index a8f0aa4beb0..f7947c2e2af 100644 --- a/bin/tests/system/additional/ns1/named4.conf.in +++ b/bin/tests/system/additional/ns1/named4.conf.in @@ -29,6 +29,11 @@ controls { inet 10.53.0.1 port @CONTROLPORT@ allow { any; } keys { rndc_key; }; }; +zone "." { + type master; + file "root.db"; +}; + zone "mx.example" { type master; file "mx.db"; diff --git a/bin/tests/system/additional/ns1/root.db b/bin/tests/system/additional/ns1/root.db new file mode 100644 index 00000000000..7db363b2bfa --- /dev/null +++ b/bin/tests/system/additional/ns1/root.db @@ -0,0 +1,19 @@ +; 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. + +. IN SOA ns2. hostmaster ( 2 8H 2H 4W 1D); +. NS ns1.rt.example. +. NS ns2.rt.example. +ns1.rt.example. A 10.53.0.1 +ns2.rt.example. A 10.53.0.2 +rt.example. NS ns1. +naptr.example. NS ns1. +rt2.example. NS ns1. +naptr2.example. NS ns1. +nid.example. NS ns1. diff --git a/bin/tests/system/additional/tests.sh b/bin/tests/system/additional/tests.sh index e3e9a3da25e..40642869b18 100644 --- a/bin/tests/system/additional/tests.sh +++ b/bin/tests/system/additional/tests.sh @@ -210,6 +210,38 @@ dotests() { if [ $ret -eq 1 ] ; then echo_i " failed"; status=1 fi + + n=`expr $n + 1` + echo_i "test with NS, root zone ($n)" + ret=0 + $DIG $DIGOPTS -t NS . @10.53.0.1 > dig.out.$n || ret=1 + # Always expect glue for root priming queries, regardless $minimal + grep 'ADDITIONAL: 3' dig.out.$n > /dev/null || ret=1 + if [ $ret -eq 1 ] ; then + echo_i " failed"; status=1 + fi + + n=`expr $n + 1` + echo_i "test with NS, non-root zone ($n)" + ret=0 + $DIG $DIGOPTS -t NS rt.example @10.53.0.1 > dig.out.$n || ret=1 + case $minimal in + yes) + grep 'ADDITIONAL: 1' dig.out.$n > /dev/null || ret=1 + ;; + no) + grep 'ADDITIONAL: 2' dig.out.$n > /dev/null || ret=1 + ;; + no-auth) + grep 'ADDITIONAL: 2' dig.out.$n > /dev/null || ret=1 + ;; + no-auth-recursive) + grep 'ADDITIONAL: 2' dig.out.$n > /dev/null || ret=1 + ;; + esac + if [ $ret -eq 1 ] ; then + echo_i " failed"; status=1 + fi } echo_i "testing with 'minimal-responses yes;'"