tests.sh revision de0fd6809754ad9dc47b7c60fda8f4c8b22ea1f8
d6fa26d0adaec6c910115be34fe7a5a5f402c14fMark Andrews#!/bin/sh
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews#
71cef386fae61275b03e203825680b39fedaa8c6Tinderbox User# Copyright (C) 2011, 2012 Internet Systems Consortium, Inc. ("ISC")
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews#
5347c0fcb04eaea19d9f39795646239f487c6207Tinderbox User# Permission to use, copy, modify, and/or distribute this software for any
5347c0fcb04eaea19d9f39795646239f487c6207Tinderbox User# purpose with or without fee is hereby granted, provided that the above
5347c0fcb04eaea19d9f39795646239f487c6207Tinderbox User# copyright notice and this permission notice appear in all copies.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews#
d6fa26d0adaec6c910115be34fe7a5a5f402c14fMark Andrews# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
cd32f419a8a5432fbb139f56ee73cbf68b9350ccTinderbox User# PERFORMANCE OF THIS SOFTWARE.
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater
c3dc968140ab7f04795acc7835e4e89ccb0c0a27Tinderbox User# $Id: tests.sh,v 1.18 2012/02/23 06:53:15 marka Exp $
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark AndrewsSYSTEMTESTTOP=..
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews. $SYSTEMTESTTOP/conf.sh
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark AndrewsDIGOPTS="+tcp +dnssec"
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark AndrewsRANDFILE=random.data
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updaterstatus=0
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsn=0
c3dc968140ab7f04795acc7835e4e89ccb0c0a27Tinderbox User
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsn=`expr $n + 1`
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsecho "I:checking that the zone is signed on initial transfer ($n)"
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsret=0
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsfor i in 1 2 3 4 5 6 7 8 9 10
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsdo
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User ret=0
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews $RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 signing -list bits > signing.out.test$n 2>&1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User keys=`grep '^Done signing' signing.out.test$n | wc -l`
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User [ $keys = 2 ] || ret=1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User if [ $ret = 0 ]; then break; fi
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User sleep 1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userdone
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userif [ $ret != 0 ]; then echo "I:failed"; fi
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsstatus=`expr $status + $ret`
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Usern=`expr $n + 1`
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userecho "I:checking expired signatures are updated on load ($n)"
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userret=0
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews$DIG $DIGOPTS @10.53.0.3 -p 5300 +noall +answer +dnssec expired SOA > dig.out.ns3.test$n
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userexpiry=`awk '$4 == "RRSIG" { print $9 }' dig.out.ns3.test$n`
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User[ "$expiry" = "20110101000000" ] && ret=1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userif [ $ret != 0 ]; then echo "I:failed"; fi
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userstatus=`expr $status + $ret`
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Usern=`expr $n + 1`
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userecho "I:checking removal of private type record via 'rndc signing -clear' ($n)"
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userret=0
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 signing -list bits > signing.out.test$n 2>&1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userkeys=`sed -n -e 's/Done signing with key \(.*\)$/\1/p' signing.out.test$n`
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userfor key in $keys; do
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User $RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 signing -clear ${key} bits > /dev/null || ret=1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User break; # We only want to remove 1 record for now.
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userdone 2>&1 |sed 's/^/I:ns3 /'
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userfor i in 1 2 3 4 5 6 7 8 9 10
c52dde922980a55e22f6f9f9f97544922a9d67f8Tinderbox Userdo
c52dde922980a55e22f6f9f9f97544922a9d67f8Tinderbox User ans=0
c52dde922980a55e22f6f9f9f97544922a9d67f8Tinderbox User $RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 signing -list bits > signing.out.test$n 2>&1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User num=`grep "Done signing with" signing.out.test$n | wc -l`
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User [ $num = 1 ] && break
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User sleep 1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userdone
c52dde922980a55e22f6f9f9f97544922a9d67f8Tinderbox User[ $ans = 0 ] || ret=1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userif [ $ret != 0 ]; then echo "I:failed"; fi
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userstatus=`expr $status + $ret`
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Usern=`expr $n + 1`
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userecho "I:checking private type was properly signed ($n)"
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userret=0
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User$DIG $DIGOPTS @10.53.0.6 -p 5300 bits TYPE65534 > dig.out.ns6.test$n
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Usergrep "ANSWER: 2," dig.out.ns6.test$n > /dev/null || ret=1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Usergrep "flags:.* ad[ ;]" dig.out.ns6.test$n > /dev/null || ret=1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userif [ $ret != 0 ]; then echo "I:failed"; fi
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userstatus=`expr $status + $ret`
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Usern=`expr $n + 1`
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userecho "I:checking removal of remaining private type record via 'rndc signing -clear all' ($n)"
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userret=0
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 signing -clear all bits > /dev/null || ret=1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userfor i in 1 2 3 4 5 6 7 8 9 10
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userdo
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User ans=0
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User $RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 signing -list bits > signing.out.test$n 2>&1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User grep "No signing records found" signing.out.test$n > /dev/null || ans=1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User [ $ans = 1 ] || break
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User sleep 1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userdone
7e71f05d8643aca84914437c900cb716444507e4Tinderbox User[ $ans = 0 ] || ret=1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userif [ $ret != 0 ]; then echo "I:failed"; fi
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsstatus=`expr $status + $ret`
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsn=`expr $n + 1`
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsecho "I:checking negative private type response was properly signed ($n)"
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsret=0
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews$DIG $DIGOPTS @10.53.0.6 -p 5300 bits TYPE65534 > dig.out.ns6.test$n
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsgrep "status: NOERROR" dig.out.ns6.test$n > /dev/null || ret=1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Usergrep "ANSWER: 0," dig.out.ns6.test$n > /dev/null || ret=1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Usergrep "flags:.* ad[ ;]" dig.out.ns6.test$n > /dev/null || ret=1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
7e71f05d8643aca84914437c900cb716444507e4Tinderbox Userif [ $ret != 0 ]; then echo "I:failed"; fi
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userstatus=`expr $status + $ret`
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User$NSUPDATE << EOF
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewszone bits
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userserver 10.53.0.2 5300
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userupdate add added.bits 0 A 1.2.3.4
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewssend
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox UserEOF
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsn=`expr $n + 1`
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userecho "I:checking that the record is added on the hidden master ($n)"
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userret=0
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews$DIG $DIGOPTS @10.53.0.2 -p 5300 added.bits A > dig.out.ns2.test$n
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Usergrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Usergrep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updaterif [ $ret != 0 ]; then echo "I:failed"; fi
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userstatus=`expr $status + $ret`
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updatern=`expr $n + 1`
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updaterecho "I:checking that update has been transfered and has been signed ($n)"
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updaterret=0
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updaterfor i in 1 2 3 4 5 6 7 8 9 10
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updaterdo
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt ret=0
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User $DIG $DIGOPTS @10.53.0.3 -p 5300 added.bits A > dig.out.ns3.test$n
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User grep "status: NOERROR" dig.out.ns3.test$n > /dev/null || ret=1
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater grep "ANSWER: 2," dig.out.ns3.test$n > /dev/null || ret=1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User if [ $ret = 0 ]; then break; fi
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User sleep 1
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updaterdone
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updaterif [ $ret != 0 ]; then echo "I:failed"; fi
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userstatus=`expr $status + $ret`
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
be6c1c506161e6f45fcff5d0425f78801bc267c1Automatic Updater$NSUPDATE << EOF
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userzone bits
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userserver 10.53.0.2 5300
be6c1c506161e6f45fcff5d0425f78801bc267c1Automatic Updaterupdate add bits 0 SOA ns2.bits. . 2011072400 20 20 1814400 3600
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Huntsend
be6c1c506161e6f45fcff5d0425f78801bc267c1Automatic UpdaterEOF
be6c1c506161e6f45fcff5d0425f78801bc267c1Automatic Updater
be6c1c506161e6f45fcff5d0425f78801bc267c1Automatic Updatern=`expr $n + 1`
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Huntecho "I:checking YYYYMMDDVV (2011072400) serial on hidden master ($n)"
9d557856c2a19ec95ee73245f60a92f8675cf5baTinderbox Userret=0
43b94483957d3168796a816ed86cf097518817dcTinderbox User$DIG $DIGOPTS @10.53.0.2 -p 5300 bits SOA > dig.out.ns2.test$n
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Usergrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Usergrep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
8ec3c085233cedb22b05da36e2773c8f357a7e45Automatic Updatergrep "2011072400" dig.out.ns2.test$n > /dev/null || ret=1
6ea2385360e9e2167e65f9286447da9eea189457Tinderbox Userif [ $ret != 0 ]; then echo "I:failed"; fi
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userstatus=`expr $status + $ret`
6ea2385360e9e2167e65f9286447da9eea189457Tinderbox User
6ea2385360e9e2167e65f9286447da9eea189457Tinderbox Usern=`expr $n + 1`
6ea2385360e9e2167e65f9286447da9eea189457Tinderbox Userecho "I:checking YYYYMMDDVV (2011072400) serial in signed zone ($n)"
6ea2385360e9e2167e65f9286447da9eea189457Tinderbox Userfor i in 1 2 3 4 5 6 7 8 9 10
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userdo
6ea2385360e9e2167e65f9286447da9eea189457Tinderbox User ret=0
6ea2385360e9e2167e65f9286447da9eea189457Tinderbox User $DIG $DIGOPTS @10.53.0.3 -p 5300 bits SOA > dig.out.ns3.test$n
6ea2385360e9e2167e65f9286447da9eea189457Tinderbox User grep "status: NOERROR" dig.out.ns3.test$n > /dev/null || ret=1
6ea2385360e9e2167e65f9286447da9eea189457Tinderbox User grep "ANSWER: 2," dig.out.ns3.test$n > /dev/null || ret=1
6ea2385360e9e2167e65f9286447da9eea189457Tinderbox User grep "2011072400" dig.out.ns3.test$n > /dev/null || ret=1
6ea2385360e9e2167e65f9286447da9eea189457Tinderbox User if [ $ret = 0 ]; then break; fi
6ea2385360e9e2167e65f9286447da9eea189457Tinderbox User sleep 1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userdone
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updaterif [ $ret != 0 ]; then echo "I:failed"; fi
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userstatus=`expr $status + $ret`
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Usern=`expr $n + 1`
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updaterecho "I:checking that the zone is signed on initial transfer, noixfr ($n)"
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updaterret=0
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userfor i in 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userdo
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater ret=0
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User $RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 signing -list noixfr > signing.out.test$n 2>&1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User keys=`grep '^Done signing' signing.out.test$n | wc -l`
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater [ $keys = 2 ] || ret=1
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater if [ $ret = 0 ]; then break; fi
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User sleep 1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userdone
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsif [ $ret != 0 ]; then echo "I:failed"; fi
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userstatus=`expr $status + $ret`
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews$NSUPDATE << EOF
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewszone noixfr
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userserver 10.53.0.4 5300
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userupdate add added.noixfr 0 A 1.2.3.4
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewssend
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox UserEOF
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsn=`expr $n + 1`
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsecho "I:checking that the record is added on the hidden master, noixfr ($n)"
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userret=0
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User$DIG $DIGOPTS @10.53.0.4 -p 5300 added.noixfr A > dig.out.ns4.test$n
0e1dece22e128f9dfa723316a35c4b3f06912381Tinderbox Usergrep "status: NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Usergrep "ANSWER: 1," dig.out.ns4.test$n > /dev/null || ret=1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userif [ $ret != 0 ]; then echo "I:failed"; fi
0e1dece22e128f9dfa723316a35c4b3f06912381Tinderbox Userstatus=`expr $status + $ret`
0e1dece22e128f9dfa723316a35c4b3f06912381Tinderbox User
0e1dece22e128f9dfa723316a35c4b3f06912381Tinderbox Usern=`expr $n + 1`
0e1dece22e128f9dfa723316a35c4b3f06912381Tinderbox Userecho "I:checking that update has been transfered and has been signed, noixfr ($n)"
0e1dece22e128f9dfa723316a35c4b3f06912381Tinderbox Userret=0
0e1dece22e128f9dfa723316a35c4b3f06912381Tinderbox Userfor i in 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10
0e1dece22e128f9dfa723316a35c4b3f06912381Tinderbox Userdo
0e1dece22e128f9dfa723316a35c4b3f06912381Tinderbox User ret=0
0e1dece22e128f9dfa723316a35c4b3f06912381Tinderbox User $DIG $DIGOPTS @10.53.0.3 -p 5300 added.noixfr A > dig.out.ns3.test$n
0e1dece22e128f9dfa723316a35c4b3f06912381Tinderbox User grep "status: NOERROR" dig.out.ns3.test$n > /dev/null || ret=1
0e1dece22e128f9dfa723316a35c4b3f06912381Tinderbox User grep "ANSWER: 2," dig.out.ns3.test$n > /dev/null || ret=1
0e1dece22e128f9dfa723316a35c4b3f06912381Tinderbox User if [ $ret = 0 ]; then break; fi
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User sleep 1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userdone
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsif [ $ret != 0 ]; then echo "I:failed"; fi
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userstatus=`expr $status + $ret`
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews$NSUPDATE << EOF
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewszone noixfr
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsserver 10.53.0.4 5300
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsupdate add noixfr 0 SOA ns4.noixfr. . 2011072400 20 20 1814400 3600
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewssend
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark AndrewsEOF
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsn=`expr $n + 1`
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userecho "I:checking YYYYMMDDVV (2011072400) serial on hidden master, noixfr ($n)"
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userret=0
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews$DIG $DIGOPTS @10.53.0.4 -p 5300 noixfr SOA > dig.out.ns4.test$n
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Usergrep "status: NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Usergrep "ANSWER: 1," dig.out.ns4.test$n > /dev/null || ret=1
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsgrep "2011072400" dig.out.ns4.test$n > /dev/null || ret=1
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsif [ $ret != 0 ]; then echo "I:failed"; fi
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsstatus=`expr $status + $ret`
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsn=`expr $n + 1`
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsecho "I:checking YYYYMMDDVV (2011072400) serial in signed zone, noixfr ($n)"
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsfor i in 1 2 3 4 5 6 7 8 9 10
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updaterdo
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater ret=0
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User $DIG $DIGOPTS @10.53.0.3 -p 5300 noixfr SOA > dig.out.ns3.test$n
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User grep "status: NOERROR" dig.out.ns3.test$n > /dev/null || ret=1
60a900e83bab52c3f023be66654f3ab023172778Automatic Updater grep "ANSWER: 2," dig.out.ns3.test$n > /dev/null || ret=1
60a900e83bab52c3f023be66654f3ab023172778Automatic Updater grep "2011072400" dig.out.ns3.test$n > /dev/null || ret=1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User if [ $ret = 0 ]; then break; fi
60a900e83bab52c3f023be66654f3ab023172778Automatic Updater sleep 1
60a900e83bab52c3f023be66654f3ab023172778Automatic Updaterdone
60a900e83bab52c3f023be66654f3ab023172778Automatic Updaterif [ $ret != 0 ]; then echo "I:failed"; fi
60a900e83bab52c3f023be66654f3ab023172778Automatic Updaterstatus=`expr $status + $ret`
60a900e83bab52c3f023be66654f3ab023172778Automatic Updater
60a900e83bab52c3f023be66654f3ab023172778Automatic Updatern=`expr $n + 1`
60a900e83bab52c3f023be66654f3ab023172778Automatic Updaterecho "I:checking that the master zone signed on initial load ($n)"
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userret=0
60a900e83bab52c3f023be66654f3ab023172778Automatic Updaterfor i in 1 2 3 4 5 6 7 8 9 10
60a900e83bab52c3f023be66654f3ab023172778Automatic Updaterdo
60a900e83bab52c3f023be66654f3ab023172778Automatic Updater ret=0
60a900e83bab52c3f023be66654f3ab023172778Automatic Updater $RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 signing -list master > signing.out.test$n 2>&1
60a900e83bab52c3f023be66654f3ab023172778Automatic Updater keys=`grep '^Done signing' signing.out.test$n | wc -l`
60a900e83bab52c3f023be66654f3ab023172778Automatic Updater [ $keys = 2 ] || ret=1
60a900e83bab52c3f023be66654f3ab023172778Automatic Updater if [ $ret = 0 ]; then break; fi
60a900e83bab52c3f023be66654f3ab023172778Automatic Updater sleep 1
60a900e83bab52c3f023be66654f3ab023172778Automatic Updaterdone
60a900e83bab52c3f023be66654f3ab023172778Automatic Updaterif [ $ret != 0 ]; then echo "I:failed"; fi
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsn=`expr $n + 1`
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userecho "I:checking removal of private type record via 'rndc signing -clear' (master) ($n)"
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userret=0
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 signing -list master > signing.out.test$n 2>&1
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewskeys=`sed -n -e 's/Done signing with key \(.*\)$/\1/p' signing.out.test$n`
2628293c6edaa41ed1407c42bb196083901e087bAutomatic Updaterfor key in $keys; do
2628293c6edaa41ed1407c42bb196083901e087bAutomatic Updater $RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 signing -clear ${key} master > /dev/null || ret=1
2628293c6edaa41ed1407c42bb196083901e087bAutomatic Updater break; # We only want to remove 1 record for now.
2628293c6edaa41ed1407c42bb196083901e087bAutomatic Updaterdone 2>&1 |sed 's/^/I:ns3 /'
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userfor i in 1 2 3 4 5 6 7 8 9
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsdo
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User ans=0
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User $RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 signing -list master > signing.out.test$n 2>&1
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews num=`grep "Done signing with" signing.out.test$n | wc -l`
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt [ $num = 1 ] && break
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User sleep 1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userdone
6f1205897504b8f50b1785975482c995888dd630Tinderbox User[ $ans = 0 ] || ret=1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userif [ $ret != 0 ]; then echo "I:failed"; fi
6f1205897504b8f50b1785975482c995888dd630Tinderbox Userstatus=`expr $status + $ret`
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Usern=`expr $n + 1`
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsecho "I:checking private type was properly signed (master) ($n)"
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsret=0
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User$DIG $DIGOPTS @10.53.0.6 -p 5300 master TYPE65534 > dig.out.ns6.test$n
d71e2e0c61df16ff37c9934c371a4a60c08974f7Mark Andrewsgrep "ANSWER: 2," dig.out.ns6.test$n > /dev/null || ret=1
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsgrep "flags:.* ad[ ;]" dig.out.ns6.test$n > /dev/null || ret=1
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsif [ $ret != 0 ]; then echo "I:failed"; fi
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsstatus=`expr $status + $ret`
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsn=`expr $n + 1`
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userecho "I:checking removal of remaining private type record via 'rndc signing -clear' (master) ($n)"
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsret=0
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 signing -clear all master > /dev/null || ret=1
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsfor i in 1 2 3 4 5 6 7 8 9 10
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Huntdo
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews ans=0
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews $RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 signing -list master > signing.out.test$n 2>&1
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews grep "No signing records found" signing.out.test$n > /dev/null || ans=1
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews [ $ans = 1 ] || break
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews sleep 1
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsdone
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User[ $ans = 0 ] || ret=1
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userif [ $ret != 0 ]; then echo "I:failed"; fi
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userstatus=`expr $status + $ret`
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Huntn=`expr $n + 1`
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Huntecho "I:check adding of record to unsigned master ($n)"
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsret=0
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewscp ns3/master2.db.in ns3/master.db
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 reload master || ret=1
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsfor i in 1 2 3 4 5 6 7 8 9
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsdo
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User ans=0
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User $DIG $DIGOPTS @10.53.0.3 -p 5300 e.master A > dig.out.ns3.test$n
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews grep "10.0.0.5" dig.out.ns3.test$n > /dev/null || ans=1
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews grep "ANSWER: 2," dig.out.ns3.test$n > /dev/null || ans=1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User [ $ans = 1 ] || break
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews sleep 1
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsdone
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews[ $ans = 0 ] || ret=1
d71e2e0c61df16ff37c9934c371a4a60c08974f7Mark Andrewsif [ $ret != 0 ]; then echo "I:failed"; fi
d71e2e0c61df16ff37c9934c371a4a60c08974f7Mark Andrewsstatus=`expr $status + $ret`
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsn=`expr $n + 1`
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsecho "I:check adding record fails when SOA serial not changed ($n)"
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsret=0
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsecho "c A 10.0.0.3" >> ns3/master.db
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 reload || ret=1
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewssleep 1
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews$DIG $DIGOPTS @10.53.0.3 -p 5300 c.master A > dig.out.ns3.test$n
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsgrep "NXDOMAIN" dig.out.ns3.test$n > /dev/null || ret=1
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsif [ $ret != 0 ]; then echo "I:failed"; fi
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsstatus=`expr $status + $ret`
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Usern=`expr $n + 1`
97e74139b19368e385a3564746d42db70879195eAutomatic Updaterecho "I:check adding record works after updating SOA serial ($n)"
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userret=0
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Usercp ns3/master3.db.in ns3/master.db
43b94483957d3168796a816ed86cf097518817dcTinderbox User$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 reload master || ret=1
dba3c818ae00b10388d31703e86a28415db398acTinderbox Userfor i in 1 2 3 4 5 6 7 8 9
dba3c818ae00b10388d31703e86a28415db398acTinderbox Userdo
dba3c818ae00b10388d31703e86a28415db398acTinderbox User ans=0
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User $DIG $DIGOPTS @10.53.0.3 -p 5300 c.master A > dig.out.ns3.test$n
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User grep "10.0.0.3" dig.out.ns3.test$n > /dev/null || ans=1
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews grep "ANSWER: 2," dig.out.ns3.test$n > /dev/null || ans=1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User [ $ans = 1 ] || break
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User sleep 1
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsdone
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews[ $ans = 0 ] || ret=1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userif [ $ret != 0 ]; then echo "I:failed"; fi
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userstatus=`expr $status + $ret`
52ece689e0265f9a3e518de5b2539e749f6d35acMark Andrews
52ece689e0265f9a3e518de5b2539e749f6d35acMark Andrewsn=`expr $n + 1`
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userecho "I:check the added record was properly signed ($n)"
52ece689e0265f9a3e518de5b2539e749f6d35acMark Andrewsret=0
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt$DIG $DIGOPTS @10.53.0.3 -p 5300 e.master A > dig.out.ns6.test$n
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Huntgrep "10.0.0.5" dig.out.ns6.test$n > /dev/null || ans=1
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Huntgrep "ANSWER: 2," dig.out.ns6.test$n > /dev/null || ans=1
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Huntgrep "flags:.* ad[ ;]" dig.out.ns6.test$n > /dev/null || ans=1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userif [ $ret != 0 ]; then echo "I:failed"; fi
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Huntstatus=`expr $status + $ret`
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Usern=`expr $n + 1`
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userecho "I:checking that the dynamic master zone signed on initial load ($n)"
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Huntret=0
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userfor i in 1 2 3 4 5 6 7 8 9 10
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userdo
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User ret=0
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User $RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 signing -list dynamic > signing.out.test$n 2>&1
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt keys=`grep '^Done signing' signing.out.test$n | wc -l`
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User [ $keys = 2 ] || ret=1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User if [ $ret = 0 ]; then break; fi
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User sleep 1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userdone
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Huntif [ $ret != 0 ]; then echo "I:failed"; fi
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Usern=`expr $n + 1`
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userecho "I:checking master zone that was updated while offline is correct ($n)"
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userret=0
52ece689e0265f9a3e518de5b2539e749f6d35acMark Andrewsserial=`$DIG $DIGOPTS +short @10.53.0.3 -p 5300 updated SOA | awk '{print $3}'`
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User# serial should have changed
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User[ "$serial" = "2000042407" ] && ret=1
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews# e.updated should exist and should be signed
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User$DIG $DIGOPTS @10.53.0.3 -p 5300 e.updated A > dig.out.ns3.test$n
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Usergrep "status: NOERROR" dig.out.ns3.test$n > /dev/null || ret=1
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsgrep "ANSWER: 2," dig.out.ns3.test$n > /dev/null || ret=1
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews# updated.db.signed.jnl should exist, should have the source serial
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User# of master2.db, and should show a minimal diff: no more than 8 added
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User# records (SOA/RRSIG, 2 x NSEC/RRSIG, A/RRSIG), and 4 removed records
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews# (SOA/RRSIG, NSEC/RRSIG).
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userserial=`$JOURNALPRINT ns3/updated.db.signed.jnl | head -1 | awk '{print $4}'`
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User[ "$serial" = "2000042408" ] || ret=1
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsdiffsize=`$JOURNALPRINT ns3/updated.db.signed.jnl | wc -l`
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt[ "$diffsize" -le 13 ] || ret=1
dba3c818ae00b10388d31703e86a28415db398acTinderbox Userif [ $ret != 0 ]; then echo "I:failed"; fi
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Huntstatus=`expr $status + $ret`
dba3c818ae00b10388d31703e86a28415db398acTinderbox User
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Huntn=`expr $n + 1`
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Huntecho "I:checking adding of record to unsigned master using UPDATE ($n)"
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Huntret=0
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt
dba3c818ae00b10388d31703e86a28415db398acTinderbox User[ -f ns3/dynamic.db.jnl ] && { ret=1 ; echo "I:journal exists (pretest)" ; }
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt
dba3c818ae00b10388d31703e86a28415db398acTinderbox User$NSUPDATE << EOF
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userzone dynamic
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userserver 10.53.0.3 5300
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsupdate add e.dynamic 0 A 1.2.3.4
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Usersend
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox UserEOF
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews[ -f ns3/dynamic.db.jnl ] || { ret=1 ; echo "I:journal does not exist (posttest)" ; }
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsfor i in 1 2 3 4 5 6 7 8 9 10
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userdo
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User ans=0
6283056805887de88040698685b8e1936a1f7a2dAutomatic Updater $DIG $DIGOPTS @10.53.0.3 -p 5300 e.dynamic > dig.out.ns3.test$n
6283056805887de88040698685b8e1936a1f7a2dAutomatic Updater grep "status: NOERROR" dig.out.ns3.test$n > /dev/null || ans=1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User grep "ANSWER: 2," dig.out.ns3.test$n > /dev/null || ans=1
6283056805887de88040698685b8e1936a1f7a2dAutomatic Updater grep "1.2.3.4" dig.out.ns3.test$n > /dev/null || ans=1
6283056805887de88040698685b8e1936a1f7a2dAutomatic Updater [ $ans = 0 ] && break
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User sleep 1
6283056805887de88040698685b8e1936a1f7a2dAutomatic Updaterdone
1c51f79aba598e5e20bde66aea0237e347f6d5ceAutomatic Updater[ $ans = 0 ] || { ret=1; echo "I:signed record not found"; cat dig.out.ns3.test$n ; }
1c51f79aba598e5e20bde66aea0237e347f6d5ceAutomatic Updater
6283056805887de88040698685b8e1936a1f7a2dAutomatic Updaterif [ $ret != 0 ]; then echo "I:failed"; fi
1c51f79aba598e5e20bde66aea0237e347f6d5ceAutomatic Updaterstatus=`expr $status + $ret`
6283056805887de88040698685b8e1936a1f7a2dAutomatic Updater
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Usern=`expr $n + 1`
3f9791eac42b243d9f328d604e117f91a3f67a37Tinderbox Userecho "I:stop bump in the wire signer server ($n)"
7717ec7a6a898cdd3c35cbfba66010b7304ffd9bAutomatic Updaterret=0
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User$PERL ../stop.pl . ns3 || ret=1
3f9791eac42b243d9f328d604e117f91a3f67a37Tinderbox Userif [ $ret != 0 ]; then echo "I:failed"; fi
7717ec7a6a898cdd3c35cbfba66010b7304ffd9bAutomatic Updaterstatus=`expr $status + $ret`
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
7717ec7a6a898cdd3c35cbfba66010b7304ffd9bAutomatic Updatern=`expr $n + 1`
7717ec7a6a898cdd3c35cbfba66010b7304ffd9bAutomatic Updaterecho "I:restart bump in the wire signer server ($n)"
9d557856c2a19ec95ee73245f60a92f8675cf5baTinderbox Userret=0
7717ec7a6a898cdd3c35cbfba66010b7304ffd9bAutomatic Updater$PERL ../start.pl --noclean --restart . ns3 || ret=1
7717ec7a6a898cdd3c35cbfba66010b7304ffd9bAutomatic Updaterif [ $ret != 0 ]; then echo "I:failed"; fi
3f9791eac42b243d9f328d604e117f91a3f67a37Tinderbox Userstatus=`expr $status + $ret`
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt
3f9791eac42b243d9f328d604e117f91a3f67a37Tinderbox User$NSUPDATE << EOF
3f9791eac42b243d9f328d604e117f91a3f67a37Tinderbox Userzone bits
3f9791eac42b243d9f328d604e117f91a3f67a37Tinderbox Userserver 10.53.0.2 5300
3f9791eac42b243d9f328d604e117f91a3f67a37Tinderbox Userupdate add bits 0 SOA ns2.bits. . 2011072450 20 20 1814400 3600
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Usersend
3f9791eac42b243d9f328d604e117f91a3f67a37Tinderbox UserEOF
3f9791eac42b243d9f328d604e117f91a3f67a37Tinderbox User
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Usern=`expr $n + 1`
3f9791eac42b243d9f328d604e117f91a3f67a37Tinderbox Userecho "I:checking YYYYMMDDVV (2011072450) serial on hidden master ($n)"
3f9791eac42b243d9f328d604e117f91a3f67a37Tinderbox Userret=0
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User$DIG $DIGOPTS @10.53.0.2 -p 5300 bits SOA > dig.out.ns2.test$n
3f9791eac42b243d9f328d604e117f91a3f67a37Tinderbox Usergrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Huntgrep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
3f9791eac42b243d9f328d604e117f91a3f67a37Tinderbox Usergrep "2011072450" dig.out.ns2.test$n > /dev/null || ret=1
3f9791eac42b243d9f328d604e117f91a3f67a37Tinderbox Userif [ $ret != 0 ]; then echo "I:failed"; fi
3f9791eac42b243d9f328d604e117f91a3f67a37Tinderbox Userstatus=`expr $status + $ret`
7717ec7a6a898cdd3c35cbfba66010b7304ffd9bAutomatic Updater
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Usern=`expr $n + 1`
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsecho "I:checking YYYYMMDDVV (2011072450) serial in signed zone ($n)"
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userfor i in 1 2 3 4 5 6 7 8 9 10
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userdo
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews ret=0
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews $DIG $DIGOPTS @10.53.0.3 -p 5300 bits SOA > dig.out.ns3.test$n
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews grep "status: NOERROR" dig.out.ns3.test$n > /dev/null || ret=1
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews grep "ANSWER: 2," dig.out.ns3.test$n > /dev/null || ret=1
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews grep "2011072450" dig.out.ns3.test$n > /dev/null || ret=1
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews if [ $ret = 0 ]; then break; fi
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews sleep 1
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsdone
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsif [ $ret != 0 ]; then echo "I:failed"; fi
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userstatus=`expr $status + $ret`
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater$NSUPDATE << EOF
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updaterzone noixfr
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userserver 10.53.0.4 5300
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Huntupdate add noixfr 0 SOA ns4.noixfr. . 2011072450 20 20 1814400 3600
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updatersend
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic UpdaterEOF
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Usern=`expr $n + 1`
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updaterecho "I:checking YYYYMMDDVV (2011072450) serial on hidden master, noixfr ($n)"
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updaterret=0
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater$DIG $DIGOPTS @10.53.0.4 -p 5300 noixfr SOA > dig.out.ns4.test$n
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updatergrep "status: NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updatergrep "ANSWER: 1," dig.out.ns4.test$n > /dev/null || ret=1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Usergrep "2011072450" dig.out.ns4.test$n > /dev/null || ret=1
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updaterif [ $ret != 0 ]; then echo "I:failed"; fi
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userstatus=`expr $status + $ret`
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updatern=`expr $n + 1`
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updaterecho "I:checking YYYYMMDDVV (2011072450) serial in signed zone, noixfr ($n)"
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userfor i in 1 2 3 4 5 6 7 8 9 10
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userdo
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater ret=0
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User $DIG $DIGOPTS @10.53.0.3 -p 5300 noixfr SOA > dig.out.ns3.test$n
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User grep "status: NOERROR" dig.out.ns3.test$n > /dev/null || ret=1
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater grep "ANSWER: 2," dig.out.ns3.test$n > /dev/null || ret=1
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater grep "2011072450" dig.out.ns3.test$n > /dev/null || ret=1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User if [ $ret = 0 ]; then break; fi
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User sleep 1
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updaterdone
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userif [ $ret != 0 ]; then echo "I:failed"; fi
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userstatus=`expr $status + $ret`
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater$NSUPDATE << EOF
9d557856c2a19ec95ee73245f60a92f8675cf5baTinderbox Userzone bits
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userserver 10.53.0.3 5300
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userupdate add bits 0 SOA ns2.bits. . 2011072460 20 20 1814400 3600
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updatersend
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox UserEOF
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updatern=`expr $n + 1`
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updaterecho "I:checking forwarded update on hidden master ($n)"
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updaterret=0
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User$DIG $DIGOPTS @10.53.0.2 -p 5300 bits SOA > dig.out.ns2.test$n
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Usergrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updatergrep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Usergrep "2011072460" dig.out.ns2.test$n > /dev/null || ret=1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userif [ $ret != 0 ]; then echo "I:failed"; fi
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updaterstatus=`expr $status + $ret`
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updatern=`expr $n + 1`
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userecho "I:checking forwarded update on signed zone ($n)"
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userfor i in 1 2 3 4 5 6 7 8 9 10
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updaterdo
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User ret=0
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater $DIG $DIGOPTS @10.53.0.3 -p 5300 bits SOA > dig.out.ns3.test$n
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User grep "status: NOERROR" dig.out.ns3.test$n > /dev/null || ret=1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User grep "ANSWER: 2," dig.out.ns3.test$n > /dev/null || ret=1
a3f8c8e20780e488141d200acdfea6c5f3303513Automatic Updater grep "2011072460" dig.out.ns3.test$n > /dev/null || ret=1
a3f8c8e20780e488141d200acdfea6c5f3303513Automatic Updater if [ $ret = 0 ]; then break; fi
a3f8c8e20780e488141d200acdfea6c5f3303513Automatic Updater sleep 1
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updaterdone
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updaterif [ $ret != 0 ]; then echo "I:failed"; fi
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updaterstatus=`expr $status + $ret`
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater$NSUPDATE << EOF
a3f8c8e20780e488141d200acdfea6c5f3303513Automatic Updaterzone noixfr
a3f8c8e20780e488141d200acdfea6c5f3303513Automatic Updaterserver 10.53.0.3 5300
a3f8c8e20780e488141d200acdfea6c5f3303513Automatic Updaterupdate add noixfr 0 SOA ns4.noixfr. . 2011072460 20 20 1814400 3600
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Usersend
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox UserEOF
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Usern=`expr $n + 1`
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userecho "I:checking forwarded update on hidden master, noixfr ($n)"
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsret=0
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User$DIG $DIGOPTS @10.53.0.4 -p 5300 noixfr SOA > dig.out.ns4.test$n
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Usergrep "status: NOERROR" dig.out.ns4.test$n > /dev/null || ret=1
f3d1a0ba5228251d902a6acf3c8b05cb6842f992Automatic Updatergrep "ANSWER: 1," dig.out.ns4.test$n > /dev/null || ret=1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Usergrep "2011072460" dig.out.ns4.test$n > /dev/null || ret=1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userif [ $ret != 0 ]; then echo "I:failed"; fi
f3d1a0ba5228251d902a6acf3c8b05cb6842f992Automatic Updaterstatus=`expr $status + $ret`
f3d1a0ba5228251d902a6acf3c8b05cb6842f992Automatic Updater
f3d1a0ba5228251d902a6acf3c8b05cb6842f992Automatic Updatern=`expr $n + 1`
f3d1a0ba5228251d902a6acf3c8b05cb6842f992Automatic Updaterecho "I:checking forwarded update on signed zone, noixfr ($n)"
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Huntfor i in 1 2 3 4 5 6 7 8 9 10
f3d1a0ba5228251d902a6acf3c8b05cb6842f992Automatic Updaterdo
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User ret=0
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User $DIG $DIGOPTS @10.53.0.3 -p 5300 noixfr SOA > dig.out.ns3.test$n
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews grep "status: NOERROR" dig.out.ns3.test$n > /dev/null || ret=1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User grep "ANSWER: 2," dig.out.ns3.test$n > /dev/null || ret=1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User grep "2011072460" dig.out.ns3.test$n > /dev/null || ret=1
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews if [ $ret = 0 ]; then break; fi
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User sleep 1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userdone
8de0d8a6905e397ed0a26054815420685f9b435eAutomatic Updaterif [ $ret != 0 ]; then echo "I:failed"; fi
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userstatus=`expr $status + $ret`
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
8de0d8a6905e397ed0a26054815420685f9b435eAutomatic Updatern=`expr $n + 1`
3b2c6af63e0367c6eabe0a21ca23841ca87cd22fAutomatic Updaterecho "I:checking turning on of inline signing in a slave zone via reload ($n)"
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt$DIG $DIGOPTS @10.53.0.5 -p 5300 +dnssec bits SOA > dig.out.ns5.test$n
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Huntgrep "status: NOERROR" dig.out.ns5.test$n > /dev/null || ret=1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Usergrep "ANSWER: 1," dig.out.ns5.test$n > /dev/null || ret=1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userif [ $ret != 0 ]; then echo "I:setup broken"; fi
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsstatus=`expr $status + $ret`
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Usercp ns5/named.conf.post ns5/named.conf
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User(cd ns5; $KEYGEN -q -r ../$RANDFILE bits) > /dev/null 2>&1
8de0d8a6905e397ed0a26054815420685f9b435eAutomatic Updater(cd ns5; $KEYGEN -q -r ../$RANDFILE -f KSK bits) > /dev/null 2>&1
8de0d8a6905e397ed0a26054815420685f9b435eAutomatic Updater$RNDC -c ../common/rndc.conf -s 10.53.0.5 -p 9953 reload 2>&1 | sed 's/^/I:ns5 /'
3b2c6af63e0367c6eabe0a21ca23841ca87cd22fAutomatic Updaterfor i in 1 2 3 4 5 6 7 8 9 10
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Huntdo
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt ret=0
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User $DIG $DIGOPTS @10.53.0.5 -p 5300 bits SOA > dig.out.ns5.test$n
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User grep "status: NOERROR" dig.out.ns5.test$n > /dev/null || ret=1
731cc132f22dbc9e0ecd7035dce314a61076d31bAutomatic Updater grep "ANSWER: 2," dig.out.ns5.test$n > /dev/null || ret=1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User if [ $ret = 0 ]; then break; fi
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User sleep 1
66fec05962ae85e63c4aa568d44a962db5bbc902Automatic Updaterdone
731cc132f22dbc9e0ecd7035dce314a61076d31bAutomatic Updaterif [ $ret != 0 ]; then echo "I:failed"; fi
731cc132f22dbc9e0ecd7035dce314a61076d31bAutomatic Updaterstatus=`expr $status + $ret`
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Usern=`expr $n + 1`
731cc132f22dbc9e0ecd7035dce314a61076d31bAutomatic Updaterecho "I:checking rndc freeze/thaw of dynamic inline zone no change ($n)"
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userret=0
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 freeze dynamic > freeze.test$n 2>&1 || { echo "I: rndc freeze dynamic failed" ; sed 's/^/I:/' < freeze.test$n ; ret=1; }
77b7c54f1aa220a2f806b5883161c3027f62b1dbTinderbox Usersleep 1
66fec05962ae85e63c4aa568d44a962db5bbc902Automatic Updater$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 thaw dynamic > thaw.test$n 2>&1 || { echo "I: rndc thaw dynamic failed" ; ret=1; }
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Usersleep 1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Usergrep "zone dynamic/IN (unsigned): ixfr-from-differences: unchanged" ns3/named.run > /dev/null || ret=1
731cc132f22dbc9e0ecd7035dce314a61076d31bAutomatic Updaterif [ $ret != 0 ]; then echo "I:failed"; fi
f3d1a0ba5228251d902a6acf3c8b05cb6842f992Automatic Updaterstatus=`expr $status + $ret`
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
66fec05962ae85e63c4aa568d44a962db5bbc902Automatic Updater
731cc132f22dbc9e0ecd7035dce314a61076d31bAutomatic Updatern=`expr $n + 1`
731cc132f22dbc9e0ecd7035dce314a61076d31bAutomatic Updaterecho "I:checking rndc freeze/thaw of dynamic inline zone ($n)"
f3d1a0ba5228251d902a6acf3c8b05cb6842f992Automatic Updaterret=0
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 freeze dynamic > freeze.test$n 2>&1 || ret=1
f3d1a0ba5228251d902a6acf3c8b05cb6842f992Automatic Updatersleep 1
f3d1a0ba5228251d902a6acf3c8b05cb6842f992Automatic Updaterawk '$2 == ";" && $3 == "serial" { print $1 + 1, $2, $3; next; }
f3d1a0ba5228251d902a6acf3c8b05cb6842f992Automatic Updater { print; }
f3d1a0ba5228251d902a6acf3c8b05cb6842f992Automatic Updater END { print "freeze1.dynamic. 0 TXT freeze1"; } ' ns3/dynamic.db > ns3/dynamic.db.new
f3d1a0ba5228251d902a6acf3c8b05cb6842f992Automatic Updatermv ns3/dynamic.db.new ns3/dynamic.db
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 thaw dynamic > thaw.test$n 2>&1 || ret=1
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsif [ $ret != 0 ]; then echo "I:failed"; fi
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userstatus=`expr $status + $ret`
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsn=`expr $n + 1`
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userecho "I:check added record freeze1.dynamic ($n)"
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userfor i in 1 2 3 4 5 6 7 8 9
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsdo
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User ret=0
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User $DIG $DIGOPTS @10.53.0.3 -p 5300 freeze1.dynamic TXT > dig.out.ns3.test$n
d71e2e0c61df16ff37c9934c371a4a60c08974f7Mark Andrews grep "status: NOERROR" dig.out.ns3.test$n > /dev/null || ret=1
d71e2e0c61df16ff37c9934c371a4a60c08974f7Mark Andrews grep "ANSWER: 2," dig.out.ns3.test$n > /dev/null || ret=1
d71e2e0c61df16ff37c9934c371a4a60c08974f7Mark Andrews test $ret = 0 && break
d71e2e0c61df16ff37c9934c371a4a60c08974f7Mark Andrews sleep 1
d71e2e0c61df16ff37c9934c371a4a60c08974f7Mark Andrewsdone
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userif [ $ret != 0 ]; then echo "I:failed"; fi
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userstatus=`expr $status + $ret`
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User# allow 1 second so that file time stamps change
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Usersleep 1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
7e71f05d8643aca84914437c900cb716444507e4Tinderbox Usern=`expr $n + 1`
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userecho "I:checking rndc freeze/thaw of server ($n)"
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userret=0
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 freeze > freeze.test$n 2>&1 || ret=1
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Huntsleep 1
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Huntawk '$2 == ";" && $3 == "serial" { print $1 + 1, $2, $3; next; }
3b2c6af63e0367c6eabe0a21ca23841ca87cd22fAutomatic Updater { print; }
3b2c6af63e0367c6eabe0a21ca23841ca87cd22fAutomatic Updater END { print "freeze2.dynamic. 0 TXT freeze2"; } ' ns3/dynamic.db > ns3/dynamic.db.new
3b2c6af63e0367c6eabe0a21ca23841ca87cd22fAutomatic Updatermv ns3/dynamic.db.new ns3/dynamic.db
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 thaw > thaw.test$n 2>&1 || ret=1
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsif [ $ret != 0 ]; then echo "I:failed"; fi
d71e2e0c61df16ff37c9934c371a4a60c08974f7Mark Andrewsstatus=`expr $status + $ret`
d71e2e0c61df16ff37c9934c371a4a60c08974f7Mark Andrews
d71e2e0c61df16ff37c9934c371a4a60c08974f7Mark Andrewsn=`expr $n + 1`
d71e2e0c61df16ff37c9934c371a4a60c08974f7Mark Andrewsecho "I:check added record freeze2.dynamic ($n)"
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userfor i in 1 2 3 4 5 6 7 8 9
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Huntdo
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews ret=0
d71e2e0c61df16ff37c9934c371a4a60c08974f7Mark Andrews $DIG $DIGOPTS @10.53.0.3 -p 5300 freeze2.dynamic TXT > dig.out.ns3.test$n
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews grep "status: NOERROR" dig.out.ns3.test$n > /dev/null || ret=1
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews grep "ANSWER: 2," dig.out.ns3.test$n > /dev/null || ret=1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User test $ret = 0 && break
d71e2e0c61df16ff37c9934c371a4a60c08974f7Mark Andrews sleep 1
d71e2e0c61df16ff37c9934c371a4a60c08974f7Mark Andrewsdone
d71e2e0c61df16ff37c9934c371a4a60c08974f7Mark Andrewsif [ $ret != 0 ]; then echo "I:failed"; fi
d71e2e0c61df16ff37c9934c371a4a60c08974f7Mark Andrewsstatus=`expr $status + $ret`
d71e2e0c61df16ff37c9934c371a4a60c08974f7Mark Andrews
d71e2e0c61df16ff37c9934c371a4a60c08974f7Mark Andrewsn=`expr $n + 1`
d71e2e0c61df16ff37c9934c371a4a60c08974f7Mark Andrewsecho "I:check rndc reload allows reuse of inline-signing zones ($n)"
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userret=0
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User{ $RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 reload 2>&1 || ret=1 ; } |
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Usersed 's/^/I:ns3 /'
7e71f05d8643aca84914437c900cb716444507e4Tinderbox Usergrep "not reusable" ns3/named.run > /dev/null 2>&1 && ret=1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userif [ $ret != 0 ]; then echo "I:failed"; fi
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Userstatus=`expr $status + $ret`
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox Usern=`expr $n + 1`
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsecho "I:check rndc sync removes both signed and unsigned journals ($n)"
3f9791eac42b243d9f328d604e117f91a3f67a37Tinderbox Userret=0
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews[ -f ns3/dynamic.db.jnl ] || ret=1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User[ -f ns3/dynamic.db.signed.jnl ] || ret=1
7911e6f9de303bca5a3d8b34f4330c8f7cecffaeTinderbox User$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 sync -clean dynamic 2>&1 || ret=1
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews[ -f ns3/dynamic.db.jnl ] && ret=1
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews[ -f ns3/dynamic.db.signed.jnl ] && ret=1
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsif [ $ret != 0 ]; then echo "I:failed"; fi
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsstatus=`expr $status + $ret`
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews$NSUPDATE << EOF
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updaterzone retransfer
cd32f419a8a5432fbb139f56ee73cbf68b9350ccTinderbox Userserver 10.53.0.2 5300
c3dc968140ab7f04795acc7835e4e89ccb0c0a27Tinderbox Userupdate add added.retransfer 0 A 1.2.3.4
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewssend
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark AndrewsEOF
4abdfc917e6635a7c81d1f931a0c79227e72d025Mark Andrews
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updatern=`expr $n + 1`
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsecho "I:checking that the retransfer record is added on the hidden master ($n)"
c3dc968140ab7f04795acc7835e4e89ccb0c0a27Tinderbox Userret=0
4abdfc917e6635a7c81d1f931a0c79227e72d025Mark Andrews$DIG $DIGOPTS @10.53.0.2 -p 5300 added.retransfer A > dig.out.ns2.test$n
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsgrep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsif [ $ret != 0 ]; then echo "I:failed"; fi
c313914d0e66b20969215e519bbf2ab4ecf39512Tinderbox Userstatus=`expr $status + $ret`
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsn=`expr $n + 1`
echo "I:checking that the change has not been transfered due to notify ($n)"
ret=0
for i in 0 1 2 3 4 5 6 7 8 9
do
ans=0
$DIG $DIGOPTS @10.53.0.3 -p 5300 added.retransfer A > dig.out.ns3.test$n
grep "status: NOERROR" dig.out.ns3.test$n > /dev/null || ans=1
[ $ans = 0 ] && break
sleep 1
done
if [ $ans != 1 ]; then echo "I:failed"; ret=1; fi
status=`expr $status + $ret`
n=`expr $n + 1`
echo "I:check rndc retransfer of a inline slave zone works ($n)"
ret=0
$RNDC -c ../common/rndc.conf -s 10.53.0.3 -p 9953 retransfer retransfer 2>&1 || ret=1
for i in 0 1 2 3 4 5 6 7 8 9
do
ans=0
$DIG $DIGOPTS @10.53.0.3 -p 5300 added.retransfer A > dig.out.ns3.test$n
grep "status: NOERROR" dig.out.ns3.test$n > /dev/null || ans=1
grep "ANSWER: 2," dig.out.ns3.test$n > /dev/null || ans=1
[ $ans = 0 ] && break
sleep 1
done
[ $ans = 1 ] && ret=1
n=`expr $n + 1`
if [ $ret != 0 ]; then echo "I:failed"; fi
status=`expr $status + $ret`
n=`expr $n + 1`
echo "I:stop bump in the wire signer server ($n)"
ret=0
$PERL ../stop.pl . ns3 || ret=1
if [ $ret != 0 ]; then echo "I:failed"; fi
status=`expr $status + $ret`
echo "I:update SOA record while stopped"
cp ns3/master4.db.in ns3/master.db
rm ns3/master.db.jnl
n=`expr $n + 1`
echo "I:restart bump in the wire signer server ($n)"
ret=0
$PERL ../start.pl --noclean --restart . ns3 || ret=1
if [ $ret != 0 ]; then echo "I:failed"; fi
status=`expr $status + $ret`
echo "I:updates to SOA parameters other than serial while stopped are reflected in signed zone ($n)"
ret=0
for i in 1 2 3 4 5 6 7 8 9
do
ans=0
$DIG $DIGOPTS @10.53.0.3 -p 5300 master SOA > dig.out.ns3.test$n
grep "hostmaster" dig.out.ns3.test$n > /dev/null || ans=1
grep "ANSWER: 2," dig.out.ns3.test$n > /dev/null || ans=1
[ $ans = 1 ] || break
sleep 1
done
[ $ans = 0 ] || ret=1
if [ $ret != 0 ]; then echo "I:failed"; fi
status=`expr $status + $ret`
exit $status