3684. [bug] The list of included files would grow on reload.

[RT 35090]
This commit is contained in:
Mark Andrews
2013-12-07 09:44:45 +11:00
parent 53f70575bd
commit 7d65cbaca0
5 changed files with 89 additions and 3 deletions

View File

@@ -51,3 +51,7 @@ zone "master.example" {
auto-dnssec maintain;
};
zone "reload.example" {
type master;
file "reload.db";
};

View File

@@ -26,4 +26,6 @@ echo '$INCLUDE "master.db.signed"' >> master.db
$KEYGEN -r ../random.data -3q master.example > /dev/null 2>&1
$KEYGEN -r ../random.data -3qfk master.example > /dev/null 2>&1
$SIGNER -SD -o master.example master.db > /dev/null 2>&1
echo '$INCLUDE "soa.db"' > reload.db
echo '@ 0 NS .' >> reload.db
echo '@ 0 SOA . . 1 0 0 0 0' > soa.db

View File

@@ -204,6 +204,35 @@ checkfor "nodes: " rndc.out.slave
checkfor "next refresh: " rndc.out.slave
checkfor "expires: " rndc.out.slave
checkfor "secure: yes" rndc.out.slave
for i in 0 1 2 3 4 5 6 7 8 9
do
$RNDC -c ../common/rndc.conf -s 10.53.0.1 -p 9953 zonestatus reload.example > rndc.out.prereload 2>&1
grep "zone not loaded" rndc.out.prereload > /dev/null || break
sleep 1
done
checkfor "files: reload.db, soa.db$" rndc.out.prereload
echo "@ 0 SOA . . 2 0 0 0 0" > ns1/soa.db
$RNDC -c ../common/rndc.conf -s 10.53.0.1 -p 9953 reload reload.example
for i in 0 1 2 3 4 5 6 7 8 9
do
$DIG reload.example SOA @10.53.0.1 -p 5300 > dig.out
grep " 2 0 0 0 0" dig.out >/dev/null && break
sleep 1
done
$RNDC -c ../common/rndc.conf -s 10.53.0.1 -p 9953 zonestatus reload.example > rndc.out.postreload 2>&1
checkfor "files: reload.db, soa.db$" rndc.out.postreload
sleep 1
echo "@ 0 SOA . . 3 0 0 0 0" > ns1/reload.db
echo "@ 0 NS ." >> ns1/reload.db
$RNDC -c ../common/rndc.conf -s 10.53.0.1 -p 9953 reload reload.example
for i in 0 1 2 3 4 5 6 7 8 9
do
$DIG reload.example SOA @10.53.0.1 -p 5300 > dig.out
grep " 3 0 0 0 0" dig.out >/dev/null && break
sleep 1
done
$RNDC -c ../common/rndc.conf -s 10.53.0.1 -p 9953 zonestatus reload.example > rndc.out.removeinclude 2>&1
checkfor "files: reload.db$" rndc.out.removeinclude
if [ $ret != 0 ]; then echo "I:failed"; fi
status=`expr $status + $ret`