]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - testdata/iter_domain_sale_nschange.rpl
Import unbound 1.4.20
[FreeBSD/FreeBSD.git] / testdata / iter_domain_sale_nschange.rpl
1 ; config options
2 server:
3         target-fetch-policy: "0 0 0 0 0"
4
5 stub-zone:
6         name: "."
7         stub-addr: 193.0.14.129         # K.ROOT-SERVERS.NET.
8 CONFIG_END
9
10 SCENARIO_BEGIN Test resolver with a domain sale and NS changes
11 ; and the old operator is nasty, keeps running his server with the old data.
12 ; and lots of lookups keep going towards the domain.
13 ; and the old server is changing the NS record of the old domain.
14
15 ; K.ROOT-SERVERS.NET.
16 RANGE_BEGIN 0 100
17         ADDRESS 193.0.14.129 
18 ENTRY_BEGIN
19 MATCH opcode qtype qname
20 ADJUST copy_id
21 REPLY QR NOERROR
22 SECTION QUESTION
23 . IN NS
24 SECTION ANSWER
25 . IN NS K.ROOT-SERVERS.NET.
26 SECTION ADDITIONAL
27 K.ROOT-SERVERS.NET.     IN      A       193.0.14.129
28 ENTRY_END
29
30 ENTRY_BEGIN
31 MATCH opcode subdomain
32 ADJUST copy_id copy_query
33 REPLY QR NOERROR
34 SECTION QUESTION
35 com. IN A
36 SECTION AUTHORITY
37 com.    IN NS   a.gtld-servers.net.
38 SECTION ADDITIONAL
39 a.gtld-servers.net.     IN      A       192.5.6.30
40 ENTRY_END
41 RANGE_END
42
43 ; a.gtld-servers.net. (before sale of domain)
44 RANGE_BEGIN 0 20
45         ADDRESS 192.5.6.30
46 ENTRY_BEGIN
47 MATCH opcode qtype qname
48 ADJUST copy_id
49 REPLY QR NOERROR
50 SECTION QUESTION
51 com. IN NS
52 SECTION ANSWER
53 com.    IN NS   a.gtld-servers.net.
54 SECTION ADDITIONAL
55 a.gtld-servers.net.     IN      A       192.5.6.30
56 ENTRY_END
57
58 ENTRY_BEGIN
59 MATCH opcode subdomain
60 ADJUST copy_id copy_query
61 REPLY QR NOERROR
62 SECTION QUESTION
63 example.com. IN A
64 SECTION AUTHORITY
65 example.com.    IN NS   ns.example.com.
66 SECTION ADDITIONAL
67 ns.example.com.         IN      A       1.2.3.4
68 ENTRY_END
69 RANGE_END
70
71 ; a.gtld-servers.net. (after sale of domain)
72 RANGE_BEGIN 30 200
73         ADDRESS 192.5.6.30
74 ENTRY_BEGIN
75 MATCH opcode qtype qname
76 ADJUST copy_id
77 REPLY QR NOERROR
78 SECTION QUESTION
79 com. IN NS
80 SECTION ANSWER
81 com.    IN NS   a.gtld-servers.net.
82 SECTION ADDITIONAL
83 a.gtld-servers.net.     IN      A       192.5.6.30
84 ENTRY_END
85
86 ENTRY_BEGIN
87 MATCH opcode subdomain
88 ADJUST copy_id copy_query
89 REPLY QR NOERROR
90 SECTION QUESTION
91 example.com. IN A
92 SECTION AUTHORITY
93 example.com.    IN NS   ns.example.com.
94 SECTION ADDITIONAL
95 ns.example.com.         IN      A       8.8.8.8
96 ENTRY_END
97 RANGE_END
98
99 ; ns.example.com. first owner
100 RANGE_BEGIN 0 30
101         ADDRESS 1.2.3.4
102 ENTRY_BEGIN
103 MATCH opcode qtype qname
104 ADJUST copy_id
105 REPLY QR AA NOERROR
106 SECTION QUESTION
107 example.com. IN NS
108 SECTION ANSWER
109 example.com.    IN NS   ns.example.com.
110 SECTION ADDITIONAL
111 ns.example.com.         IN      A       1.2.3.4
112 ENTRY_END
113
114 ENTRY_BEGIN
115 MATCH opcode qname
116 ADJUST copy_id copy_query
117 REPLY QR AA NOERROR
118 SECTION QUESTION
119 www.example.com. IN A
120 SECTION ANSWER
121 www.example.com. 3600 IN A      10.20.30.40
122 SECTION AUTHORITY
123 example.com.    3600 IN NS      ns.example.com.
124 SECTION ADDITIONAL
125 ns.example.com. 3600    IN      A       1.2.3.4
126 ENTRY_END
127
128 ; nxdomains for any name,type
129 ; last in RANGE so that it matches everything left over.
130 ; it includes the NS record.
131 ENTRY_BEGIN
132 MATCH opcode
133 ADJUST copy_id copy_query
134 REPLY QR AA NXDOMAIN
135 SECTION QUESTION
136 www.example.com. IN A
137 SECTION ANSWER
138 SECTION AUTHORITY
139 example.com.    3600 IN SOA     a. b. 1 2 3 4 5
140 example.com.    3600 IN NS      ns.example.com.
141 SECTION ADDITIONAL
142 ns.example.com. 3600    IN      A       1.2.3.4
143 ENTRY_END
144 RANGE_END
145
146 ; ns.example.com. first owner, NS changed
147 RANGE_BEGIN 40 200
148         ADDRESS 1.2.3.4
149 ENTRY_BEGIN
150 MATCH opcode qtype qname
151 ADJUST copy_id
152 REPLY QR AA NOERROR
153 SECTION QUESTION
154 example.com. IN NS
155 SECTION ANSWER
156 example.com.    IN NS   nsb.example.com.
157 SECTION ADDITIONAL
158 nsb.example.com.                IN      A       1.2.3.4
159 ENTRY_END
160
161 ENTRY_BEGIN
162 MATCH opcode qname
163 ADJUST copy_id copy_query
164 REPLY QR AA NOERROR
165 SECTION QUESTION
166 www.example.com. IN A
167 SECTION ANSWER
168 www.example.com. 3600 IN A      10.20.30.40
169 SECTION AUTHORITY
170 example.com.    3600 IN NS      nsb.example.com.
171 SECTION ADDITIONAL
172 nsb.example.com.        3600    IN      A       1.2.3.4
173 ENTRY_END
174
175 ; nxdomains for any name,type
176 ; last in RANGE so that it matches everything left over.
177 ; it includes the NS record.
178 ENTRY_BEGIN
179 MATCH opcode
180 ADJUST copy_id copy_query
181 REPLY QR AA NXDOMAIN
182 SECTION QUESTION
183 www.example.com. IN A
184 SECTION ANSWER
185 SECTION AUTHORITY
186 example.com.    3600 IN SOA     a. b. 1 2 3 4 5
187 example.com.    3600 IN NS      nsb.example.com.
188 SECTION ADDITIONAL
189 nsb.example.com.        3600    IN      A       1.2.3.4
190 ENTRY_END
191 RANGE_END
192
193 ; ns.example.com. new owner
194 RANGE_BEGIN 0 200
195         ADDRESS 8.8.8.8
196 ENTRY_BEGIN
197 MATCH opcode qtype qname
198 ADJUST copy_id
199 REPLY QR AA NOERROR
200 SECTION QUESTION
201 example.com. IN NS
202 SECTION ANSWER
203 example.com.    IN NS   ns.example.com.
204 SECTION ADDITIONAL
205 ns.example.com.         IN      A       8.8.8.8
206 ENTRY_END
207
208 ENTRY_BEGIN
209 MATCH opcode qtype qname
210 ADJUST copy_id
211 REPLY QR AA NOERROR
212 SECTION QUESTION
213 www.example.com. IN A
214 SECTION ANSWER
215 www.example.com. 3600 IN A      88.88.88.88
216 SECTION AUTHORITY
217 example.com.    3600 IN NS      ns.example.com.
218 SECTION ADDITIONAL
219 ns.example.com. 3600    IN      A       8.8.8.8
220 ENTRY_END
221 RANGE_END
222
223 ; Fetch the old record from the old owner.
224 STEP 1 QUERY
225 ENTRY_BEGIN
226 REPLY RD
227 SECTION QUESTION
228 www.example.com. IN A
229 ENTRY_END
230 ; recursion happens here.
231 STEP 5 CHECK_ANSWER
232 ENTRY_BEGIN
233 MATCH all ttl
234 REPLY QR RD RA NOERROR
235 SECTION QUESTION
236 www.example.com. IN A
237 SECTION ANSWER
238 www.example.com. 3600 IN A      10.20.30.40
239 SECTION AUTHORITY
240 example.com.    3600 IN NS      ns.example.com.
241 SECTION ADDITIONAL
242 ns.example.com. 3600    IN      A       1.2.3.4
243 ENTRY_END
244
245 ; the domain is sold (right at this time).
246 ; but the information stays in the cache.
247
248 ; after 1800 secs still the cached answer
249 STEP 20 TIME_PASSES ELAPSE 1800
250
251 STEP 30 QUERY
252 ENTRY_BEGIN
253 REPLY RD
254 SECTION QUESTION
255 www.example.com. IN A
256 ENTRY_END
257 ; recursion happens here.
258 STEP 40 CHECK_ANSWER
259 ENTRY_BEGIN
260 MATCH all ttl
261 REPLY QR RD RA NOERROR
262 SECTION QUESTION
263 www.example.com. IN A
264 SECTION ANSWER
265 www.example.com. 1800 IN A      10.20.30.40
266 SECTION AUTHORITY
267 example.com.    1800 IN NS      ns.example.com.
268 SECTION ADDITIONAL
269 ns.example.com. 1800    IN      A       1.2.3.4
270 ENTRY_END
271
272 ; and ask another query
273 STEP 50 QUERY 
274 ENTRY_BEGIN
275 REPLY RD
276 SECTION QUESTION
277 nx1.example.com. IN A
278 ENTRY_END
279 ; recursion happens here.
280 STEP 60 CHECK_ANSWER
281 ENTRY_BEGIN
282 MATCH all ttl
283 REPLY QR RD RA NXDOMAIN
284 SECTION QUESTION
285 nx1.example.com. IN A
286 SECTION ANSWER
287 SECTION AUTHORITY
288 example.com.    3600 IN SOA     a. b. 1 2 3 4 5
289 example.com.    3600 IN NS      nsb.example.com.
290 SECTION ADDITIONAL
291 nsb.example.com.        3600    IN      A       1.2.3.4
292 ENTRY_END
293
294 STEP 62 QUERY 
295 ENTRY_BEGIN
296 REPLY RD
297 SECTION QUESTION
298 nx1.example.com. IN A
299 ENTRY_END
300 ; recursion happens here.
301 STEP 63 CHECK_ANSWER
302 ENTRY_BEGIN
303 MATCH all ttl
304 REPLY QR RD RA NXDOMAIN
305 SECTION QUESTION
306 nx1.example.com. IN A
307 SECTION ANSWER
308 SECTION AUTHORITY
309 example.com.    3600 IN SOA     a. b. 1 2 3 4 5
310 example.com.    1800 IN NS      nsb.example.com.
311 SECTION ADDITIONAL
312 nsb.example.com.        3600    IN      A       1.2.3.4
313 ENTRY_END
314
315 ; after another 1900 seconds the domain must have timed out.
316 STEP 70 TIME_PASSES ELAPSE 1900
317
318 ; the NS record should have timed out.
319 STEP 80 QUERY
320 ENTRY_BEGIN
321 REPLY RD
322 SECTION QUESTION
323 www.example.com. IN A
324 ENTRY_END
325 ; recursion happens here.
326 STEP 90 CHECK_ANSWER
327 ENTRY_BEGIN
328 MATCH all ttl
329 REPLY QR RD RA NOERROR
330 SECTION QUESTION
331 www.example.com. IN A
332 SECTION ANSWER
333 www.example.com. 3600 IN A      88.88.88.88
334 SECTION AUTHORITY
335 example.com.    3600 IN NS      ns.example.com.
336 SECTION ADDITIONAL
337 ns.example.com. 3600    IN      A       8.8.8.8
338 ENTRY_END
339
340 SCENARIO_END