mirror of
https://github.com/NLnetLabs/unbound.git
synced 2025-12-20 23:00:56 -05:00
127 lines
2.9 KiB
Text
127 lines
2.9 KiB
Text
# #-- tcp_req_size.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
|
|
get_make
|
|
(cd $PRE; $MAKE streamtcp)
|
|
|
|
# this test query should just work (server is up)
|
|
echo "> query www1.example.net."
|
|
$PRE/streamtcp -f 127.0.0.1@$UNBOUND_PORT www1.example.net. A IN >outfile 2>&1
|
|
cat outfile
|
|
if test "$?" -ne 0; then
|
|
echo "exit status not OK"
|
|
echo "> cat logfiles"
|
|
cat outfile
|
|
cat fwd.log
|
|
cat unbound.log
|
|
echo "Not OK"
|
|
exit 1
|
|
fi
|
|
if grep "www1.example.net" outfile | grep "1.2.3.1"; then
|
|
echo "content OK"
|
|
else
|
|
echo "result contents not OK"
|
|
echo "> cat logfiles"
|
|
cat outfile
|
|
cat fwd.log
|
|
cat unbound.log
|
|
echo "result contents not OK"
|
|
exit 1
|
|
fi
|
|
echo "OK"
|
|
|
|
# out of order requests, the example.com elements take 2 seconds to wait.
|
|
# www3.example.com present twice, answered twice.
|
|
# this queues one answer in the wait buffers, and that exceeds the buffer.
|
|
echo ""
|
|
echo "> query www1.example.net. www3.example.com. www2.example.net. www3.example.com. www3.example.net."
|
|
$PRE/streamtcp -a -f 127.0.0.1@$UNBOUND_PORT www1.example.net. A IN www3.example.com. A IN www2.example.net A IN www3.example.com. A IN www3.example.net A IN >outfile 2>&1
|
|
cat outfile
|
|
if test "$?" -ne 0; then
|
|
echo "exit status not OK"
|
|
echo "> cat logfiles"
|
|
cat outfile
|
|
cat fwd.log
|
|
cat unbound.log
|
|
echo "Not OK"
|
|
exit 1
|
|
fi
|
|
if grep "www1.example.net" outfile | grep "1.2.3.1"; then
|
|
echo "content OK"
|
|
else
|
|
echo "result contents not OK"
|
|
echo "> cat logfiles"
|
|
cat outfile
|
|
cat fwd.log
|
|
cat unbound.log
|
|
echo "result contents not OK"
|
|
exit 1
|
|
fi
|
|
if grep "www2.example.net" outfile | grep "1.2.3.2"; then
|
|
echo "content OK"
|
|
else
|
|
echo "result contents not OK"
|
|
echo "> cat logfiles"
|
|
cat outfile
|
|
cat fwd.log
|
|
cat unbound.log
|
|
echo "result contents not OK"
|
|
exit 1
|
|
fi
|
|
if grep "www3.example.net" outfile | grep "1.2.3.3"; then
|
|
echo "content OK"
|
|
else
|
|
echo "result contents not OK"
|
|
echo "> cat logfiles"
|
|
cat outfile
|
|
cat fwd.log
|
|
cat unbound.log
|
|
echo "result contents not OK"
|
|
exit 1
|
|
fi
|
|
if grep "stream closed" outfile; then
|
|
echo "content OK"
|
|
else
|
|
echo "result contents not OK"
|
|
echo "> cat logfiles"
|
|
cat outfile
|
|
cat fwd.log
|
|
cat unbound.log
|
|
echo "result contents not OK"
|
|
exit 1
|
|
fi
|
|
echo "OK"
|
|
|
|
# check that the server is still up
|
|
echo ""
|
|
echo "> query www1.example.net. (again check if server up)"
|
|
$PRE/streamtcp -f 127.0.0.1@$UNBOUND_PORT www1.example.net. A IN >outfile 2>&1
|
|
cat outfile
|
|
if test "$?" -ne 0; then
|
|
echo "exit status not OK"
|
|
echo "> cat logfiles"
|
|
cat outfile
|
|
cat fwd.log
|
|
cat unbound.log
|
|
echo "Not OK"
|
|
exit 1
|
|
fi
|
|
if grep "www1.example.net" outfile | grep "1.2.3.1"; then
|
|
echo "content OK"
|
|
else
|
|
echo "result contents not OK"
|
|
echo "> cat logfiles"
|
|
cat outfile
|
|
cat fwd.log
|
|
cat unbound.log
|
|
echo "result contents not OK"
|
|
exit 1
|
|
fi
|
|
|
|
echo "OK"
|
|
exit 0
|