mirror of
https://github.com/NLnetLabs/unbound.git
synced 2024-09-21 06:37:08 +00:00
6c76b4e2f8
kill_from_pidfile.
133 lines
3.3 KiB
Plaintext
133 lines
3.3 KiB
Plaintext
# #-- cachedb_no_store.test --#
|
|
# source the master var file when it's there
|
|
[ -f ../.tpkg.var.master ] && source ../.tpkg.var.master
|
|
# use .tpkg.var.test for in test variable passing
|
|
[ -f .tpkg.var.test ] && source .tpkg.var.test
|
|
|
|
PRE="../.."
|
|
. ../common.sh
|
|
|
|
# do the test
|
|
get_ldns_testns
|
|
|
|
# query for a text record that is stored by unbound's cache and cachedb
|
|
# in the testframe cache.
|
|
echo "> dig txt1.example.com."
|
|
dig @127.0.0.1 -p $UNBOUND_PORT txt1.example.com. TXT | tee outfile
|
|
if grep "example text message" outfile; then
|
|
echo "OK"
|
|
else
|
|
echo "Not OK"
|
|
exit 1
|
|
fi
|
|
|
|
# stop the forwarder with servfail, to check the answer came from the cache
|
|
echo "> stop ldns-testns"
|
|
kill_pid $FWD_PID
|
|
echo "> start ldns-testns with servfails"
|
|
$LDNS_TESTNS -p $FWD_PORT cachedb_no_store.servfail.testns >fwd2.log 2>&1 &
|
|
FWD_PID=$!
|
|
echo "FWD_PID=$FWD_PID" >> .tpkg.var.test
|
|
wait_ldns_testns_up fwd2.log
|
|
|
|
echo "> dig txt1.example.com. from unbound cache"
|
|
dig @127.0.0.1 -p $UNBOUND_PORT txt1.example.com. TXT | tee outfile
|
|
if grep "example text message" outfile; then
|
|
echo "OK"
|
|
else
|
|
echo "Not OK"
|
|
exit 1
|
|
fi
|
|
|
|
# clear the cache of unbound, but not cachedb testframe cache
|
|
echo "> unbound-control flush"
|
|
$PRE/unbound-control -c ub.conf flush_type txt1.example.com. TXT
|
|
if test $? -ne 0; then
|
|
echo "wrong exit value."
|
|
exit 1
|
|
else
|
|
echo "exit value: OK"
|
|
fi
|
|
|
|
echo "> dig txt1.example.com. from cachedb"
|
|
dig @127.0.0.1 -p $UNBOUND_PORT txt1.example.com. TXT | tee outfile
|
|
if grep "example text message" outfile; then
|
|
echo "OK"
|
|
else
|
|
echo "Not OK"
|
|
exit 1
|
|
fi
|
|
|
|
# start the forwarder again.
|
|
echo "> stop ldns-testns"
|
|
kill_pid $FWD_PID
|
|
echo "> start ldns-testns"
|
|
$LDNS_TESTNS -p $FWD_PORT cachedb_no_store.testns >fwd3.log 2>&1 &
|
|
FWD_PID=$!
|
|
echo "FWD_PID=$FWD_PID" >> .tpkg.var.test
|
|
wait_ldns_testns_up fwd3.log
|
|
|
|
# stop unbound to flush the cachedb cache
|
|
echo "> stop unbound"
|
|
kill_from_pidfile "unbound.pid"
|
|
|
|
echo ""
|
|
echo "> config unbound with cachedb-no-store: yes"
|
|
echo "cachedb: cachedb-no-store: yes" >> ub.conf
|
|
|
|
# start unbound again.
|
|
echo "> start unbound"
|
|
$PRE/unbound -d -c ub.conf >unbound2.log 2>&1 &
|
|
UNBOUND_PID=$!
|
|
echo "UNBOUND_PID=$UNBOUND_PID" >> .tpkg.var.test
|
|
wait_unbound_up unbound2.log
|
|
|
|
echo ""
|
|
echo "> dig txt1.example.com."
|
|
dig @127.0.0.1 -p $UNBOUND_PORT txt1.example.com. TXT | tee outfile
|
|
if grep "example text message" outfile; then
|
|
echo "OK"
|
|
else
|
|
echo "Not OK"
|
|
exit 1
|
|
fi
|
|
|
|
# stop the forwarder with servfail, to check the answer came from the cache
|
|
echo "> stop ldns-testns"
|
|
kill_pid $FWD_PID
|
|
echo "> start ldns-testns with servfails"
|
|
$LDNS_TESTNS -p $FWD_PORT cachedb_no_store.servfail.testns >fwd4.log 2>&1 &
|
|
FWD_PID=$!
|
|
echo "FWD_PID=$FWD_PID" >> .tpkg.var.test
|
|
wait_ldns_testns_up fwd4.log
|
|
|
|
echo "> dig txt1.example.com. from unbound cache"
|
|
dig @127.0.0.1 -p $UNBOUND_PORT txt1.example.com. TXT | tee outfile
|
|
if grep "example text message" outfile; then
|
|
echo "OK"
|
|
else
|
|
echo "Not OK"
|
|
exit 1
|
|
fi
|
|
|
|
# clear the cache of unbound, but not cachedb testframe cache
|
|
echo "> unbound-control flush"
|
|
$PRE/unbound-control -c ub.conf flush_type txt1.example.com. TXT
|
|
if test $? -ne 0; then
|
|
echo "wrong exit value."
|
|
exit 1
|
|
else
|
|
echo "exit value: OK"
|
|
fi
|
|
|
|
echo "> dig txt1.example.com. from cachedb, but that has no message stored"
|
|
dig @127.0.0.1 -p $UNBOUND_PORT txt1.example.com. TXT | tee outfile
|
|
if grep "SERVFAIL" outfile; then
|
|
echo "OK"
|
|
else
|
|
echo "Not OK"
|
|
exit 1
|
|
fi
|
|
|
|
exit 0
|