]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - testdata/iter_prefetch_fail.rpl
Vendor import of Unbound 1.6.3.
[FreeBSD/FreeBSD.git] / testdata / iter_prefetch_fail.rpl
1 ; config options
2 server:
3         target-fetch-policy: "0 0 0 0 0"
4         prefetch: "yes"
5
6 stub-zone:
7         name: "."
8         stub-addr: 193.0.14.129         # K.ROOT-SERVERS.NET.
9 CONFIG_END
10
11 SCENARIO_BEGIN Test resolver prefetch where it fails to fetch
12
13 ; K.ROOT-SERVERS.NET.
14 RANGE_BEGIN 0 200
15         ADDRESS 193.0.14.129 
16 ENTRY_BEGIN
17 MATCH opcode qtype qname
18 ADJUST copy_id
19 REPLY QR NOERROR
20 SECTION QUESTION
21 . IN NS
22 SECTION ANSWER
23 . IN NS K.ROOT-SERVERS.NET.
24 SECTION ADDITIONAL
25 K.ROOT-SERVERS.NET.     IN      A       193.0.14.129
26 ENTRY_END
27
28 ENTRY_BEGIN
29 MATCH opcode subdomain
30 ADJUST copy_id copy_query
31 REPLY QR NOERROR
32 SECTION QUESTION
33 com. IN NS
34 SECTION AUTHORITY
35 com.    IN NS   a.gtld-servers.net.
36 SECTION ADDITIONAL
37 a.gtld-servers.net.     IN      A       192.5.6.30
38 ENTRY_END
39 RANGE_END
40
41 ; a.gtld-servers.net.
42 RANGE_BEGIN 0 200
43         ADDRESS 192.5.6.30
44 ENTRY_BEGIN
45 MATCH opcode qtype qname
46 ADJUST copy_id
47 REPLY QR NOERROR
48 SECTION QUESTION
49 com. IN NS
50 SECTION ANSWER
51 com.    IN NS   a.gtld-servers.net.
52 SECTION ADDITIONAL
53 a.gtld-servers.net.     IN      A       192.5.6.30
54 ENTRY_END
55
56 ENTRY_BEGIN
57 MATCH opcode subdomain
58 ADJUST copy_id copy_query
59 REPLY QR NOERROR
60 SECTION QUESTION
61 example.com. IN NS
62 SECTION AUTHORITY
63 example.com.    IN NS   ns.example.com.
64 SECTION ADDITIONAL
65 ns.example.com.         IN      A       1.2.3.4
66 ENTRY_END
67 RANGE_END
68
69 ; ns.example.com.
70 RANGE_BEGIN 0 40
71         ADDRESS 1.2.3.4
72 ENTRY_BEGIN
73 MATCH opcode qtype qname
74 ADJUST copy_id
75 REPLY QR NOERROR
76 SECTION QUESTION
77 example.com. IN NS
78 SECTION ANSWER
79 example.com.    IN NS   ns.example.com.
80 SECTION ADDITIONAL
81 ns.example.com.         IN      A       1.2.3.4
82 ENTRY_END
83
84 ENTRY_BEGIN
85 MATCH opcode qtype qname
86 ADJUST copy_id
87 REPLY QR NOERROR
88 SECTION QUESTION
89 ns.example.com. IN AAAA
90 SECTION ANSWER
91 SECTION AUTHORITY
92 example.com.    IN SOA  ns.example.com. hostmaster.example.com. 1 2 3 4 5
93 ENTRY_END
94
95 ENTRY_BEGIN
96 MATCH opcode qtype qname
97 ADJUST copy_id
98 REPLY QR NOERROR
99 SECTION QUESTION
100 ns.example.com. IN A
101 SECTION ANSWER
102 ns.example.com.         IN      A       1.2.3.4
103 ENTRY_END
104
105 ENTRY_BEGIN
106 MATCH opcode qtype qname
107 ADJUST copy_id
108 REPLY QR NOERROR
109 SECTION QUESTION
110 www.example.com. IN A
111 SECTION ANSWER
112 www.example.com. 3600 IN A      10.20.30.40
113 SECTION AUTHORITY
114 example.com.    3600 IN NS      ns.example.com.
115 SECTION ADDITIONAL
116 ns.example.com. 3600    IN      A       1.2.3.4
117 ENTRY_END
118 RANGE_END
119
120 ; ns.example.com.
121 RANGE_BEGIN 50 100
122         ADDRESS 1.2.3.4
123 ENTRY_BEGIN
124 MATCH opcode qtype qname
125 ADJUST copy_id
126 REPLY QR NOERROR
127 SECTION QUESTION
128 example.com. IN NS
129 SECTION ANSWER
130 example.com.    IN NS   ns.example.com.
131 SECTION ADDITIONAL
132 ns.example.com.         IN      A       1.2.3.4
133 ENTRY_END
134
135 ENTRY_BEGIN
136 MATCH opcode qtype qname
137 ADJUST copy_id
138 REPLY QR NOERROR
139 SECTION QUESTION
140 ns.example.com. IN A
141 SECTION ANSWER
142 ns.example.com.         IN      A       1.2.3.4
143 ENTRY_END
144
145 ENTRY_BEGIN
146 MATCH opcode qtype qname
147 ADJUST copy_id
148 REPLY QR NOERROR
149 SECTION QUESTION
150 ns.example.com. IN AAAA
151 SECTION ANSWER
152 SECTION AUTHORITY
153 example.com.    IN SOA  ns.example.com. hostmaster.example.com. 1 2 3 4 5
154 ENTRY_END
155
156 ENTRY_BEGIN
157 MATCH opcode qtype qname
158 ADJUST copy_id
159 REPLY QR AA SERVFAIL
160 SECTION QUESTION
161 www.example.com. IN A
162 ;SECTION ANSWER
163 ;www.example.com. 3600 IN A     10.20.30.40
164 ;SECTION AUTHORITY
165 ;example.com.   3600 IN NS      ns.example.com.
166 ;SECTION ADDITIONAL
167 ;ns.example.com.        3600    IN      A       1.2.3.4
168 ENTRY_END
169 RANGE_END
170
171 ; note ns.example.com range for steps 100 - 160 is not entered
172 ; no queries should be sent there
173
174 ; ns.example.com.
175 RANGE_BEGIN 160 200
176         ADDRESS 1.2.3.4
177 ENTRY_BEGIN
178 MATCH opcode qtype qname
179 ADJUST copy_id
180 REPLY QR NOERROR
181 SECTION QUESTION
182 example.com. IN NS
183 SECTION ANSWER
184 example.com.    IN NS   ns.example.com.
185 SECTION ADDITIONAL
186 ns.example.com.         IN      A       1.2.3.4
187 ENTRY_END
188
189 ENTRY_BEGIN
190 MATCH opcode qtype qname
191 ADJUST copy_id
192 REPLY QR NOERROR
193 SECTION QUESTION
194 ns.example.com. IN AAAA
195 SECTION ANSWER
196 SECTION AUTHORITY
197 example.com.    IN SOA  ns.example.com. hostmaster.example.com. 1 2 3 4 5
198 ENTRY_END
199
200 ENTRY_BEGIN
201 MATCH opcode qtype qname
202 ADJUST copy_id
203 REPLY QR NOERROR
204 SECTION QUESTION
205 ns.example.com. IN A
206 SECTION ANSWER
207 ns.example.com.         IN      A       1.2.3.4
208 ENTRY_END
209
210 ENTRY_BEGIN
211 MATCH opcode qtype qname
212 ADJUST copy_id
213 REPLY QR NOERROR
214 SECTION QUESTION
215 www.example.com. IN A
216 SECTION ANSWER
217 www.example.com. 3600 IN A      10.20.30.40
218 SECTION AUTHORITY
219 example.com.    3600 IN NS      ns.example.com.
220 SECTION ADDITIONAL
221 ns.example.com. 3600    IN      A       1.2.3.4
222 ENTRY_END
223 RANGE_END
224
225 STEP 1 QUERY
226 ENTRY_BEGIN
227 REPLY RD
228 SECTION QUESTION
229 www.example.com. IN A
230 ENTRY_END
231
232 ; recursion happens here.
233 STEP 10 CHECK_ANSWER
234 ENTRY_BEGIN
235 MATCH all ttl
236 REPLY QR RD RA NOERROR
237 SECTION QUESTION
238 www.example.com. IN A
239 SECTION ANSWER
240 www.example.com. 3600 IN A      10.20.30.40
241 SECTION AUTHORITY
242 example.com.    3600 IN NS      ns.example.com.
243 SECTION ADDITIONAL
244 ns.example.com. 3600    IN      A       1.2.3.4
245 ENTRY_END
246
247 ; after 1800 secs still the cached answer
248 STEP 20 TIME_PASSES ELAPSE 1800
249
250 STEP 30 QUERY
251 ENTRY_BEGIN
252 REPLY RD
253 SECTION QUESTION
254 www.example.com. IN A
255 ENTRY_END
256 ; recursion happens here.
257 STEP 40 CHECK_ANSWER
258 ENTRY_BEGIN
259 MATCH all ttl
260 REPLY QR RD RA NOERROR
261 SECTION QUESTION
262 www.example.com. IN A
263 SECTION ANSWER
264 www.example.com. 1800 IN A      10.20.30.40
265 SECTION AUTHORITY
266 example.com.    1800 IN NS      ns.example.com.
267 SECTION ADDITIONAL
268 ns.example.com. 1800    IN      A       1.2.3.4
269 ENTRY_END
270
271 ; after 1440 we are 360 seconds before the expiry
272 ; (the authority changes behind the scenes to detect new lookup)
273 STEP 50 TIME_PASSES ELAPSE 1440
274
275 STEP 60 QUERY
276 ENTRY_BEGIN
277 REPLY RD
278 SECTION QUESTION
279 www.example.com. IN A
280 ENTRY_END
281 ; recursion happens here.
282 STEP 70 CHECK_ANSWER
283 ENTRY_BEGIN
284 MATCH all ttl
285 REPLY QR RD RA NOERROR
286 SECTION QUESTION
287 www.example.com. IN A
288 SECTION ANSWER
289 www.example.com. 360 IN A       10.20.30.40
290 SECTION AUTHORITY
291 example.com.    360 IN NS       ns.example.com.
292 SECTION ADDITIONAL
293 ns.example.com. 360     IN      A       1.2.3.4
294 ENTRY_END
295 STEP 80 TRAFFIC
296 ; let traffic flow for prefetch to happen
297
298 ; above a cache reply with 10% of the original TTL
299 ; but the actual cache could have been updated, try to get that
300 STEP 120 QUERY
301 ENTRY_BEGIN
302 REPLY RD
303 SECTION QUESTION
304 www.example.com. IN A
305 ENTRY_END
306 ; recursion happens here.
307 STEP 130 CHECK_ANSWER
308 ENTRY_BEGIN
309 MATCH all ttl
310 REPLY QR RD RA NOERROR
311 SECTION QUESTION
312 www.example.com. IN A
313 SECTION ANSWER
314 www.example.com. 360 IN A       10.20.30.40
315 SECTION AUTHORITY
316 example.com.    360 IN NS       ns.example.com.
317 SECTION ADDITIONAL
318 ; this is picked up from the parent (because this simulation has the
319 ; parent respond with servfail, not actually timeout)
320 ns.example.com. 3600    IN      A       1.2.3.4
321 ENTRY_END
322
323 ; another query to see if there is another lookup towards the authority
324 ; the server should not send too many queries towards the authority
325 STEP 140 QUERY
326 ENTRY_BEGIN
327 REPLY RD
328 SECTION QUESTION
329 www.example.com. IN A
330 ENTRY_END
331 ; recursion happens here.
332 STEP 150 CHECK_ANSWER
333 ENTRY_BEGIN
334 MATCH all ttl
335 REPLY QR RD RA NOERROR
336 SECTION QUESTION
337 www.example.com. IN A
338 SECTION ANSWER
339 www.example.com. 360 IN A       10.20.30.40
340 SECTION AUTHORITY
341 example.com.    360 IN NS       ns.example.com.
342 SECTION ADDITIONAL
343 ns.example.com. 3600    IN      A       1.2.3.4
344 ENTRY_END
345
346 ; some time later another query, and now it is fine to bother the authority
347 ; with another lookup attempt.
348 STEP 160 TIME_PASSES ELAPSE 30
349 ; so we are now 330 seconds before expiry.
350 STEP 170 QUERY
351 ENTRY_BEGIN
352 REPLY RD
353 SECTION QUESTION
354 www.example.com. IN A
355 ENTRY_END
356 ; recursion happens here.
357 STEP 180 CHECK_ANSWER
358 ENTRY_BEGIN
359 MATCH all ttl
360 REPLY QR RD RA NOERROR
361 SECTION QUESTION
362 www.example.com. IN A
363 SECTION ANSWER
364 www.example.com. 330 IN A       10.20.30.40
365 SECTION AUTHORITY
366 example.com.    330 IN NS       ns.example.com.
367 SECTION ADDITIONAL
368 ns.example.com. 3570    IN      A       1.2.3.4
369 ENTRY_END
370 ; now the just-looked-up entry
371 STEP 190 QUERY
372 ENTRY_BEGIN
373 REPLY RD
374 SECTION QUESTION
375 www.example.com. IN A
376 ENTRY_END
377 ; recursion happens here.
378 STEP 200 CHECK_ANSWER
379 ENTRY_BEGIN
380 MATCH all ttl
381 REPLY QR RD RA NOERROR
382 SECTION QUESTION
383 www.example.com. IN A
384 SECTION ANSWER
385 www.example.com. 3600 IN A      10.20.30.40
386 SECTION AUTHORITY
387 example.com.    3600 IN NS      ns.example.com.
388 SECTION ADDITIONAL
389 ns.example.com. 3570    IN      A       1.2.3.4
390 ENTRY_END
391
392
393 SCENARIO_END