mirror of
https://github.com/NLnetLabs/unbound.git
synced 2024-09-21 22:57:08 +00:00
56 lines
1.5 KiB
Plaintext
56 lines
1.5 KiB
Plaintext
# #-- root_hints.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="../.."
|
|
|
|
eval `grep ^srcdir= $PRE/Makefile`
|
|
echo "srcdir="$srcdir
|
|
|
|
# obtain list from compiled in settings:
|
|
grep "ROOT-SERVERS.NET." $PRE/$srcdir/iterator/iter_hints.c > curlist
|
|
echo "Current list:"
|
|
cat curlist
|
|
|
|
result="0"
|
|
|
|
# dig all servers and check if same
|
|
for rs in A.ROOT-SERVERS.NET. B.ROOT-SERVERS.NET. C.ROOT-SERVERS.NET. D.ROOT-SERVERS.NET. E.ROOT-SERVERS.NET. F.ROOT-SERVERS.NET. G.ROOT-SERVERS.NET. H.ROOT-SERVERS.NET. I.ROOT-SERVERS.NET. J.ROOT-SERVERS.NET. K.ROOT-SERVERS.NET. L.ROOT-SERVERS.NET. M.ROOT-SERVERS.NET.; do
|
|
|
|
addr4=`dig +short $rs A`
|
|
addr6=`dig +short $rs AAAA`
|
|
|
|
# all IP4 must be present as listed.
|
|
if test -z "$addr4" ; then
|
|
echo "$rs A is removed! It has changed!"
|
|
result="1"
|
|
fi
|
|
if grep $rs curlist | grep "$addr4" >/dev/null; then
|
|
echo "$rs is OK: A $addr4"
|
|
else
|
|
echo "$rs A now $addr4, it has changed!"
|
|
result="1"
|
|
fi
|
|
# if IP6 is "" then it must be "" as well in the compiled hints
|
|
if test -z "$addr6" ; then
|
|
if grep $rs curlist | grep ":" >/dev/null; then
|
|
echo "$rs AAAA now removed, it has changed!"
|
|
result="1"
|
|
else
|
|
echo $rs' is OK: AAAA ""'
|
|
fi
|
|
else
|
|
# root server has an IP6.
|
|
if grep $rs curlist | grep "$addr6" >/dev/null; then
|
|
echo "$rs is OK: AAAA $addr6"
|
|
else
|
|
echo "$rs AAAA now $addr6, it has changed!"
|
|
result="1"
|
|
fi
|
|
fi
|
|
done
|
|
|
|
exit $result
|