1*00b67f09SDavid van Moolenbroek#!/bin/sh
2*00b67f09SDavid van Moolenbroek#
3*00b67f09SDavid van Moolenbroek# Copyright (C) 2010-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 Moolenbroek# Id: tests.sh,v 1.5 2011/02/03 07:35:55 marka Exp
18*00b67f09SDavid van Moolenbroek
19*00b67f09SDavid van MoolenbroekSYSTEMTESTTOP=..
20*00b67f09SDavid van Moolenbroek. $SYSTEMTESTTOP/conf.sh
21*00b67f09SDavid van Moolenbroek
22*00b67f09SDavid van Moolenbroekstatus=0
23*00b67f09SDavid van Moolenbroekn=0
24*00b67f09SDavid van Moolenbroek
25*00b67f09SDavid van Moolenbroekrm -f dig.out.*
26*00b67f09SDavid van Moolenbroek
27*00b67f09SDavid van MoolenbroekDIGOPTS="+tcp +noadd +nosea +nostat +nocmd -p 5300"
28*00b67f09SDavid van Moolenbroek
29*00b67f09SDavid van Moolenbroekfor conf in conf/good*.conf
30*00b67f09SDavid van Moolenbroekdo
31*00b67f09SDavid van Moolenbroek        echo "I:checking that $conf is accepted ($n)"
32*00b67f09SDavid van Moolenbroek        ret=0
33*00b67f09SDavid van Moolenbroek        $CHECKCONF "$conf" || ret=1
34*00b67f09SDavid van Moolenbroek        n=`expr $n + 1`
35*00b67f09SDavid van Moolenbroek        if [ $ret != 0 ]; then echo "I:failed"; fi
36*00b67f09SDavid van Moolenbroek        status=`expr $status + $ret`
37*00b67f09SDavid van Moolenbroekdone
38*00b67f09SDavid van Moolenbroek
39*00b67f09SDavid van Moolenbroekfor conf in conf/bad*.conf
40*00b67f09SDavid van Moolenbroekdo
41*00b67f09SDavid van Moolenbroek        echo "I:checking that $conf is rejected ($n)"
42*00b67f09SDavid van Moolenbroek        ret=0
43*00b67f09SDavid van Moolenbroek        $CHECKCONF "$conf" >/dev/null && ret=1
44*00b67f09SDavid van Moolenbroek	n=`expr $n + 1`
45*00b67f09SDavid van Moolenbroek        if [ $ret != 0 ]; then echo "I:failed"; fi
46*00b67f09SDavid van Moolenbroek        status=`expr $status + $ret`
47*00b67f09SDavid van Moolenbroekdone
48*00b67f09SDavid van Moolenbroek
49*00b67f09SDavid van Moolenbroek# Check the example. domain
50*00b67f09SDavid van Moolenbroek
51*00b67f09SDavid van Moolenbroekecho "I: checking non-excluded AAAA lookup works ($n)"
52*00b67f09SDavid van Moolenbroekret=0
53*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS aaaa-only.example. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
54*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
55*00b67f09SDavid van Moolenbroekgrep "2001::2" dig.out.ns2.test$n > /dev/null || ret=1
56*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
57*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
58*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
59*00b67f09SDavid van Moolenbroek
60*00b67f09SDavid van Moolenbroekecho "I: checking excluded only AAAA lookup works ($n)"
61*00b67f09SDavid van Moolenbroekret=0
62*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS excluded-only.example. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
63*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
64*00b67f09SDavid van Moolenbroekgrep "ANSWER: 0," dig.out.ns2.test$n > /dev/null || ret=1
65*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
66*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
67*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
68*00b67f09SDavid van Moolenbroek
69*00b67f09SDavid van Moolenbroekecho "I: checking excluded AAAA and non-mapped A lookup works ($n)"
70*00b67f09SDavid van Moolenbroekret=0
71*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS excluded-bad-a.example. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
72*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
73*00b67f09SDavid van Moolenbroekgrep "ANSWER: 0," dig.out.ns2.test$n > /dev/null || ret=1
74*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
75*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
76*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
77*00b67f09SDavid van Moolenbroek
78*00b67f09SDavid van Moolenbroekecho "I: checking excluded only AAAA and mapped A lookup works ($n)"
79*00b67f09SDavid van Moolenbroekret=0
80*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS excluded-good-a.example. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
81*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
82*00b67f09SDavid van Moolenbroekgrep "2001:aaaa::1.2.3.4" dig.out.ns2.test$n > /dev/null || ret=1
83*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
84*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
85*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
86*00b67f09SDavid van Moolenbroek
87*00b67f09SDavid van Moolenbroekecho "I: checking partially excluded only AAAA lookup works ($n)"
88*00b67f09SDavid van Moolenbroekret=0
89*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS partially-excluded-only.example. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
90*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
91*00b67f09SDavid van Moolenbroekgrep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
92*00b67f09SDavid van Moolenbroekgrep "2001::3" dig.out.ns2.test$n > /dev/null || ret=1
93*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
94*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
95*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
96*00b67f09SDavid van Moolenbroek
97*00b67f09SDavid van Moolenbroekecho "I: checking partially-excluded AAAA and non-mapped A lookup works ($n)"
98*00b67f09SDavid van Moolenbroekret=0
99*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS partially-excluded-bad-a.example. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
100*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
101*00b67f09SDavid van Moolenbroekgrep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
102*00b67f09SDavid van Moolenbroekgrep "2001::2" dig.out.ns2.test$n > /dev/null || ret=1
103*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
104*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
105*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
106*00b67f09SDavid van Moolenbroek
107*00b67f09SDavid van Moolenbroekecho "I: checking partially-excluded only AAAA and mapped A lookup works ($n)"
108*00b67f09SDavid van Moolenbroekret=0
109*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS partially-excluded-good-a.example. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
110*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
111*00b67f09SDavid van Moolenbroekgrep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
112*00b67f09SDavid van Moolenbroekgrep "2001::1" dig.out.ns2.test$n > /dev/null || ret=1
113*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
114*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
115*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
116*00b67f09SDavid van Moolenbroek
117*00b67f09SDavid van Moolenbroekecho "I: checking AAAA only lookup works ($n)"
118*00b67f09SDavid van Moolenbroekret=0
119*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS aaaa-only.example. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
120*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
121*00b67f09SDavid van Moolenbroekgrep "2001::2" dig.out.ns2.test$n > /dev/null || ret=1
122*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
123*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
124*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
125*00b67f09SDavid van Moolenbroek
126*00b67f09SDavid van Moolenbroekecho "I: checking A only lookup works ($n)"
127*00b67f09SDavid van Moolenbroekret=0
128*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS a-only.example. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
129*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
130*00b67f09SDavid van Moolenbroekgrep "2001:aaaa::102:305" dig.out.ns2.test$n > /dev/null || ret=1
131*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
132*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
133*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
134*00b67f09SDavid van Moolenbroek
135*00b67f09SDavid van Moolenbroekecho "I: checking A and AAAA lookup works ($n)"
136*00b67f09SDavid van Moolenbroekret=0
137*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS a-and-aaaa.example. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
138*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
139*00b67f09SDavid van Moolenbroekgrep "2001::1" dig.out.ns2.test$n > /dev/null || ret=1
140*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
141*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
142*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
143*00b67f09SDavid van Moolenbroek
144*00b67f09SDavid van Moolenbroekecho "I: checking non-mapped A lookup works ($n)"
145*00b67f09SDavid van Moolenbroekret=0
146*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS a-not-mapped.example. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
147*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
148*00b67f09SDavid van Moolenbroekgrep "ANSWER: 0" dig.out.ns2.test$n > /dev/null || ret=1
149*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
150*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
151*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
152*00b67f09SDavid van Moolenbroek
153*00b67f09SDavid van Moolenbroekecho "I: checking NODATA AAAA lookup works ($n)"
154*00b67f09SDavid van Moolenbroekret=0
155*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS mx-only.example. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
156*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
157*00b67f09SDavid van Moolenbroekgrep "ANSWER: 0" dig.out.ns2.test$n > /dev/null || ret=1
158*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
159*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
160*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
161*00b67f09SDavid van Moolenbroek
162*00b67f09SDavid van Moolenbroekecho "I: checking non-existent AAAA lookup works ($n)"
163*00b67f09SDavid van Moolenbroekret=0
164*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS non-existent.example. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
165*00b67f09SDavid van Moolenbroekgrep "status: NXDOMAIN" dig.out.ns2.test$n > /dev/null || ret=1
166*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
167*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
168*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
169*00b67f09SDavid van Moolenbroek
170*00b67f09SDavid van Moolenbroekecho "I: checking non-excluded AAAA via CNAME lookup works ($n)"
171*00b67f09SDavid van Moolenbroekret=0
172*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS cname-aaaa-only.example. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
173*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
174*00b67f09SDavid van Moolenbroekgrep "2001::2" dig.out.ns2.test$n > /dev/null || ret=1
175*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
176*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
177*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
178*00b67f09SDavid van Moolenbroek
179*00b67f09SDavid van Moolenbroekecho "I: checking excluded only AAAA via CNAME lookup works ($n)"
180*00b67f09SDavid van Moolenbroekret=0
181*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS cname-excluded-only.example. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
182*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
183*00b67f09SDavid van Moolenbroekgrep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
184*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
185*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
186*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
187*00b67f09SDavid van Moolenbroek
188*00b67f09SDavid van Moolenbroekecho "I: checking excluded AAAA and non-mapped A via CNAME lookup works ($n)"
189*00b67f09SDavid van Moolenbroekret=0
190*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS cname-excluded-bad-a.example. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
191*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
192*00b67f09SDavid van Moolenbroekgrep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
193*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
194*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
195*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
196*00b67f09SDavid van Moolenbroek
197*00b67f09SDavid van Moolenbroekecho "I: checking excluded only AAAA and mapped A via CNAME lookup works ($n)"
198*00b67f09SDavid van Moolenbroekret=0
199*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS cname-excluded-good-a.example. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
200*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
201*00b67f09SDavid van Moolenbroekgrep "2001:aaaa::1.2.3.4" dig.out.ns2.test$n > /dev/null || ret=1
202*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
203*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
204*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
205*00b67f09SDavid van Moolenbroek
206*00b67f09SDavid van Moolenbroekecho "I: checking AAAA only via CNAME lookup works ($n)"
207*00b67f09SDavid van Moolenbroekret=0
208*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS cname-aaaa-only.example. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
209*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
210*00b67f09SDavid van Moolenbroekgrep "2001::2" dig.out.ns2.test$n > /dev/null || ret=1
211*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
212*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
213*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
214*00b67f09SDavid van Moolenbroek
215*00b67f09SDavid van Moolenbroekecho "I: checking A only via CNAME lookup works ($n)"
216*00b67f09SDavid van Moolenbroekret=0
217*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS cname-a-only.example. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
218*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
219*00b67f09SDavid van Moolenbroekgrep "2001:aaaa::102:305" dig.out.ns2.test$n > /dev/null || ret=1
220*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
221*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
222*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
223*00b67f09SDavid van Moolenbroek
224*00b67f09SDavid van Moolenbroekecho "I: checking A and AAAA via CNAME lookup works ($n)"
225*00b67f09SDavid van Moolenbroekret=0
226*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS cname-a-and-aaaa.example. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
227*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
228*00b67f09SDavid van Moolenbroekgrep "2001::1" dig.out.ns2.test$n > /dev/null || ret=1
229*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
230*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
231*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
232*00b67f09SDavid van Moolenbroek
233*00b67f09SDavid van Moolenbroekecho "I: checking non-mapped A via CNAME lookup works ($n)"
234*00b67f09SDavid van Moolenbroekret=0
235*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS cname-a-not-mapped.example. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
236*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
237*00b67f09SDavid van Moolenbroekgrep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
238*00b67f09SDavid van Moolenbroekgrep "CNAME	a-not-mapped.example." dig.out.ns2.test$n > /dev/null || ret=1
239*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
240*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
241*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
242*00b67f09SDavid van Moolenbroek
243*00b67f09SDavid van Moolenbroekecho "I: checking NODATA AAAA via CNAME lookup works ($n)"
244*00b67f09SDavid van Moolenbroekret=0
245*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS cname-mx-only.example. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
246*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
247*00b67f09SDavid van Moolenbroekgrep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
248*00b67f09SDavid van Moolenbroekgrep "CNAME	mx-only.example." dig.out.ns2.test$n > /dev/null || ret=1
249*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
250*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
251*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
252*00b67f09SDavid van Moolenbroek
253*00b67f09SDavid van Moolenbroekecho "I: checking non-existent AAAA via CNAME lookup works ($n)"
254*00b67f09SDavid van Moolenbroekret=0
255*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS cname-non-existent.example. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
256*00b67f09SDavid van Moolenbroekgrep "status: NXDOMAIN" dig.out.ns2.test$n > /dev/null || ret=1
257*00b67f09SDavid van Moolenbroekgrep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
258*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
259*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
260*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
261*00b67f09SDavid van Moolenbroek
262*00b67f09SDavid van Moolenbroek# Check the example. domain recursive only
263*00b67f09SDavid van Moolenbroek
264*00b67f09SDavid van Moolenbroekecho "I: checking non-excluded AAAA lookup works, recursive only ($n)"
265*00b67f09SDavid van Moolenbroekret=0
266*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS aaaa-only.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
267*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
268*00b67f09SDavid van Moolenbroekgrep "2001::2" dig.out.ns2.test$n > /dev/null || ret=1
269*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
270*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
271*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
272*00b67f09SDavid van Moolenbroek
273*00b67f09SDavid van Moolenbroekecho "I: checking excluded only AAAA lookup works, recursive only ($n)"
274*00b67f09SDavid van Moolenbroekret=0
275*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS excluded-only.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
276*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
277*00b67f09SDavid van Moolenbroekgrep "ANSWER: 0," dig.out.ns2.test$n > /dev/null || ret=1
278*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
279*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
280*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
281*00b67f09SDavid van Moolenbroek
282*00b67f09SDavid van Moolenbroekecho "I: checking excluded AAAA and non-mapped A lookup works, recursive only ($n)"
283*00b67f09SDavid van Moolenbroekret=0
284*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS excluded-bad-a.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
285*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
286*00b67f09SDavid van Moolenbroekgrep "ANSWER: 0," dig.out.ns2.test$n > /dev/null || ret=1
287*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
288*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
289*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
290*00b67f09SDavid van Moolenbroek
291*00b67f09SDavid van Moolenbroekecho "I: checking excluded only AAAA and mapped A lookup works, recursive only ($n)"
292*00b67f09SDavid van Moolenbroekret=0
293*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS excluded-good-a.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
294*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
295*00b67f09SDavid van Moolenbroekgrep "2001:bbbb::1.2.3.4" dig.out.ns2.test$n > /dev/null || ret=1
296*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
297*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
298*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
299*00b67f09SDavid van Moolenbroek
300*00b67f09SDavid van Moolenbroekecho "I: checking partially excluded only AAAA lookup works, recursive only ($n)"
301*00b67f09SDavid van Moolenbroekret=0
302*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS partially-excluded-only.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
303*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
304*00b67f09SDavid van Moolenbroekgrep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
305*00b67f09SDavid van Moolenbroekgrep "2001::3" dig.out.ns2.test$n > /dev/null || ret=1
306*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
307*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
308*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
309*00b67f09SDavid van Moolenbroek
310*00b67f09SDavid van Moolenbroekecho "I: checking partially-excluded AAAA and non-mapped A lookup works, recursive only ($n)"
311*00b67f09SDavid van Moolenbroekret=0
312*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS partially-excluded-bad-a.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
313*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
314*00b67f09SDavid van Moolenbroekgrep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
315*00b67f09SDavid van Moolenbroekgrep "2001::2" dig.out.ns2.test$n > /dev/null || ret=1
316*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
317*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
318*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
319*00b67f09SDavid van Moolenbroek
320*00b67f09SDavid van Moolenbroekecho "I: checking partially-excluded only AAAA and mapped A lookup works, recursive only ($n)"
321*00b67f09SDavid van Moolenbroekret=0
322*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS partially-excluded-good-a.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
323*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
324*00b67f09SDavid van Moolenbroekgrep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
325*00b67f09SDavid van Moolenbroekgrep "2001::1" dig.out.ns2.test$n > /dev/null || ret=1
326*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
327*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
328*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
329*00b67f09SDavid van Moolenbroek
330*00b67f09SDavid van Moolenbroekecho "I: checking AAAA only lookup works, recursive only ($n)"
331*00b67f09SDavid van Moolenbroekret=0
332*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS aaaa-only.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
333*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
334*00b67f09SDavid van Moolenbroekgrep "2001::2" dig.out.ns2.test$n > /dev/null || ret=1
335*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
336*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
337*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
338*00b67f09SDavid van Moolenbroek
339*00b67f09SDavid van Moolenbroekecho "I: checking A only lookup works, recursive only ($n)"
340*00b67f09SDavid van Moolenbroekret=0
341*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS a-only.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
342*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
343*00b67f09SDavid van Moolenbroekgrep "2001:bbbb::102:305" dig.out.ns2.test$n > /dev/null || ret=1
344*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
345*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
346*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
347*00b67f09SDavid van Moolenbroek
348*00b67f09SDavid van Moolenbroekecho "I: checking A and AAAA lookup works, recursive only ($n)"
349*00b67f09SDavid van Moolenbroekret=0
350*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS a-and-aaaa.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
351*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
352*00b67f09SDavid van Moolenbroekgrep "2001::1" dig.out.ns2.test$n > /dev/null || ret=1
353*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
354*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
355*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
356*00b67f09SDavid van Moolenbroek
357*00b67f09SDavid van Moolenbroekecho "I: checking non-mapped A lookup works, recursive only ($n)"
358*00b67f09SDavid van Moolenbroekret=0
359*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS a-not-mapped.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
360*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
361*00b67f09SDavid van Moolenbroekgrep "ANSWER: 0" dig.out.ns2.test$n > /dev/null || ret=1
362*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
363*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
364*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
365*00b67f09SDavid van Moolenbroek
366*00b67f09SDavid van Moolenbroekecho "I: checking NODATA AAAA lookup works, recursive only ($n)"
367*00b67f09SDavid van Moolenbroekret=0
368*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS mx-only.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
369*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
370*00b67f09SDavid van Moolenbroekgrep "ANSWER: 0" dig.out.ns2.test$n > /dev/null || ret=1
371*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
372*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
373*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
374*00b67f09SDavid van Moolenbroek
375*00b67f09SDavid van Moolenbroekecho "I: checking non-existent AAAA lookup works, recursive only ($n)"
376*00b67f09SDavid van Moolenbroekret=0
377*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS non-existent.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
378*00b67f09SDavid van Moolenbroekgrep "status: NXDOMAIN" dig.out.ns2.test$n > /dev/null || ret=1
379*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
380*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
381*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
382*00b67f09SDavid van Moolenbroek
383*00b67f09SDavid van Moolenbroekecho "I: checking non-excluded AAAA via CNAME lookup works, recursive only ($n)"
384*00b67f09SDavid van Moolenbroekret=0
385*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS cname-aaaa-only.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
386*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
387*00b67f09SDavid van Moolenbroekgrep "2001::2" dig.out.ns2.test$n > /dev/null || ret=1
388*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
389*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
390*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
391*00b67f09SDavid van Moolenbroek
392*00b67f09SDavid van Moolenbroekecho "I: checking excluded only AAAA via CNAME lookup works, recursive only ($n)"
393*00b67f09SDavid van Moolenbroekret=0
394*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS cname-excluded-only.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
395*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
396*00b67f09SDavid van Moolenbroekgrep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
397*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
398*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
399*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
400*00b67f09SDavid van Moolenbroek
401*00b67f09SDavid van Moolenbroekecho "I: checking excluded AAAA and non-mapped A via CNAME lookup works, recursive only ($n)"
402*00b67f09SDavid van Moolenbroekret=0
403*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS cname-excluded-bad-a.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
404*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
405*00b67f09SDavid van Moolenbroekgrep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
406*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
407*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
408*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
409*00b67f09SDavid van Moolenbroek
410*00b67f09SDavid van Moolenbroekecho "I: checking excluded only AAAA and mapped A via CNAME lookup works, recursive only ($n)"
411*00b67f09SDavid van Moolenbroekret=0
412*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS cname-excluded-good-a.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
413*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
414*00b67f09SDavid van Moolenbroekgrep "ANSWER: 2," dig.out.ns2.test$n > /dev/null || ret=1
415*00b67f09SDavid van Moolenbroekgrep "2001:bbbb::102:304" dig.out.ns2.test$n > /dev/null || ret=1
416*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
417*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
418*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
419*00b67f09SDavid van Moolenbroek
420*00b67f09SDavid van Moolenbroekecho "I: checking AAAA only via CNAME lookup works, recursive only ($n)"
421*00b67f09SDavid van Moolenbroekret=0
422*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS cname-aaaa-only.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
423*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
424*00b67f09SDavid van Moolenbroekgrep "2001::2" dig.out.ns2.test$n > /dev/null || ret=1
425*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
426*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
427*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
428*00b67f09SDavid van Moolenbroek
429*00b67f09SDavid van Moolenbroekecho "I: checking A only via CNAME lookup works, recursive only ($n)"
430*00b67f09SDavid van Moolenbroekret=0
431*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS cname-a-only.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
432*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
433*00b67f09SDavid van Moolenbroekgrep "2001:bbbb::102:305" dig.out.ns2.test$n > /dev/null || ret=1
434*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
435*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
436*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
437*00b67f09SDavid van Moolenbroek
438*00b67f09SDavid van Moolenbroekecho "I: checking A and AAAA via CNAME lookup works, recursive only ($n)"
439*00b67f09SDavid van Moolenbroekret=0
440*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS cname-a-and-aaaa.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
441*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
442*00b67f09SDavid van Moolenbroekgrep "2001::1" dig.out.ns2.test$n > /dev/null || ret=1
443*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
444*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
445*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
446*00b67f09SDavid van Moolenbroek
447*00b67f09SDavid van Moolenbroekecho "I: checking non-mapped A via CNAME lookup works, recursive only ($n)"
448*00b67f09SDavid van Moolenbroekret=0
449*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS cname-a-not-mapped.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
450*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
451*00b67f09SDavid van Moolenbroekgrep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
452*00b67f09SDavid van Moolenbroekgrep "CNAME	a-not-mapped.example." dig.out.ns2.test$n > /dev/null || ret=1
453*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
454*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
455*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
456*00b67f09SDavid van Moolenbroek
457*00b67f09SDavid van Moolenbroekecho "I: checking NODATA AAAA via CNAME lookup works, recursive only ($n)"
458*00b67f09SDavid van Moolenbroekret=0
459*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS cname-mx-only.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
460*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
461*00b67f09SDavid van Moolenbroekgrep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
462*00b67f09SDavid van Moolenbroekgrep "CNAME	mx-only.example." dig.out.ns2.test$n > /dev/null || ret=1
463*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
464*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
465*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
466*00b67f09SDavid van Moolenbroek
467*00b67f09SDavid van Moolenbroekecho "I: checking non-existent AAAA via CNAME lookup works, recursive only ($n)"
468*00b67f09SDavid van Moolenbroekret=0
469*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS cname-non-existent.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
470*00b67f09SDavid van Moolenbroekgrep "status: NXDOMAIN" dig.out.ns2.test$n > /dev/null || ret=1
471*00b67f09SDavid van Moolenbroekgrep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
472*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
473*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
474*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
475*00b67f09SDavid van Moolenbroek
476*00b67f09SDavid van Moolenbroek# Check the example. domain recursive only w/o recursion
477*00b67f09SDavid van Moolenbroek
478*00b67f09SDavid van Moolenbroekecho "I: checking non-excluded AAAA lookup works, recursive only +norec ($n)"
479*00b67f09SDavid van Moolenbroekret=0
480*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS +norec aaaa-only.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
481*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
482*00b67f09SDavid van Moolenbroekgrep "2001::2" dig.out.ns2.test$n > /dev/null || ret=1
483*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
484*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
485*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
486*00b67f09SDavid van Moolenbroek
487*00b67f09SDavid van Moolenbroekecho "I: checking excluded only AAAA lookup works, recursive only +norec ($n)"
488*00b67f09SDavid van Moolenbroekret=0
489*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS +norec excluded-only.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
490*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
491*00b67f09SDavid van Moolenbroekgrep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
492*00b67f09SDavid van Moolenbroekgrep "2001:eeee::3" dig.out.ns2.test$n > /dev/null || ret=1
493*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
494*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
495*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
496*00b67f09SDavid van Moolenbroek
497*00b67f09SDavid van Moolenbroekecho "I: checking excluded AAAA and non-mapped A lookup works, recursive only +norec ($n)"
498*00b67f09SDavid van Moolenbroekret=0
499*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS +norec excluded-bad-a.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
500*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
501*00b67f09SDavid van Moolenbroekgrep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
502*00b67f09SDavid van Moolenbroekgrep "2001:eeee::2" dig.out.ns2.test$n > /dev/null || ret=1
503*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
504*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
505*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
506*00b67f09SDavid van Moolenbroek
507*00b67f09SDavid van Moolenbroekecho "I: checking excluded only AAAA and mapped A lookup works, recursive only +norec ($n)"
508*00b67f09SDavid van Moolenbroekret=0
509*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS +norec excluded-good-a.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
510*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
511*00b67f09SDavid van Moolenbroekgrep "2001:eeee::1" dig.out.ns2.test$n > /dev/null || ret=1
512*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
513*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
514*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
515*00b67f09SDavid van Moolenbroek
516*00b67f09SDavid van Moolenbroekecho "I: checking partially excluded only AAAA lookup works, recursive only +norec ($n)"
517*00b67f09SDavid van Moolenbroekret=0
518*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS +norec partially-excluded-only.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
519*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
520*00b67f09SDavid van Moolenbroekgrep "ANSWER: 2," dig.out.ns2.test$n > /dev/null || ret=1
521*00b67f09SDavid van Moolenbroekgrep "2001:eeee:" dig.out.ns2.test$n > /dev/null || ret=1
522*00b67f09SDavid van Moolenbroekgrep "2001::3" dig.out.ns2.test$n > /dev/null || ret=1
523*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
524*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
525*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
526*00b67f09SDavid van Moolenbroek
527*00b67f09SDavid van Moolenbroekecho "I: checking partially-excluded AAAA and non-mapped A lookup works, recursive only +norec ($n)"
528*00b67f09SDavid van Moolenbroekret=0
529*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS +norec partially-excluded-bad-a.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
530*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
531*00b67f09SDavid van Moolenbroekgrep "ANSWER: 2," dig.out.ns2.test$n > /dev/null || ret=1
532*00b67f09SDavid van Moolenbroekgrep "2001:eeee:" dig.out.ns2.test$n > /dev/null || ret=1
533*00b67f09SDavid van Moolenbroekgrep "2001::2" dig.out.ns2.test$n > /dev/null || ret=1
534*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
535*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
536*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
537*00b67f09SDavid van Moolenbroek
538*00b67f09SDavid van Moolenbroekecho "I: checking partially-excluded only AAAA and mapped A lookup works, recursive only +norec ($n)"
539*00b67f09SDavid van Moolenbroekret=0
540*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS +norec partially-excluded-good-a.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
541*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
542*00b67f09SDavid van Moolenbroekgrep "ANSWER: 2," dig.out.ns2.test$n > /dev/null || ret=1
543*00b67f09SDavid van Moolenbroekgrep "2001:eeee:" dig.out.ns2.test$n > /dev/null || ret=1
544*00b67f09SDavid van Moolenbroekgrep "2001::1" dig.out.ns2.test$n > /dev/null || ret=1
545*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
546*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
547*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
548*00b67f09SDavid van Moolenbroek
549*00b67f09SDavid van Moolenbroekecho "I: checking AAAA only lookup works, recursive only +norec ($n)"
550*00b67f09SDavid van Moolenbroekret=0
551*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS +norec aaaa-only.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
552*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
553*00b67f09SDavid van Moolenbroekgrep "2001::2" dig.out.ns2.test$n > /dev/null || ret=1
554*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
555*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
556*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
557*00b67f09SDavid van Moolenbroek
558*00b67f09SDavid van Moolenbroekecho "I: checking A only lookup works, recursive only +norec ($n)"
559*00b67f09SDavid van Moolenbroekret=0
560*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS +norec a-only.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
561*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
562*00b67f09SDavid van Moolenbroekgrep "ANSWER: 0," dig.out.ns2.test$n > /dev/null || ret=1
563*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
564*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
565*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
566*00b67f09SDavid van Moolenbroek
567*00b67f09SDavid van Moolenbroekecho "I: checking A and AAAA lookup works, recursive only +norec ($n)"
568*00b67f09SDavid van Moolenbroekret=0
569*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS +norec a-and-aaaa.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
570*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
571*00b67f09SDavid van Moolenbroekgrep "2001::1" dig.out.ns2.test$n > /dev/null || ret=1
572*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
573*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
574*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
575*00b67f09SDavid van Moolenbroek
576*00b67f09SDavid van Moolenbroekecho "I: checking non-mapped A lookup works, recursive only +norec ($n)"
577*00b67f09SDavid van Moolenbroekret=0
578*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS +norec a-not-mapped.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
579*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
580*00b67f09SDavid van Moolenbroekgrep "ANSWER: 0" dig.out.ns2.test$n > /dev/null || ret=1
581*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
582*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
583*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
584*00b67f09SDavid van Moolenbroek
585*00b67f09SDavid van Moolenbroekecho "I: checking NODATA AAAA lookup works, recursive only +norec ($n)"
586*00b67f09SDavid van Moolenbroekret=0
587*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS +norec mx-only.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
588*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
589*00b67f09SDavid van Moolenbroekgrep "ANSWER: 0" dig.out.ns2.test$n > /dev/null || ret=1
590*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
591*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
592*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
593*00b67f09SDavid van Moolenbroek
594*00b67f09SDavid van Moolenbroekecho "I: checking non-existent AAAA lookup works, recursive only +norec ($n)"
595*00b67f09SDavid van Moolenbroekret=0
596*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS +norec non-existent.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
597*00b67f09SDavid van Moolenbroekgrep "status: NXDOMAIN" dig.out.ns2.test$n > /dev/null || ret=1
598*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
599*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
600*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
601*00b67f09SDavid van Moolenbroek
602*00b67f09SDavid van Moolenbroekecho "I: checking non-excluded AAAA via CNAME lookup works, recursive only +norec ($n)"
603*00b67f09SDavid van Moolenbroekret=0
604*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS +norec cname-aaaa-only.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
605*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
606*00b67f09SDavid van Moolenbroekgrep "2001::2" dig.out.ns2.test$n > /dev/null || ret=1
607*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
608*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
609*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
610*00b67f09SDavid van Moolenbroek
611*00b67f09SDavid van Moolenbroekecho "I: checking excluded only AAAA via CNAME lookup works, recursive only +norec ($n)"
612*00b67f09SDavid van Moolenbroekret=0
613*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS +norec cname-excluded-only.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
614*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
615*00b67f09SDavid van Moolenbroekgrep "ANSWER: 2," dig.out.ns2.test$n > /dev/null || ret=1
616*00b67f09SDavid van Moolenbroekgrep "2001:eeee::3" dig.out.ns2.test$n > /dev/null || ret=1
617*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
618*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
619*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
620*00b67f09SDavid van Moolenbroek
621*00b67f09SDavid van Moolenbroekecho "I: checking excluded AAAA and non-mapped A via CNAME lookup works, recursive only +norec ($n)"
622*00b67f09SDavid van Moolenbroekret=0
623*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS +norec cname-excluded-bad-a.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
624*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
625*00b67f09SDavid van Moolenbroekgrep "ANSWER: 2," dig.out.ns2.test$n > /dev/null || ret=1
626*00b67f09SDavid van Moolenbroekgrep "2001:eeee::2" dig.out.ns2.test$n > /dev/null || ret=1
627*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
628*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
629*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
630*00b67f09SDavid van Moolenbroek
631*00b67f09SDavid van Moolenbroekecho "I: checking excluded only AAAA and mapped A via CNAME lookup works, recursive only +norec ($n)"
632*00b67f09SDavid van Moolenbroekret=0
633*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS +norec cname-excluded-good-a.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
634*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
635*00b67f09SDavid van Moolenbroekgrep "ANSWER: 2," dig.out.ns2.test$n > /dev/null || ret=1
636*00b67f09SDavid van Moolenbroekgrep "2001:eeee::1" dig.out.ns2.test$n > /dev/null || ret=1
637*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
638*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
639*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
640*00b67f09SDavid van Moolenbroek
641*00b67f09SDavid van Moolenbroekecho "I: checking AAAA only via CNAME lookup works, recursive only +norec ($n)"
642*00b67f09SDavid van Moolenbroekret=0
643*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS +norec cname-aaaa-only.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
644*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
645*00b67f09SDavid van Moolenbroekgrep "2001::2" dig.out.ns2.test$n > /dev/null || ret=1
646*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
647*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
648*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
649*00b67f09SDavid van Moolenbroek
650*00b67f09SDavid van Moolenbroekecho "I: checking A only via CNAME lookup works, recursive only +norec ($n)"
651*00b67f09SDavid van Moolenbroekret=0
652*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS +norec cname-a-only.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
653*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
654*00b67f09SDavid van Moolenbroekgrep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
655*00b67f09SDavid van Moolenbroekgrep "CNAME	a-only.example." dig.out.ns2.test$n > /dev/null || ret=1
656*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
657*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
658*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
659*00b67f09SDavid van Moolenbroek
660*00b67f09SDavid van Moolenbroekecho "I: checking A and AAAA via CNAME lookup works, recursive only +norec ($n)"
661*00b67f09SDavid van Moolenbroekret=0
662*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS +norec cname-a-and-aaaa.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
663*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
664*00b67f09SDavid van Moolenbroekgrep "2001::1" dig.out.ns2.test$n > /dev/null || ret=1
665*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
666*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
667*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
668*00b67f09SDavid van Moolenbroek
669*00b67f09SDavid van Moolenbroekecho "I: checking non-mapped A via CNAME lookup works, recursive only +norec ($n)"
670*00b67f09SDavid van Moolenbroekret=0
671*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS +norec cname-a-not-mapped.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
672*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
673*00b67f09SDavid van Moolenbroekgrep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
674*00b67f09SDavid van Moolenbroekgrep "CNAME	a-not-mapped.example." dig.out.ns2.test$n > /dev/null || ret=1
675*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
676*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
677*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
678*00b67f09SDavid van Moolenbroek
679*00b67f09SDavid van Moolenbroekecho "I: checking NODATA AAAA via CNAME lookup works, recursive only +norec ($n)"
680*00b67f09SDavid van Moolenbroekret=0
681*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS +norec cname-mx-only.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
682*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
683*00b67f09SDavid van Moolenbroekgrep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
684*00b67f09SDavid van Moolenbroekgrep "CNAME	mx-only.example." dig.out.ns2.test$n > /dev/null || ret=1
685*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
686*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
687*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
688*00b67f09SDavid van Moolenbroek
689*00b67f09SDavid van Moolenbroekecho "I: checking non-existent AAAA via CNAME lookup works, recursive only +norec ($n)"
690*00b67f09SDavid van Moolenbroekret=0
691*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS +norec cname-non-existent.example. @10.53.0.1 -b 10.53.0.1 aaaa > dig.out.ns2.test$n || ret=1
692*00b67f09SDavid van Moolenbroekgrep "status: NXDOMAIN" dig.out.ns2.test$n > /dev/null || ret=1
693*00b67f09SDavid van Moolenbroekgrep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
694*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
695*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
696*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
697*00b67f09SDavid van Moolenbroek
698*00b67f09SDavid van Moolenbroek# Check the example. domain from non client
699*00b67f09SDavid van Moolenbroek
700*00b67f09SDavid van Moolenbroekecho "I: checking non-excluded AAAA from non-client lookup works ($n)"
701*00b67f09SDavid van Moolenbroekret=0
702*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS aaaa-only.example. @10.53.0.2 -b 10.53.0.3 aaaa > dig.out.ns2.test$n || ret=1
703*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
704*00b67f09SDavid van Moolenbroekgrep "2001::2" dig.out.ns2.test$n > /dev/null || ret=1
705*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
706*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
707*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
708*00b67f09SDavid van Moolenbroek
709*00b67f09SDavid van Moolenbroekecho "I: checking excluded only AAAA from non-client lookup works ($n)"
710*00b67f09SDavid van Moolenbroekret=0
711*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS excluded-only.example. @10.53.0.2 -b 10.53.0.3 aaaa > dig.out.ns2.test$n || ret=1
712*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
713*00b67f09SDavid van Moolenbroekgrep "2001:eeee::3" dig.out.ns2.test$n > /dev/null || ret=1
714*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
715*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
716*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
717*00b67f09SDavid van Moolenbroek
718*00b67f09SDavid van Moolenbroekecho "I: checking excluded AAAA and non-mapped A from non-client lookup works ($n)"
719*00b67f09SDavid van Moolenbroekret=0
720*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS excluded-bad-a.example. @10.53.0.2 -b 10.53.0.3 aaaa > dig.out.ns2.test$n || ret=1
721*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
722*00b67f09SDavid van Moolenbroekgrep "2001:eeee::2" dig.out.ns2.test$n > /dev/null || ret=1
723*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
724*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
725*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
726*00b67f09SDavid van Moolenbroek
727*00b67f09SDavid van Moolenbroekecho "I: checking excluded only AAAA and mapped A from non-client lookup works ($n)"
728*00b67f09SDavid van Moolenbroekret=0
729*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS excluded-good-a.example. @10.53.0.2 -b 10.53.0.3 aaaa > dig.out.ns2.test$n || ret=1
730*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
731*00b67f09SDavid van Moolenbroekgrep "2001:eeee::1" dig.out.ns2.test$n > /dev/null || ret=1
732*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
733*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
734*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
735*00b67f09SDavid van Moolenbroek
736*00b67f09SDavid van Moolenbroekecho "I: checking AAAA only from non-client lookup works ($n)"
737*00b67f09SDavid van Moolenbroekret=0
738*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS aaaa-only.example. @10.53.0.2 -b 10.53.0.3 aaaa > dig.out.ns2.test$n || ret=1
739*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
740*00b67f09SDavid van Moolenbroekgrep "2001::2" dig.out.ns2.test$n > /dev/null || ret=1
741*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
742*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
743*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
744*00b67f09SDavid van Moolenbroek
745*00b67f09SDavid van Moolenbroekecho "I: checking A only from non-client lookup works ($n)"
746*00b67f09SDavid van Moolenbroekret=0
747*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS a-only.example. @10.53.0.2 -b 10.53.0.3 aaaa > dig.out.ns2.test$n || ret=1
748*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
749*00b67f09SDavid van Moolenbroekgrep "ANSWER: 0" dig.out.ns2.test$n > /dev/null || ret=1
750*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
751*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
752*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
753*00b67f09SDavid van Moolenbroek
754*00b67f09SDavid van Moolenbroekecho "I: checking A and AAAA from non-client lookup works ($n)"
755*00b67f09SDavid van Moolenbroekret=0
756*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS a-and-aaaa.example. @10.53.0.2 -b 10.53.0.3 aaaa > dig.out.ns2.test$n || ret=1
757*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
758*00b67f09SDavid van Moolenbroekgrep "2001::1" dig.out.ns2.test$n > /dev/null || ret=1
759*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
760*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
761*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
762*00b67f09SDavid van Moolenbroek
763*00b67f09SDavid van Moolenbroekecho "I: checking non-mapped A from non-client lookup works ($n)"
764*00b67f09SDavid van Moolenbroekret=0
765*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS a-not-mapped.example. @10.53.0.2 -b 10.53.0.3 aaaa > dig.out.ns2.test$n || ret=1
766*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
767*00b67f09SDavid van Moolenbroekgrep "ANSWER: 0" dig.out.ns2.test$n > /dev/null || ret=1
768*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
769*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
770*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
771*00b67f09SDavid van Moolenbroek
772*00b67f09SDavid van Moolenbroekecho "I: checking NODATA AAAA from non-client lookup works ($n)"
773*00b67f09SDavid van Moolenbroekret=0
774*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS mx-only.example. @10.53.0.2 -b 10.53.0.3 aaaa > dig.out.ns2.test$n || ret=1
775*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
776*00b67f09SDavid van Moolenbroekgrep "ANSWER: 0" dig.out.ns2.test$n > /dev/null || ret=1
777*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
778*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
779*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
780*00b67f09SDavid van Moolenbroek
781*00b67f09SDavid van Moolenbroekecho "I: checking non-existent AAAA from non-client lookup works ($n)"
782*00b67f09SDavid van Moolenbroekret=0
783*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS non-existent.example. @10.53.0.2 -b 10.53.0.3 aaaa > dig.out.ns2.test$n || ret=1
784*00b67f09SDavid van Moolenbroekgrep "status: NXDOMAIN" dig.out.ns2.test$n > /dev/null || ret=1
785*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
786*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
787*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
788*00b67f09SDavid van Moolenbroek
789*00b67f09SDavid van Moolenbroekecho "I: checking non-excluded AAAA via CNAME from non-client lookup works ($n)"
790*00b67f09SDavid van Moolenbroekret=0
791*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS cname-aaaa-only.example. @10.53.0.2 -b 10.53.0.3 aaaa > dig.out.ns2.test$n || ret=1
792*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
793*00b67f09SDavid van Moolenbroekgrep "2001::2" dig.out.ns2.test$n > /dev/null || ret=1
794*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
795*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
796*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
797*00b67f09SDavid van Moolenbroek
798*00b67f09SDavid van Moolenbroekecho "I: checking excluded only AAAA via CNAME from non-client lookup works ($n)"
799*00b67f09SDavid van Moolenbroekret=0
800*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS cname-excluded-only.example. @10.53.0.2 -b 10.53.0.3 aaaa > dig.out.ns2.test$n || ret=1
801*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
802*00b67f09SDavid van Moolenbroekgrep "2001:eeee::3" dig.out.ns2.test$n > /dev/null || ret=1
803*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
804*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
805*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
806*00b67f09SDavid van Moolenbroek
807*00b67f09SDavid van Moolenbroekecho "I: checking excluded AAAA and non-mapped A via CNAME from non-client lookup works ($n)"
808*00b67f09SDavid van Moolenbroekret=0
809*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS cname-excluded-bad-a.example. @10.53.0.2 -b 10.53.0.3 aaaa > dig.out.ns2.test$n || ret=1
810*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
811*00b67f09SDavid van Moolenbroekgrep "2001:eeee::2" dig.out.ns2.test$n > /dev/null || ret=1
812*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
813*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
814*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
815*00b67f09SDavid van Moolenbroek
816*00b67f09SDavid van Moolenbroekecho "I: checking excluded only AAAA and mapped A via CNAME from non-client lookup works ($n)"
817*00b67f09SDavid van Moolenbroekret=0
818*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS cname-excluded-good-a.example. @10.53.0.2 -b 10.53.0.3 aaaa > dig.out.ns2.test$n || ret=1
819*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
820*00b67f09SDavid van Moolenbroekgrep "2001:eeee::1" dig.out.ns2.test$n > /dev/null || ret=1
821*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
822*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
823*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
824*00b67f09SDavid van Moolenbroek
825*00b67f09SDavid van Moolenbroekecho "I: checking AAAA only via CNAME from non-client lookup works ($n)"
826*00b67f09SDavid van Moolenbroekret=0
827*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS cname-aaaa-only.example. @10.53.0.2 -b 10.53.0.3 aaaa > dig.out.ns2.test$n || ret=1
828*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
829*00b67f09SDavid van Moolenbroekgrep "2001::2" dig.out.ns2.test$n > /dev/null || ret=1
830*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
831*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
832*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
833*00b67f09SDavid van Moolenbroek
834*00b67f09SDavid van Moolenbroekecho "I: checking A only via CNAME from non-client lookup works ($n)"
835*00b67f09SDavid van Moolenbroekret=0
836*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS cname-a-only.example. @10.53.0.2 -b 10.53.0.3 aaaa > dig.out.ns2.test$n || ret=1
837*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
838*00b67f09SDavid van Moolenbroekgrep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
839*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
840*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
841*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
842*00b67f09SDavid van Moolenbroek
843*00b67f09SDavid van Moolenbroekecho "I: checking A and AAAA via CNAME from non-client lookup works ($n)"
844*00b67f09SDavid van Moolenbroekret=0
845*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS cname-a-and-aaaa.example. @10.53.0.2 -b 10.53.0.3 aaaa > dig.out.ns2.test$n || ret=1
846*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
847*00b67f09SDavid van Moolenbroekgrep "2001::1" dig.out.ns2.test$n > /dev/null || ret=1
848*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
849*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
850*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
851*00b67f09SDavid van Moolenbroek
852*00b67f09SDavid van Moolenbroekecho "I: checking non-mapped A via CNAME from non-client lookup works ($n)"
853*00b67f09SDavid van Moolenbroekret=0
854*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS cname-a-not-mapped.example. @10.53.0.2 -b 10.53.0.3 aaaa > dig.out.ns2.test$n || ret=1
855*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
856*00b67f09SDavid van Moolenbroekgrep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
857*00b67f09SDavid van Moolenbroekgrep "CNAME	a-not-mapped.example." dig.out.ns2.test$n > /dev/null || ret=1
858*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
859*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
860*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
861*00b67f09SDavid van Moolenbroek
862*00b67f09SDavid van Moolenbroekecho "I: checking NODATA AAAA via CNAME from non-client lookup works ($n)"
863*00b67f09SDavid van Moolenbroekret=0
864*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS cname-mx-only.example. @10.53.0.2 -b 10.53.0.3 aaaa > dig.out.ns2.test$n || ret=1
865*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
866*00b67f09SDavid van Moolenbroekgrep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
867*00b67f09SDavid van Moolenbroekgrep "CNAME	mx-only.example." dig.out.ns2.test$n > /dev/null || ret=1
868*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
869*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
870*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
871*00b67f09SDavid van Moolenbroek
872*00b67f09SDavid van Moolenbroekecho "I: checking non-existent AAAA via CNAME from non-client lookup works ($n)"
873*00b67f09SDavid van Moolenbroekret=0
874*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS cname-non-existent.example. @10.53.0.2 -b 10.53.0.3 aaaa > dig.out.ns2.test$n || ret=1
875*00b67f09SDavid van Moolenbroekgrep "status: NXDOMAIN" dig.out.ns2.test$n > /dev/null || ret=1
876*00b67f09SDavid van Moolenbroekgrep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
877*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
878*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
879*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
880*00b67f09SDavid van Moolenbroek
881*00b67f09SDavid van Moolenbroek# Check the signed. domain
882*00b67f09SDavid van Moolenbroek
883*00b67f09SDavid van Moolenbroekecho "I: checking non-excluded AAAA lookup is signed zone works ($n)"
884*00b67f09SDavid van Moolenbroekret=0
885*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS aaaa-only.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
886*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
887*00b67f09SDavid van Moolenbroekgrep "2001::2" dig.out.ns2.test$n > /dev/null || ret=1
888*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
889*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
890*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
891*00b67f09SDavid van Moolenbroek
892*00b67f09SDavid van Moolenbroekecho "I: checking excluded only AAAA lookup is signed zone works ($n)"
893*00b67f09SDavid van Moolenbroekret=0
894*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS excluded-only.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
895*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
896*00b67f09SDavid van Moolenbroekgrep "ANSWER: 0," dig.out.ns2.test$n > /dev/null || ret=1
897*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
898*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
899*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
900*00b67f09SDavid van Moolenbroek
901*00b67f09SDavid van Moolenbroekecho "I: checking excluded AAAA and non-mapped A lookup is signed zone works ($n)"
902*00b67f09SDavid van Moolenbroekret=0
903*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS excluded-bad-a.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
904*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
905*00b67f09SDavid van Moolenbroekgrep "ANSWER: 0," dig.out.ns2.test$n > /dev/null || ret=1
906*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
907*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
908*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
909*00b67f09SDavid van Moolenbroek
910*00b67f09SDavid van Moolenbroekecho "I: checking excluded only AAAA and mapped A lookup is signed zone works ($n)"
911*00b67f09SDavid van Moolenbroekret=0
912*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS excluded-good-a.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
913*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
914*00b67f09SDavid van Moolenbroekgrep "2001:aaaa::102:304" dig.out.ns2.test$n > /dev/null || ret=1
915*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
916*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
917*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
918*00b67f09SDavid van Moolenbroek
919*00b67f09SDavid van Moolenbroekecho "I: checking AAAA only lookup is signed zone works ($n)"
920*00b67f09SDavid van Moolenbroekret=0
921*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS aaaa-only.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
922*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
923*00b67f09SDavid van Moolenbroekgrep "2001::2" dig.out.ns2.test$n > /dev/null || ret=1
924*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
925*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
926*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
927*00b67f09SDavid van Moolenbroek
928*00b67f09SDavid van Moolenbroekecho "I: checking A only lookup is signed zone works ($n)"
929*00b67f09SDavid van Moolenbroekret=0
930*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS a-only.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
931*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
932*00b67f09SDavid van Moolenbroekgrep "2001:aaaa::102:305" dig.out.ns2.test$n > /dev/null || ret=1
933*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
934*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
935*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
936*00b67f09SDavid van Moolenbroek
937*00b67f09SDavid van Moolenbroekecho "I: checking A and AAAA lookup is signed zone works ($n)"
938*00b67f09SDavid van Moolenbroekret=0
939*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS a-and-aaaa.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
940*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
941*00b67f09SDavid van Moolenbroekgrep "2001::1" dig.out.ns2.test$n > /dev/null || ret=1
942*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
943*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
944*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
945*00b67f09SDavid van Moolenbroek
946*00b67f09SDavid van Moolenbroekecho "I: checking non-mapped A lookup is signed zone works ($n)"
947*00b67f09SDavid van Moolenbroekret=0
948*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS a-not-mapped.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
949*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
950*00b67f09SDavid van Moolenbroekgrep "ANSWER: 0" dig.out.ns2.test$n > /dev/null || ret=1
951*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
952*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
953*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
954*00b67f09SDavid van Moolenbroek
955*00b67f09SDavid van Moolenbroekecho "I: checking NODATA AAAA lookup is signed zone works ($n)"
956*00b67f09SDavid van Moolenbroekret=0
957*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS mx-only.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
958*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
959*00b67f09SDavid van Moolenbroekgrep "ANSWER: 0" dig.out.ns2.test$n > /dev/null || ret=1
960*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
961*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
962*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
963*00b67f09SDavid van Moolenbroek
964*00b67f09SDavid van Moolenbroekecho "I: checking non-existent AAAA lookup is signed zone works ($n)"
965*00b67f09SDavid van Moolenbroekret=0
966*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS non-existent.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
967*00b67f09SDavid van Moolenbroekgrep "status: NXDOMAIN" dig.out.ns2.test$n > /dev/null || ret=1
968*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
969*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
970*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
971*00b67f09SDavid van Moolenbroek
972*00b67f09SDavid van Moolenbroekecho "I: checking non-excluded AAAA via CNAME lookup is signed zone works ($n)"
973*00b67f09SDavid van Moolenbroekret=0
974*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS cname-aaaa-only.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
975*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
976*00b67f09SDavid van Moolenbroekgrep "2001::2" dig.out.ns2.test$n > /dev/null || ret=1
977*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
978*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
979*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
980*00b67f09SDavid van Moolenbroek
981*00b67f09SDavid van Moolenbroekecho "I: checking excluded only AAAA via CNAME lookup is signed zone works ($n)"
982*00b67f09SDavid van Moolenbroekret=0
983*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS cname-excluded-only.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
984*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
985*00b67f09SDavid van Moolenbroekgrep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
986*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
987*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
988*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
989*00b67f09SDavid van Moolenbroek
990*00b67f09SDavid van Moolenbroekecho "I: checking excluded AAAA and non-mapped A via CNAME lookup is signed zone works ($n)"
991*00b67f09SDavid van Moolenbroekret=0
992*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS cname-excluded-bad-a.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
993*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
994*00b67f09SDavid van Moolenbroekgrep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
995*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
996*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
997*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
998*00b67f09SDavid van Moolenbroek
999*00b67f09SDavid van Moolenbroekecho "I: checking excluded only AAAA and mapped A via CNAME lookup is signed zone works ($n)"
1000*00b67f09SDavid van Moolenbroekret=0
1001*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS cname-excluded-good-a.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
1002*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
1003*00b67f09SDavid van Moolenbroekgrep "2001:aaaa::102:304" dig.out.ns2.test$n > /dev/null || ret=1
1004*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
1005*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
1006*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
1007*00b67f09SDavid van Moolenbroek
1008*00b67f09SDavid van Moolenbroekecho "I: checking AAAA only via CNAME lookup is signed zone works ($n)"
1009*00b67f09SDavid van Moolenbroekret=0
1010*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS cname-aaaa-only.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
1011*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
1012*00b67f09SDavid van Moolenbroekgrep "2001::2" dig.out.ns2.test$n > /dev/null || ret=1
1013*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
1014*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
1015*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
1016*00b67f09SDavid van Moolenbroek
1017*00b67f09SDavid van Moolenbroekecho "I: checking A only via CNAME lookup is signed zone works ($n)"
1018*00b67f09SDavid van Moolenbroekret=0
1019*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS cname-a-only.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
1020*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
1021*00b67f09SDavid van Moolenbroekgrep "2001:aaaa::102:305" dig.out.ns2.test$n > /dev/null || ret=1
1022*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
1023*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
1024*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
1025*00b67f09SDavid van Moolenbroek
1026*00b67f09SDavid van Moolenbroekecho "I: checking A and AAAA via CNAME lookup is signed zone works ($n)"
1027*00b67f09SDavid van Moolenbroekret=0
1028*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS cname-a-and-aaaa.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
1029*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
1030*00b67f09SDavid van Moolenbroekgrep "2001::1" dig.out.ns2.test$n > /dev/null || ret=1
1031*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
1032*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
1033*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
1034*00b67f09SDavid van Moolenbroek
1035*00b67f09SDavid van Moolenbroekecho "I: checking non-mapped A via CNAME lookup is signed zone works ($n)"
1036*00b67f09SDavid van Moolenbroekret=0
1037*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS cname-a-not-mapped.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
1038*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
1039*00b67f09SDavid van Moolenbroekgrep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
1040*00b67f09SDavid van Moolenbroekgrep "CNAME	a-not-mapped.signed." dig.out.ns2.test$n > /dev/null || ret=1
1041*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
1042*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
1043*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
1044*00b67f09SDavid van Moolenbroek
1045*00b67f09SDavid van Moolenbroekecho "I: checking NODATA AAAA via CNAME lookup is signed zone works ($n)"
1046*00b67f09SDavid van Moolenbroekret=0
1047*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS cname-mx-only.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
1048*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
1049*00b67f09SDavid van Moolenbroekgrep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
1050*00b67f09SDavid van Moolenbroekgrep "CNAME	mx-only.signed." dig.out.ns2.test$n > /dev/null || ret=1
1051*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
1052*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
1053*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
1054*00b67f09SDavid van Moolenbroek
1055*00b67f09SDavid van Moolenbroekecho "I: checking non-existent AAAA via CNAME lookup is signed zone works ($n)"
1056*00b67f09SDavid van Moolenbroekret=0
1057*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS cname-non-existent.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
1058*00b67f09SDavid van Moolenbroekgrep "status: NXDOMAIN" dig.out.ns2.test$n > /dev/null || ret=1
1059*00b67f09SDavid van Moolenbroekgrep "ANSWER: 1," dig.out.ns2.test$n > /dev/null || ret=1
1060*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
1061*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
1062*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
1063*00b67f09SDavid van Moolenbroek
1064*00b67f09SDavid van Moolenbroek# Check the signed. domain
1065*00b67f09SDavid van Moolenbroekecho "I: checking non-excluded AAAA lookup is signed zone works with +dnssec ($n)"
1066*00b67f09SDavid van Moolenbroekret=0
1067*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS +dnssec aaaa-only.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
1068*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
1069*00b67f09SDavid van Moolenbroekgrep "2001::2" dig.out.ns2.test$n > /dev/null || ret=1
1070*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
1071*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
1072*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
1073*00b67f09SDavid van Moolenbroek
1074*00b67f09SDavid van Moolenbroekecho "I: checking excluded only AAAA lookup is signed zone works with +dnssec ($n)"
1075*00b67f09SDavid van Moolenbroekret=0
1076*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS +dnssec excluded-only.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
1077*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
1078*00b67f09SDavid van Moolenbroekgrep "2001:eeee::3" dig.out.ns2.test$n > /dev/null || ret=1
1079*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
1080*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
1081*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
1082*00b67f09SDavid van Moolenbroek
1083*00b67f09SDavid van Moolenbroekecho "I: checking excluded AAAA and non-mapped A lookup is signed zone works with +dnssec ($n)"
1084*00b67f09SDavid van Moolenbroekret=0
1085*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS +dnssec excluded-bad-a.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
1086*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
1087*00b67f09SDavid van Moolenbroekgrep "2001:eeee::2" dig.out.ns2.test$n > /dev/null || ret=1
1088*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
1089*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
1090*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
1091*00b67f09SDavid van Moolenbroek
1092*00b67f09SDavid van Moolenbroekecho "I: checking excluded only AAAA and mapped A lookup is signed zone works with +dnssec ($n)"
1093*00b67f09SDavid van Moolenbroekret=0
1094*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS +dnssec excluded-good-a.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
1095*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
1096*00b67f09SDavid van Moolenbroekgrep "2001:eeee::1" dig.out.ns2.test$n > /dev/null || ret=1
1097*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
1098*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
1099*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
1100*00b67f09SDavid van Moolenbroek
1101*00b67f09SDavid van Moolenbroekecho "I: checking AAAA only lookup is signed zone works with +dnssec ($n)"
1102*00b67f09SDavid van Moolenbroekret=0
1103*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS +dnssec aaaa-only.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
1104*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
1105*00b67f09SDavid van Moolenbroekgrep "2001::2" dig.out.ns2.test$n > /dev/null || ret=1
1106*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
1107*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
1108*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
1109*00b67f09SDavid van Moolenbroek
1110*00b67f09SDavid van Moolenbroekecho "I: checking A only lookup is signed zone works with +dnssec ($n)"
1111*00b67f09SDavid van Moolenbroekret=0
1112*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS +dnssec a-only.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
1113*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
1114*00b67f09SDavid van Moolenbroekgrep "ANSWER: 0," dig.out.ns2.test$n > /dev/null || ret=1
1115*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
1116*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
1117*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
1118*00b67f09SDavid van Moolenbroek
1119*00b67f09SDavid van Moolenbroekecho "I: checking A and AAAA lookup is signed zone works with +dnssec ($n)"
1120*00b67f09SDavid van Moolenbroekret=0
1121*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS +dnssec a-and-aaaa.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
1122*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
1123*00b67f09SDavid van Moolenbroekgrep "2001::1" dig.out.ns2.test$n > /dev/null || ret=1
1124*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
1125*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
1126*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
1127*00b67f09SDavid van Moolenbroek
1128*00b67f09SDavid van Moolenbroekecho "I: checking non-mapped A lookup is signed zone works with +dnssec ($n)"
1129*00b67f09SDavid van Moolenbroekret=0
1130*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS +dnssec a-not-mapped.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
1131*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
1132*00b67f09SDavid van Moolenbroekgrep "ANSWER: 0" dig.out.ns2.test$n > /dev/null || ret=1
1133*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
1134*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
1135*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
1136*00b67f09SDavid van Moolenbroek
1137*00b67f09SDavid van Moolenbroekecho "I: checking NODATA AAAA lookup is signed zone works with +dnssec ($n)"
1138*00b67f09SDavid van Moolenbroekret=0
1139*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS +dnssec mx-only.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
1140*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
1141*00b67f09SDavid van Moolenbroekgrep "ANSWER: 0" dig.out.ns2.test$n > /dev/null || ret=1
1142*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
1143*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
1144*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
1145*00b67f09SDavid van Moolenbroek
1146*00b67f09SDavid van Moolenbroekecho "I: checking non-existent AAAA lookup is signed zone works with +dnssec ($n)"
1147*00b67f09SDavid van Moolenbroekret=0
1148*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS +dnssec non-existent.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
1149*00b67f09SDavid van Moolenbroekgrep "status: NXDOMAIN" dig.out.ns2.test$n > /dev/null || ret=1
1150*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
1151*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
1152*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
1153*00b67f09SDavid van Moolenbroek
1154*00b67f09SDavid van Moolenbroekecho "I: checking non-excluded AAAA via CNAME lookup is signed zone works with +dnssec ($n)"
1155*00b67f09SDavid van Moolenbroekret=0
1156*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS +dnssec cname-aaaa-only.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
1157*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
1158*00b67f09SDavid van Moolenbroekgrep "2001::2" dig.out.ns2.test$n > /dev/null || ret=1
1159*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
1160*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
1161*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
1162*00b67f09SDavid van Moolenbroek
1163*00b67f09SDavid van Moolenbroekecho "I: checking excluded only AAAA via CNAME lookup is signed zone works with +dnssec ($n)"
1164*00b67f09SDavid van Moolenbroekret=0
1165*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS +dnssec cname-excluded-only.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
1166*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
1167*00b67f09SDavid van Moolenbroekgrep "2001:eeee::3" dig.out.ns2.test$n > /dev/null || ret=1
1168*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
1169*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
1170*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
1171*00b67f09SDavid van Moolenbroek
1172*00b67f09SDavid van Moolenbroekecho "I: checking excluded AAAA and non-mapped A via CNAME lookup is signed zone works with +dnssec ($n)"
1173*00b67f09SDavid van Moolenbroekret=0
1174*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS +dnssec cname-excluded-bad-a.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
1175*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
1176*00b67f09SDavid van Moolenbroekgrep "2001:eeee::2" dig.out.ns2.test$n > /dev/null || ret=1
1177*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
1178*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
1179*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
1180*00b67f09SDavid van Moolenbroek
1181*00b67f09SDavid van Moolenbroekecho "I: checking excluded only AAAA and mapped A via CNAME lookup is signed zone works with +dnssec ($n)"
1182*00b67f09SDavid van Moolenbroekret=0
1183*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS +dnssec cname-excluded-good-a.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
1184*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
1185*00b67f09SDavid van Moolenbroekgrep "2001:eeee::1" dig.out.ns2.test$n > /dev/null || ret=1
1186*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
1187*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
1188*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
1189*00b67f09SDavid van Moolenbroek
1190*00b67f09SDavid van Moolenbroekecho "I: checking AAAA only via CNAME lookup is signed zone works with +dnssec ($n)"
1191*00b67f09SDavid van Moolenbroekret=0
1192*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS +dnssec cname-aaaa-only.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
1193*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
1194*00b67f09SDavid van Moolenbroekgrep "2001::2" dig.out.ns2.test$n > /dev/null || ret=1
1195*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
1196*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
1197*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
1198*00b67f09SDavid van Moolenbroek
1199*00b67f09SDavid van Moolenbroekecho "I: checking A only via CNAME lookup is signed zone works with +dnssec ($n)"
1200*00b67f09SDavid van Moolenbroekret=0
1201*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS +dnssec cname-a-only.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
1202*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
1203*00b67f09SDavid van Moolenbroekgrep "ANSWER: 2," dig.out.ns2.test$n > /dev/null || ret=1
1204*00b67f09SDavid van Moolenbroekgrep "2001:aaaa::102:305" dig.out.ns2.test$n > /dev/null && ret=1
1205*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
1206*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
1207*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
1208*00b67f09SDavid van Moolenbroek
1209*00b67f09SDavid van Moolenbroekecho "I: checking A and AAAA via CNAME lookup is signed zone works with +dnssec ($n)"
1210*00b67f09SDavid van Moolenbroekret=0
1211*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS +dnssec cname-a-and-aaaa.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
1212*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
1213*00b67f09SDavid van Moolenbroekgrep "2001::1" dig.out.ns2.test$n > /dev/null || ret=1
1214*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
1215*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
1216*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
1217*00b67f09SDavid van Moolenbroek
1218*00b67f09SDavid van Moolenbroekecho "I: checking non-mapped A via CNAME lookup is signed zone works with +dnssec ($n)"
1219*00b67f09SDavid van Moolenbroekret=0
1220*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS +dnssec cname-a-not-mapped.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
1221*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
1222*00b67f09SDavid van Moolenbroekgrep "ANSWER: 2" dig.out.ns2.test$n > /dev/null || ret=1
1223*00b67f09SDavid van Moolenbroekgrep "CNAME	a-not-mapped.signed." dig.out.ns2.test$n > /dev/null || ret=1
1224*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
1225*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
1226*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
1227*00b67f09SDavid van Moolenbroek
1228*00b67f09SDavid van Moolenbroekecho "I: checking NODATA AAAA via CNAME lookup is signed zone works with +dnssec ($n)"
1229*00b67f09SDavid van Moolenbroekret=0
1230*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS +dnssec cname-mx-only.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
1231*00b67f09SDavid van Moolenbroekgrep "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
1232*00b67f09SDavid van Moolenbroekgrep "ANSWER: 2," dig.out.ns2.test$n > /dev/null || ret=1
1233*00b67f09SDavid van Moolenbroekgrep "CNAME	mx-only.signed." dig.out.ns2.test$n > /dev/null || ret=1
1234*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
1235*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
1236*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
1237*00b67f09SDavid van Moolenbroek
1238*00b67f09SDavid van Moolenbroekecho "I: checking non-existent AAAA via CNAME lookup is signed zone works with +dnssec ($n)"
1239*00b67f09SDavid van Moolenbroekret=0
1240*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS +dnssec cname-non-existent.signed. @10.53.0.2 -b 10.53.0.2 aaaa > dig.out.ns2.test$n || ret=1
1241*00b67f09SDavid van Moolenbroekgrep "status: NXDOMAIN" dig.out.ns2.test$n > /dev/null || ret=1
1242*00b67f09SDavid van Moolenbroekgrep "ANSWER: 2," dig.out.ns2.test$n > /dev/null || ret=1
1243*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
1244*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
1245*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
1246*00b67f09SDavid van Moolenbroek
1247*00b67f09SDavid van Moolenbroekecho "I: checking reverse mapping ($n)"
1248*00b67f09SDavid van Moolenbroekret=0
1249*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS -x 2001:aaaa::10.0.0.1 @10.53.0.2 > dig.out.ns2.test$n || ret=1
1250*00b67f09SDavid van Moolenbroekgrep -i "CNAME.1.0.0.10.IN-ADDR.ARPA.$" dig.out.ns2.test$n > /dev/null || ret=1
1251*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
1252*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
1253*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
1254*00b67f09SDavid van Moolenbroek
1255*00b67f09SDavid van Moolenbroeklist=`$DIG $DIGOPTS -b 10.53.0.6 @10.53.0.2 +short aaaa a-only.example | sort`
1256*00b67f09SDavid van Moolenbroekfor a in $list
1257*00b67f09SDavid van Moolenbroekdo
1258*00b67f09SDavid van Moolenbroek	ret=0
1259*00b67f09SDavid van Moolenbroek	echo "I: checking reverse mapping of $a ($n)"
1260*00b67f09SDavid van Moolenbroek	$DIG $DIGOPTS -x $a @10.53.0.2 > dig.out.ns2.test$n || ret=1
1261*00b67f09SDavid van Moolenbroek	grep -i "CNAME.5.3.2.1.IN-ADDR.ARPA." dig.out.ns2.test$n > /dev/null || ret=1
1262*00b67f09SDavid van Moolenbroek	n=`expr $n + 1`
1263*00b67f09SDavid van Moolenbroek	if [ $ret != 0 ]; then echo "I:failed"; fi
1264*00b67f09SDavid van Moolenbroek	status=`expr $status + $ret`
1265*00b67f09SDavid van Moolenbroekdone
1266*00b67f09SDavid van Moolenbroek
1267*00b67f09SDavid van Moolenbroekrev=`$ARPANAME 2001:aaaa::10.0.0.1`
1268*00b67f09SDavid van Moolenbroekregex='..\(.*.IP6.ARPA\)'
1269*00b67f09SDavid van Moolenbroekrev=`expr "${rev}" : "${regex}"`
1270*00b67f09SDavid van Moolenbroekfin=`expr "${rev}" : "............${regex}"`
1271*00b67f09SDavid van Moolenbroekwhile test "${rev}" != "${fin}"
1272*00b67f09SDavid van Moolenbroekdo
1273*00b67f09SDavid van Moolenbroek	ret=0
1274*00b67f09SDavid van Moolenbroek	echo "I: checking $rev ($n)"
1275*00b67f09SDavid van Moolenbroek	$DIG $DIGOPTS $rev ptr @10.53.0.2 > dig.out.ns2.test$n || ret=1
1276*00b67f09SDavid van Moolenbroek	grep -i "status: NOERROR" dig.out.ns2.test$n > /dev/null || ret=1
1277*00b67f09SDavid van Moolenbroek	grep -i "ANSWER: 0," dig.out.ns2.test$n > /dev/null || ret=1
1278*00b67f09SDavid van Moolenbroek	n=`expr $n + 1`
1279*00b67f09SDavid van Moolenbroek	if [ $ret != 0 ]; then echo "I:failed"; fi
1280*00b67f09SDavid van Moolenbroek	status=`expr $status + $ret`
1281*00b67f09SDavid van Moolenbroek	rev=`expr "${rev}" : "${regex}"`
1282*00b67f09SDavid van Moolenbroekdone
1283*00b67f09SDavid van Moolenbroek
1284*00b67f09SDavid van Moolenbroekecho "I: checking dns64-server and dns64-contact ($n)"
1285*00b67f09SDavid van Moolenbroekret=0
1286*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS soa 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.a.a.a.a.1.0.0.2.ip6.arpa @10.53.0.2 > dig.out.ns2.test$n || ret=1
1287*00b67f09SDavid van Moolenbroekgrep "SOA.dns64.example.net..hostmaster.example.net." dig.out.ns2.test$n > /dev/null || ret=1
1288*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
1289*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
1290*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
1291*00b67f09SDavid van Moolenbroek
1292*00b67f09SDavid van Moolenbroekecho "I: checking TTL less than 600 from zone ($n)"
1293*00b67f09SDavid van Moolenbroekret=0
1294*00b67f09SDavid van Moolenbroek#expect 500
1295*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS aaaa ttl-less-than-600.example +rec @10.53.0.1 > dig.out.ns1.test$n || ret=1
1296*00b67f09SDavid van Moolenbroekgrep -i "ttl-less-than-600.example..500.IN.AAAA" dig.out.ns1.test$n >/dev/null || ret=1
1297*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
1298*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
1299*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
1300*00b67f09SDavid van Moolenbroek
1301*00b67f09SDavid van Moolenbroekecho "I: checking TTL more than 600 from zone ($n)"
1302*00b67f09SDavid van Moolenbroekret=0
1303*00b67f09SDavid van Moolenbroek#expect 700
1304*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS aaaa ttl-more-than-600.example +rec @10.53.0.1 > dig.out.ns1.test$n || ret=1
1305*00b67f09SDavid van Moolenbroekgrep -i "ttl-more-than-600.example..700.IN.AAAA" dig.out.ns1.test$n >/dev/null || ret=1
1306*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
1307*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
1308*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
1309*00b67f09SDavid van Moolenbroek
1310*00b67f09SDavid van Moolenbroekecho "I: checking TTL less than minimum from zone ($n)"
1311*00b67f09SDavid van Moolenbroekret=0
1312*00b67f09SDavid van Moolenbroek#expect 1100
1313*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS aaaa ttl-less-than-minimum.example +rec @10.53.0.1 > dig.out.ns1.test$n || ret=1
1314*00b67f09SDavid van Moolenbroekgrep -i "ttl-less-than-minimum.example..1100.IN.AAAA" dig.out.ns1.test$n >/dev/null || ret=1
1315*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
1316*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
1317*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
1318*00b67f09SDavid van Moolenbroek
1319*00b67f09SDavid van Moolenbroekecho "I: checking TTL limited to minimum from zone ($n)"
1320*00b67f09SDavid van Moolenbroekret=0
1321*00b67f09SDavid van Moolenbroek#expect 1200
1322*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS aaaa ttl-more-than-minimum.example +rec @10.53.0.1 > dig.out.ns1.test$n || ret=1
1323*00b67f09SDavid van Moolenbroekgrep -i "ttl-more-than-minimum.example..1200.IN.AAAA" dig.out.ns1.test$n >/dev/null || ret=1
1324*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
1325*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
1326*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
1327*00b67f09SDavid van Moolenbroek
1328*00b67f09SDavid van Moolenbroekecho "I: checking TTL less than 600 via cache ($n)"
1329*00b67f09SDavid van Moolenbroekret=0
1330*00b67f09SDavid van Moolenbroek#expect 500
1331*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS aaaa ttl-less-than-600.example +rec -b 10.53.0.2 @10.53.0.2 > dig.out.ns1.test$n || ret=1
1332*00b67f09SDavid van Moolenbroekgrep -i "ttl-less-than-600.example..500.IN.AAAA" dig.out.ns1.test$n >/dev/null || ret=1
1333*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
1334*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
1335*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
1336*00b67f09SDavid van Moolenbroek
1337*00b67f09SDavid van Moolenbroekecho "I: checking TTL more than 600 via cache ($n)"
1338*00b67f09SDavid van Moolenbroekret=0
1339*00b67f09SDavid van Moolenbroek#expect 700
1340*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS aaaa ttl-more-than-600.example +rec -b 10.53.0.2 @10.53.0.2 > dig.out.ns2.test$n || ret=1
1341*00b67f09SDavid van Moolenbroekgrep -i "ttl-more-than-600.example..700.IN.AAAA" dig.out.ns2.test$n >/dev/null || ret=1
1342*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
1343*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
1344*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
1345*00b67f09SDavid van Moolenbroek
1346*00b67f09SDavid van Moolenbroekecho "I: checking TTL less than minimum via cache ($n)"
1347*00b67f09SDavid van Moolenbroekret=0
1348*00b67f09SDavid van Moolenbroek#expect 1100
1349*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS aaaa ttl-less-than-minimum.example +rec -b 10.53.0.2 @10.53.0.2 > dig.out.ns2.test$n || ret=1
1350*00b67f09SDavid van Moolenbroekgrep -i "ttl-less-than-minimum.example..1100.IN.AAAA" dig.out.ns2.test$n >/dev/null || ret=1
1351*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
1352*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
1353*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
1354*00b67f09SDavid van Moolenbroek
1355*00b67f09SDavid van Moolenbroekecho "I: checking TTL limited to minimum via cache ($n)"
1356*00b67f09SDavid van Moolenbroekret=0
1357*00b67f09SDavid van Moolenbroek#expect 1200
1358*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS aaaa ttl-more-than-minimum.example +rec -b 10.53.0.2 @10.53.0.2 > dig.out.ns2.test$n || ret=1
1359*00b67f09SDavid van Moolenbroekgrep -i "ttl-more-than-minimum.example..1200.IN.AAAA" dig.out.ns2.test$n >/dev/null || ret=1
1360*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
1361*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
1362*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
1363*00b67f09SDavid van Moolenbroek
1364*00b67f09SDavid van Moolenbroekecho "I: checking synthesis of AAAA from RPZ-remapped A ($n)"
1365*00b67f09SDavid van Moolenbroekret=0
1366*00b67f09SDavid van Moolenbroek$DIG $DIGOPTS aaaa rpz.example +rec -b 10.53.0.7 @10.53.0.2 > dig.out.ns2.test$n || ret=1
1367*00b67f09SDavid van Moolenbroekgrep -i 'rpz.example.*IN.AAAA.2001:96::a0a:a0a' dig.out.ns2.test$n >/dev/null || ret=1
1368*00b67f09SDavid van Moolenbroekn=`expr $n + 1`
1369*00b67f09SDavid van Moolenbroekif [ $ret != 0 ]; then echo "I:failed"; fi
1370*00b67f09SDavid van Moolenbroekstatus=`expr $status + $ret`
1371*00b67f09SDavid van Moolenbroek
1372*00b67f09SDavid van Moolenbroekecho "I:exit status: $status"
1373*00b67f09SDavid van Moolenbroekexit $status
1374