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