1*00b67f09SDavid van Moolenbroek#!/bin/sh 2*00b67f09SDavid van Moolenbroek# 3*00b67f09SDavid van Moolenbroek# Copyright (C) 2013, 2014 Internet Systems Consortium, Inc. ("ISC") 4*00b67f09SDavid van Moolenbroek# 5*00b67f09SDavid van Moolenbroek# Permission to use, copy, modify, and/or distribute this software for any 6*00b67f09SDavid van Moolenbroek# purpose with or without fee is hereby granted, provided that the above 7*00b67f09SDavid van Moolenbroek# copyright notice and this permission notice appear in all copies. 8*00b67f09SDavid van Moolenbroek# 9*00b67f09SDavid van Moolenbroek# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH 10*00b67f09SDavid van Moolenbroek# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 11*00b67f09SDavid van Moolenbroek# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, 12*00b67f09SDavid van Moolenbroek# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 13*00b67f09SDavid van Moolenbroek# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE 14*00b67f09SDavid van Moolenbroek# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 15*00b67f09SDavid van Moolenbroek# PERFORMANCE OF THIS SOFTWARE. 16*00b67f09SDavid van Moolenbroek 17*00b67f09SDavid van MoolenbroekSYSTEMTESTTOP=.. 18*00b67f09SDavid van Moolenbroek. $SYSTEMTESTTOP/conf.sh 19*00b67f09SDavid van Moolenbroek 20*00b67f09SDavid van Moolenbroekstatus=0 21*00b67f09SDavid van Moolenbroekn=0 22*00b67f09SDavid van Moolenbroek 23*00b67f09SDavid van Moolenbroekrm -f dig.out.* 24*00b67f09SDavid van Moolenbroek 25*00b67f09SDavid van MoolenbroekDIGOPTS="+tcp +short -p 5300 @10.53.0.2" 26*00b67f09SDavid van MoolenbroekDIGOPTS6="+tcp +short -p 5300 @fd92:7065:b8e:ffff::2" 27*00b67f09SDavid van Moolenbroek 28*00b67f09SDavid van Moolenbroekn=`expr $n + 1` 29*00b67f09SDavid van Moolenbroekecho "I:checking GeoIP country database by code ($n)" 30*00b67f09SDavid van Moolenbroekret=0 31*00b67f09SDavid van Moolenbroeklret=0 32*00b67f09SDavid van Moolenbroekfor i in 1 2 3 4 5 6 7; do 33*00b67f09SDavid van Moolenbroek $DIG $DIGOPTS txt example -b 10.53.0.$i > dig.out.ns2.test$n.$i || lret=1 34*00b67f09SDavid van Moolenbroek j=`cat dig.out.ns2.test$n.$i | tr -d '"'` 35*00b67f09SDavid van Moolenbroek [ "$i" = "$j" ] || lret=1 36*00b67f09SDavid van Moolenbroek [ $lret -eq 1 ] && break 37*00b67f09SDavid van Moolenbroekdone 38*00b67f09SDavid van Moolenbroek[ $lret -eq 1 ] && ret=1 39*00b67f09SDavid van Moolenbroek[ $ret -eq 0 ] || echo "I:failed" 40*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret` 41*00b67f09SDavid van Moolenbroek 42*00b67f09SDavid van Moolenbroekecho "I:reloading server" 43*00b67f09SDavid van Moolenbroekcp -f ns2/named2.conf ns2/named.conf 44*00b67f09SDavid van Moolenbroek$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 reload 2>&1 | sed 's/^/I:ns2 /' 45*00b67f09SDavid van Moolenbroeksleep 3 46*00b67f09SDavid van Moolenbroek 47*00b67f09SDavid van Moolenbroekn=`expr $n + 1` 48*00b67f09SDavid van Moolenbroekecho "I:checking GeoIP country database by three-letter code ($n)" 49*00b67f09SDavid van Moolenbroekret=0 50*00b67f09SDavid van Moolenbroeklret=0 51*00b67f09SDavid van Moolenbroekfor i in 1 2 3 4 5 6 7; do 52*00b67f09SDavid van Moolenbroek $DIG $DIGOPTS txt example -b 10.53.0.$i > dig.out.ns2.test$n.$i || lret=1 53*00b67f09SDavid van Moolenbroek j=`cat dig.out.ns2.test$n.$i | tr -d '"'` 54*00b67f09SDavid van Moolenbroek [ "$i" = "$j" ] || lret=1 55*00b67f09SDavid van Moolenbroek [ $lret -eq 1 ] && break 56*00b67f09SDavid van Moolenbroekdone 57*00b67f09SDavid van Moolenbroek[ $lret -eq 1 ] && ret=1 58*00b67f09SDavid van Moolenbroek[ $ret -eq 0 ] || echo "I:failed" 59*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret` 60*00b67f09SDavid van Moolenbroek 61*00b67f09SDavid van Moolenbroekecho "I:reloading server" 62*00b67f09SDavid van Moolenbroekcp -f ns2/named3.conf ns2/named.conf 63*00b67f09SDavid van Moolenbroek$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 reload 2>&1 | sed 's/^/I:ns2 /' 64*00b67f09SDavid van Moolenbroeksleep 3 65*00b67f09SDavid van Moolenbroek 66*00b67f09SDavid van Moolenbroekn=`expr $n + 1` 67*00b67f09SDavid van Moolenbroekecho "I:checking GeoIP country database by name ($n)" 68*00b67f09SDavid van Moolenbroekret=0 69*00b67f09SDavid van Moolenbroeklret=0 70*00b67f09SDavid van Moolenbroekfor i in 1 2 3 4 5 6 7; do 71*00b67f09SDavid van Moolenbroek $DIG $DIGOPTS txt example -b 10.53.0.$i > dig.out.ns2.test$n.$i || lret=1 72*00b67f09SDavid van Moolenbroek j=`cat dig.out.ns2.test$n.$i | tr -d '"'` 73*00b67f09SDavid van Moolenbroek [ "$i" = "$j" ] || lret=1 74*00b67f09SDavid van Moolenbroek [ $lret -eq 1 ] && break 75*00b67f09SDavid van Moolenbroekdone 76*00b67f09SDavid van Moolenbroek[ $lret -eq 1 ] && ret=1 77*00b67f09SDavid van Moolenbroek[ $ret -eq 0 ] || echo "I:failed" 78*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret` 79*00b67f09SDavid van Moolenbroek 80*00b67f09SDavid van Moolenbroekecho "I:reloading server" 81*00b67f09SDavid van Moolenbroekcp -f ns2/named4.conf ns2/named.conf 82*00b67f09SDavid van Moolenbroek$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 reload 2>&1 | sed 's/^/I:ns2 /' 83*00b67f09SDavid van Moolenbroeksleep 3 84*00b67f09SDavid van Moolenbroek 85*00b67f09SDavid van Moolenbroekn=`expr $n + 1` 86*00b67f09SDavid van Moolenbroekecho "I:checking GeoIP region code, no specified database ($n)" 87*00b67f09SDavid van Moolenbroekret=0 88*00b67f09SDavid van Moolenbroeklret=0 89*00b67f09SDavid van Moolenbroek# skipping 2 on purpose here; it has the same region code as 1 90*00b67f09SDavid van Moolenbroekfor i in 1 3 4 5 6 7; do 91*00b67f09SDavid van Moolenbroek $DIG $DIGOPTS txt example -b 10.53.0.$i > dig.out.ns2.test$n.$i || lret=1 92*00b67f09SDavid van Moolenbroek j=`cat dig.out.ns2.test$n.$i | tr -d '"'` 93*00b67f09SDavid van Moolenbroek [ "$i" = "$j" ] || lret=1 94*00b67f09SDavid van Moolenbroek [ $lret -eq 1 ] && break 95*00b67f09SDavid van Moolenbroekdone 96*00b67f09SDavid van Moolenbroek[ $lret -eq 1 ] && ret=1 97*00b67f09SDavid van Moolenbroek[ $ret -eq 0 ] || echo "I:failed" 98*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret` 99*00b67f09SDavid van Moolenbroek 100*00b67f09SDavid van Moolenbroekecho "I:reloading server" 101*00b67f09SDavid van Moolenbroekcp -f ns2/named5.conf ns2/named.conf 102*00b67f09SDavid van Moolenbroek$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 reload 2>&1 | sed 's/^/I:ns2 /' 103*00b67f09SDavid van Moolenbroeksleep 3 104*00b67f09SDavid van Moolenbroek 105*00b67f09SDavid van Moolenbroekn=`expr $n + 1` 106*00b67f09SDavid van Moolenbroekecho "I:checking GeoIP region database by region name and country code ($n)" 107*00b67f09SDavid van Moolenbroekret=0 108*00b67f09SDavid van Moolenbroeklret=0 109*00b67f09SDavid van Moolenbroekfor i in 1 2 3 4 5 6 7; do 110*00b67f09SDavid van Moolenbroek $DIG $DIGOPTS txt example -b 10.53.0.$i > dig.out.ns2.test$n.$i || lret=1 111*00b67f09SDavid van Moolenbroek j=`cat dig.out.ns2.test$n.$i | tr -d '"'` 112*00b67f09SDavid van Moolenbroek [ "$i" = "$j" ] || lret=1 113*00b67f09SDavid van Moolenbroek [ $lret -eq 1 ] && break 114*00b67f09SDavid van Moolenbroekdone 115*00b67f09SDavid van Moolenbroek[ $lret -eq 1 ] && ret=1 116*00b67f09SDavid van Moolenbroek[ $ret -eq 0 ] || echo "I:failed" 117*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret` 118*00b67f09SDavid van Moolenbroek 119*00b67f09SDavid van Moolenbroekecho "I:reloading server" 120*00b67f09SDavid van Moolenbroekcp -f ns2/named6.conf ns2/named.conf 121*00b67f09SDavid van Moolenbroek$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 reload 2>&1 | sed 's/^/I:ns2 /' 122*00b67f09SDavid van Moolenbroeksleep 3 123*00b67f09SDavid van Moolenbroek 124*00b67f09SDavid van Moolenbroekif $TESTSOCK6 fd92:7065:b8e:ffff::3 125*00b67f09SDavid van Moolenbroekthen 126*00b67f09SDavid van Moolenbroek n=`expr $n + 1` 127*00b67f09SDavid van Moolenbroek echo "I:checking GeoIP city database by city name using IPv6 ($n)" 128*00b67f09SDavid van Moolenbroek ret=0 129*00b67f09SDavid van Moolenbroek $DIG +tcp +short -p 5300 @fd92:7065:b8e:ffff::1 -6 txt example -b fd92:7065:b8e:ffff::2 > dig.out.ns2.test$n || ret=1 130*00b67f09SDavid van Moolenbroek [ $ret -eq 0 ] || echo "I:failed" 131*00b67f09SDavid van Moolenbroek status=`expr $status + $ret` 132*00b67f09SDavid van Moolenbroekelse 133*00b67f09SDavid van Moolenbroek echo "I:IPv6 unavailable; skipping" 134*00b67f09SDavid van Moolenbroekfi 135*00b67f09SDavid van Moolenbroek 136*00b67f09SDavid van Moolenbroekn=`expr $n + 1` 137*00b67f09SDavid van Moolenbroekecho "I:checking GeoIP city database by city name ($n)" 138*00b67f09SDavid van Moolenbroekret=0 139*00b67f09SDavid van Moolenbroeklret=0 140*00b67f09SDavid van Moolenbroekfor i in 1 2 3 4 5 6 7; do 141*00b67f09SDavid van Moolenbroek $DIG $DIGOPTS txt example -b 10.53.0.$i > dig.out.ns2.test$n.$i || lret=1 142*00b67f09SDavid van Moolenbroek j=`cat dig.out.ns2.test$n.$i | tr -d '"'` 143*00b67f09SDavid van Moolenbroek [ "$i" = "$j" ] || lret=1 144*00b67f09SDavid van Moolenbroek [ $lret -eq 1 ] && break 145*00b67f09SDavid van Moolenbroekdone 146*00b67f09SDavid van Moolenbroek[ $lret -eq 1 ] && ret=1 147*00b67f09SDavid van Moolenbroek[ $ret -eq 0 ] || echo "I:failed" 148*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret` 149*00b67f09SDavid van Moolenbroek 150*00b67f09SDavid van Moolenbroekecho "I:reloading server" 151*00b67f09SDavid van Moolenbroekcp -f ns2/named7.conf ns2/named.conf 152*00b67f09SDavid van Moolenbroek$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 reload 2>&1 | sed 's/^/I:ns2 /' 153*00b67f09SDavid van Moolenbroeksleep 3 154*00b67f09SDavid van Moolenbroek 155*00b67f09SDavid van Moolenbroekn=`expr $n + 1` 156*00b67f09SDavid van Moolenbroekecho "I:checking GeoIP isp database ($n)" 157*00b67f09SDavid van Moolenbroekret=0 158*00b67f09SDavid van Moolenbroeklret=0 159*00b67f09SDavid van Moolenbroekfor i in 1 2 3 4 5 6 7; do 160*00b67f09SDavid van Moolenbroek $DIG $DIGOPTS txt example -b 10.53.0.$i > dig.out.ns2.test$n.$i || lret=1 161*00b67f09SDavid van Moolenbroek j=`cat dig.out.ns2.test$n.$i | tr -d '"'` 162*00b67f09SDavid van Moolenbroek [ "$i" = "$j" ] || lret=1 163*00b67f09SDavid van Moolenbroek [ $lret -eq 1 ] && break 164*00b67f09SDavid van Moolenbroekdone 165*00b67f09SDavid van Moolenbroek[ $lret -eq 1 ] && ret=1 166*00b67f09SDavid van Moolenbroek[ $ret -eq 0 ] || echo "I:failed" 167*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret` 168*00b67f09SDavid van Moolenbroek 169*00b67f09SDavid van Moolenbroekecho "I:reloading server" 170*00b67f09SDavid van Moolenbroekcp -f ns2/named8.conf ns2/named.conf 171*00b67f09SDavid van Moolenbroek$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 reload 2>&1 | sed 's/^/I:ns2 /' 172*00b67f09SDavid van Moolenbroeksleep 3 173*00b67f09SDavid van Moolenbroek 174*00b67f09SDavid van Moolenbroekn=`expr $n + 1` 175*00b67f09SDavid van Moolenbroekecho "I:checking GeoIP org database ($n)" 176*00b67f09SDavid van Moolenbroekret=0 177*00b67f09SDavid van Moolenbroeklret=0 178*00b67f09SDavid van Moolenbroekfor i in 1 2 3 4 5 6 7; do 179*00b67f09SDavid van Moolenbroek $DIG $DIGOPTS txt example -b 10.53.0.$i > dig.out.ns2.test$n.$i || lret=1 180*00b67f09SDavid van Moolenbroek j=`cat dig.out.ns2.test$n.$i | tr -d '"'` 181*00b67f09SDavid van Moolenbroek [ "$i" = "$j" ] || lret=1 182*00b67f09SDavid van Moolenbroek [ $lret -eq 1 ] && break 183*00b67f09SDavid van Moolenbroekdone 184*00b67f09SDavid van Moolenbroek[ $lret -eq 1 ] && ret=1 185*00b67f09SDavid van Moolenbroek[ $ret -eq 0 ] || echo "I:failed" 186*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret` 187*00b67f09SDavid van Moolenbroek 188*00b67f09SDavid van Moolenbroekecho "I:reloading server" 189*00b67f09SDavid van Moolenbroekcp -f ns2/named9.conf ns2/named.conf 190*00b67f09SDavid van Moolenbroek$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 reload 2>&1 | sed 's/^/I:ns2 /' 191*00b67f09SDavid van Moolenbroeksleep 3 192*00b67f09SDavid van Moolenbroek 193*00b67f09SDavid van Moolenbroekn=`expr $n + 1` 194*00b67f09SDavid van Moolenbroekecho "I:checking GeoIP asnum database ($n)" 195*00b67f09SDavid van Moolenbroekret=0 196*00b67f09SDavid van Moolenbroeklret=0 197*00b67f09SDavid van Moolenbroekfor i in 1 2 3 4 5 6 7; do 198*00b67f09SDavid van Moolenbroek $DIG $DIGOPTS txt example -b 10.53.0.$i > dig.out.ns2.test$n.$i || lret=1 199*00b67f09SDavid van Moolenbroek j=`cat dig.out.ns2.test$n.$i | tr -d '"'` 200*00b67f09SDavid van Moolenbroek [ "$i" = "$j" ] || lret=1 201*00b67f09SDavid van Moolenbroek [ $lret -eq 1 ] && break 202*00b67f09SDavid van Moolenbroekdone 203*00b67f09SDavid van Moolenbroek[ $lret -eq 1 ] && ret=1 204*00b67f09SDavid van Moolenbroek[ $ret -eq 0 ] || echo "I:failed" 205*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret` 206*00b67f09SDavid van Moolenbroek 207*00b67f09SDavid van Moolenbroekecho "I:reloading server" 208*00b67f09SDavid van Moolenbroekcp -f ns2/named10.conf ns2/named.conf 209*00b67f09SDavid van Moolenbroek$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 reload 2>&1 | sed 's/^/I:ns2 /' 210*00b67f09SDavid van Moolenbroeksleep 3 211*00b67f09SDavid van Moolenbroek 212*00b67f09SDavid van Moolenbroekn=`expr $n + 1` 213*00b67f09SDavid van Moolenbroekecho "I:checking GeoIP asnum database - ASNNNN only ($n)" 214*00b67f09SDavid van Moolenbroekret=0 215*00b67f09SDavid van Moolenbroeklret=0 216*00b67f09SDavid van Moolenbroekfor i in 1 2 3 4 5 6 7; do 217*00b67f09SDavid van Moolenbroek $DIG $DIGOPTS txt example -b 10.53.0.$i > dig.out.ns2.test$n.$i || lret=1 218*00b67f09SDavid van Moolenbroek j=`cat dig.out.ns2.test$n.$i | tr -d '"'` 219*00b67f09SDavid van Moolenbroek [ "$i" = "$j" ] || lret=1 220*00b67f09SDavid van Moolenbroek [ $lret -eq 1 ] && break 221*00b67f09SDavid van Moolenbroekdone 222*00b67f09SDavid van Moolenbroek[ $lret -eq 1 ] && ret=1 223*00b67f09SDavid van Moolenbroek[ $ret -eq 0 ] || echo "I:failed" 224*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret` 225*00b67f09SDavid van Moolenbroek 226*00b67f09SDavid van Moolenbroekecho "I:reloading server" 227*00b67f09SDavid van Moolenbroekcp -f ns2/named11.conf ns2/named.conf 228*00b67f09SDavid van Moolenbroek$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 reload 2>&1 | sed 's/^/I:ns2 /' 229*00b67f09SDavid van Moolenbroeksleep 3 230*00b67f09SDavid van Moolenbroek 231*00b67f09SDavid van Moolenbroekn=`expr $n + 1` 232*00b67f09SDavid van Moolenbroekecho "I:checking GeoIP domain database ($n)" 233*00b67f09SDavid van Moolenbroekret=0 234*00b67f09SDavid van Moolenbroeklret=0 235*00b67f09SDavid van Moolenbroekfor i in 1 2 3 4 5 6 7; do 236*00b67f09SDavid van Moolenbroek $DIG $DIGOPTS txt example -b 10.53.0.$i > dig.out.ns2.test$n.$i || lret=1 237*00b67f09SDavid van Moolenbroek j=`cat dig.out.ns2.test$n.$i | tr -d '"'` 238*00b67f09SDavid van Moolenbroek [ "$i" = "$j" ] || lret=1 239*00b67f09SDavid van Moolenbroek [ $lret -eq 1 ] && break 240*00b67f09SDavid van Moolenbroekdone 241*00b67f09SDavid van Moolenbroek[ $lret -eq 1 ] && ret=1 242*00b67f09SDavid van Moolenbroek[ $ret -eq 0 ] || echo "I:failed" 243*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret` 244*00b67f09SDavid van Moolenbroek 245*00b67f09SDavid van Moolenbroekecho "I:reloading server" 246*00b67f09SDavid van Moolenbroekcp -f ns2/named12.conf ns2/named.conf 247*00b67f09SDavid van Moolenbroek$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 reload 2>&1 | sed 's/^/I:ns2 /' 248*00b67f09SDavid van Moolenbroeksleep 3 249*00b67f09SDavid van Moolenbroek 250*00b67f09SDavid van Moolenbroekn=`expr $n + 1` 251*00b67f09SDavid van Moolenbroekecho "I:checking GeoIP netspeed database ($n)" 252*00b67f09SDavid van Moolenbroekret=0 253*00b67f09SDavid van Moolenbroeklret=0 254*00b67f09SDavid van Moolenbroekfor i in 1 2 3 4; do 255*00b67f09SDavid van Moolenbroek $DIG $DIGOPTS txt example -b 10.53.0.$i > dig.out.ns2.test$n.$i || lret=1 256*00b67f09SDavid van Moolenbroek j=`cat dig.out.ns2.test$n.$i | tr -d '"'` 257*00b67f09SDavid van Moolenbroek [ "$i" = "$j" ] || lret=1 258*00b67f09SDavid van Moolenbroek [ $lret -eq 1 ] && break 259*00b67f09SDavid van Moolenbroekdone 260*00b67f09SDavid van Moolenbroek[ $lret -eq 1 ] && ret=1 261*00b67f09SDavid van Moolenbroek[ $ret -eq 0 ] || echo "I:failed" 262*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret` 263*00b67f09SDavid van Moolenbroek 264*00b67f09SDavid van Moolenbroekecho "I:reloading server" 265*00b67f09SDavid van Moolenbroekcp -f ns2/named13.conf ns2/named.conf 266*00b67f09SDavid van Moolenbroek$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 reload 2>&1 | sed 's/^/I:ns2 /' 267*00b67f09SDavid van Moolenbroeksleep 3 268*00b67f09SDavid van Moolenbroek 269*00b67f09SDavid van Moolenbroekn=`expr $n + 1` 270*00b67f09SDavid van Moolenbroekecho "I:checking GeoIP blackhole ACL ($n)" 271*00b67f09SDavid van Moolenbroekret=0 272*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS txt example -b 10.53.0.$i > dig.out.ns2.test$n || ret=1 273*00b67f09SDavid van Moolenbroek$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 status 2>&1 > rndc.out.ns2.test$n || ret=1 274*00b67f09SDavid van Moolenbroek[ $ret -eq 0 ] || echo "I:failed" 275*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret` 276*00b67f09SDavid van Moolenbroek 277*00b67f09SDavid van Moolenbroekecho "I:reloading server" 278*00b67f09SDavid van Moolenbroekcp -f ns2/named14.conf ns2/named.conf 279*00b67f09SDavid van Moolenbroek$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 reload 2>&1 | sed 's/^/I:ns2 /' 280*00b67f09SDavid van Moolenbroeksleep 3 281*00b67f09SDavid van Moolenbroek 282*00b67f09SDavid van Moolenbroekn=`expr $n + 1` 283*00b67f09SDavid van Moolenbroekecho "I:checking GeoIP country database by code (using nested ACLs) ($n)" 284*00b67f09SDavid van Moolenbroekret=0 285*00b67f09SDavid van Moolenbroeklret=0 286*00b67f09SDavid van Moolenbroekfor i in 1 2 3 4 5 6 7; do 287*00b67f09SDavid van Moolenbroek $DIG $DIGOPTS txt example -b 10.53.0.$i > dig.out.ns2.test$n.$i || lret=1 288*00b67f09SDavid van Moolenbroek j=`cat dig.out.ns2.test$n.$i | tr -d '"'` 289*00b67f09SDavid van Moolenbroek [ "$i" = "$j" ] || lret=1 290*00b67f09SDavid van Moolenbroek [ $lret -eq 1 ] && break 291*00b67f09SDavid van Moolenbroekdone 292*00b67f09SDavid van Moolenbroek[ $lret -eq 1 ] && ret=1 293*00b67f09SDavid van Moolenbroek[ $ret -eq 0 ] || echo "I:failed" 294*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret` 295*00b67f09SDavid van Moolenbroek 296*00b67f09SDavid van Moolenbroekn=`expr $n + 1` 297*00b67f09SDavid van Moolenbroekecho "I:reloading server with different geoip-directory ($n)" 298*00b67f09SDavid van Moolenbroekret=0 299*00b67f09SDavid van Moolenbroekcp -f ns2/named15.conf ns2/named.conf 300*00b67f09SDavid van Moolenbroek$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 reload 2>&1 | sed 's/^/I:ns2 /' 301*00b67f09SDavid van Moolenbroeksleep 3 302*00b67f09SDavid van Moolenbroekawk '/using "..\/data2" as GeoIP directory/ {m=1} ; { if (m>0) { print } }' ns2/named.run | grep "GeoIP City .* DB not available" > /dev/null || ret=1 303*00b67f09SDavid van Moolenbroek[ $ret -eq 0 ] || echo "I:failed" 304*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret` 305*00b67f09SDavid van Moolenbroek 306*00b67f09SDavid van Moolenbroekn=`expr $n + 1` 307*00b67f09SDavid van Moolenbroekecho "I:checking GeoIP v4/v6 when only IPv6 database is available ($n)" 308*00b67f09SDavid van Moolenbroekret=0 309*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS -4 txt example -b 10.53.0.2 > dig.out.ns2.test$n.1 || ret=1 310*00b67f09SDavid van Moolenbroekj=`cat dig.out.ns2.test$n.1 | tr -d '"'` 311*00b67f09SDavid van Moolenbroek[ "$j" = "bogus" ] || ret=1 312*00b67f09SDavid van Moolenbroekif $TESTSOCK6 fd92:7065:b8e:ffff::2; then 313*00b67f09SDavid van Moolenbroek $DIG $DIGOPTS6 txt example -b fd92:7065:b8e:ffff::2 > dig.out.ns2.test$n.2 || ret=1 314*00b67f09SDavid van Moolenbroek j=`cat dig.out.ns2.test$n.2 | tr -d '"'` 315*00b67f09SDavid van Moolenbroek [ "$j" = "2" ] || ret=1 316*00b67f09SDavid van Moolenbroekfi 317*00b67f09SDavid van Moolenbroek[ $ret -eq 0 ] || echo "I:failed" 318*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret` 319*00b67f09SDavid van Moolenbroek 320*00b67f09SDavid van Moolenbroekecho "I:exit status: $status" 321*00b67f09SDavid van Moolenbroekexit $status 322