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