1*103ba509SCy Schubert# #-- root_zonemd.pre--# 2*103ba509SCy Schubert# source the master var file when it's there 3*103ba509SCy Schubert[ -f ../.tpkg.var.master ] && source ../.tpkg.var.master 4*103ba509SCy Schubert# use .tpkg.var.test for in test variable passing 5*103ba509SCy Schubert[ -f .tpkg.var.test ] && source .tpkg.var.test 6*103ba509SCy Schubert 7*103ba509SCy Schubert. ../common.sh 8*103ba509SCy Schubert 9*103ba509SCy Schubert# attempt to download the root zone 10*103ba509SCy Schubertfrom=k.root-servers.net 11*103ba509SCy Schubertdig @$from . AXFR > root.txt 12*103ba509SCy Schubertif test $? -ne 0; then 13*103ba509SCy Schubert echo "could not fetch root zone" 14*103ba509SCy Schubert skip_test "could not fetch root zone" 15*103ba509SCy Schubertfi 16*103ba509SCy Schubertgrep " SOA " root.txt | head -1 > root.soa 17*103ba509SCy Schubertcat root.soa >> root.zone 18*103ba509SCy Schubertgrep -v " SOA " root.txt >> root.zone 19*103ba509SCy Schubertecho "fetched root.zone" 20*103ba509SCy Schubertls -l root.zone 21*103ba509SCy Schubertcat root.soa 22*103ba509SCy Schubert 23*103ba509SCy Schubertget_random_port 2 24*103ba509SCy SchubertUNBOUND_PORT=$RND_PORT 25*103ba509SCy SchubertFWD_PORT=$(($RND_PORT + 1)) 26*103ba509SCy Schubertecho "UNBOUND_PORT=$UNBOUND_PORT" >> .tpkg.var.test 27*103ba509SCy Schubertecho "FWD_PORT=$FWD_PORT" >> .tpkg.var.test 28*103ba509SCy Schubert 29*103ba509SCy Schubert# start forwarder 30*103ba509SCy Schubertget_ldns_testns 31*103ba509SCy Schubert$LDNS_TESTNS -p $FWD_PORT root_zonemd.testns >fwd.log 2>&1 & 32*103ba509SCy SchubertFWD_PID=$! 33*103ba509SCy Schubertecho "FWD_PID=$FWD_PID" >> .tpkg.var.test 34*103ba509SCy Schubert 35*103ba509SCy Schubert# make config file 36*103ba509SCy SchubertCONTROL_PATH=/tmp 37*103ba509SCy SchubertCONTROL_PID=$$ 38*103ba509SCy Schubertsed -e 's/@PORT\@/'$UNBOUND_PORT'/' -e 's/@TOPORT\@/'$FWD_PORT'/' -e 's?@CONTROL_PATH\@?'$CONTROL_PATH'?' -e 's/@CONTROL_PID@/'$CONTROL_PID'/' < root_zonemd.conf > ub.conf 39*103ba509SCy Schubert# start unbound in the background 40*103ba509SCy SchubertPRE="../.." 41*103ba509SCy Schubert$PRE/unbound -d -c ub.conf >unbound.log 2>&1 & 42*103ba509SCy SchubertUNBOUND_PID=$! 43*103ba509SCy Schubertecho "UNBOUND_PID=$UNBOUND_PID" >> .tpkg.var.test 44*103ba509SCy Schubertecho "CONTROL_PATH=$CONTROL_PATH" >> .tpkg.var.test 45*103ba509SCy Schubertecho "CONTROL_PID=$CONTROL_PID" >> .tpkg.var.test 46*103ba509SCy Schubert 47*103ba509SCy Schubertcat .tpkg.var.test 48*103ba509SCy Schubertwait_ldns_testns_up fwd.log 49*103ba509SCy Schubertwait_unbound_up unbound.log 50*103ba509SCy Schubert 51