xref: /minix3/external/bsd/bind/dist/bin/tests/system/geoip/tests.sh (revision 00b67f09dd46474d133c95011a48590a8e8f94c7)
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