]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - testdata/ttl_msg.rpl
import unbound 1.5.9
[FreeBSD/FreeBSD.git] / testdata / ttl_msg.rpl
1 ; config options
2 ; fetch all extra targets - we want to trigger a lookup in cache
3 server:
4         target-fetch-policy: "-1 -1 -1 -1 -1"
5         access-control: 127.0.0.1 allow_snoop
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 TTL countdown on messages in the cache
13
14 ; K.ROOT-SERVERS.NET.
15 RANGE_BEGIN 0 100
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 A
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
41 ENTRY_BEGIN
42 MATCH opcode qtype qname
43 ADJUST copy_id
44 REPLY QR AA NOERROR
45 SECTION QUESTION
46 a.gtld-servers.net.     IN A
47 SECTION ANSWER
48 a.gtld-servers.net.     IN A    192.5.6.30
49 ENTRY_END
50
51 ENTRY_BEGIN
52 MATCH opcode qtype qname
53 ADJUST copy_id
54 REPLY QR AA NOERROR
55 SECTION QUESTION
56 K.ROOT-SERVERS.NET.     IN      A
57 SECTION ANSWER
58 K.ROOT-SERVERS.NET.     IN      A       193.0.14.129
59 ENTRY_END
60
61 ENTRY_BEGIN
62 MATCH opcode qtype qname
63 ADJUST copy_id
64 REPLY QR AA NOERROR
65 SECTION QUESTION
66 a.gtld-servers.net.     IN AAAA
67 SECTION AUTHORITY
68 . 86400 IN SOA . . 20070304 28800 7200 604800 86400
69 ENTRY_END
70
71 ENTRY_BEGIN
72 MATCH opcode qtype qname
73 ADJUST copy_id
74 REPLY QR AA NOERROR
75 SECTION QUESTION
76 K.ROOT-SERVERS.NET.     IN      AAAA
77 SECTION AUTHORITY
78 . 86400 IN SOA . . 20070304 28800 7200 604800 86400
79 ENTRY_END
80
81 RANGE_END
82
83 ; a.gtld-servers.net.
84 RANGE_BEGIN 0 100
85         ADDRESS 192.5.6.30
86 ENTRY_BEGIN
87 MATCH opcode qtype qname
88 ADJUST copy_id
89 REPLY QR NOERROR
90 SECTION QUESTION
91 com. IN NS
92 SECTION ANSWER
93 com.    IN NS   a.gtld-servers.net.
94 SECTION ADDITIONAL
95 a.gtld-servers.net.     IN      A       192.5.6.30
96 ENTRY_END
97
98 ENTRY_BEGIN
99 MATCH opcode subdomain
100 ADJUST copy_id copy_query
101 REPLY QR NOERROR
102 SECTION QUESTION
103 example.com. IN A
104 SECTION AUTHORITY
105 example.com.    IN NS   ns.example.com.
106 SECTION ADDITIONAL
107 ns.example.com.         IN      A       1.2.3.4
108 ENTRY_END
109
110 ENTRY_BEGIN
111 MATCH opcode subdomain
112 ADJUST copy_id copy_query
113 REPLY QR NOERROR
114 SECTION QUESTION
115 foo.com. IN A
116 SECTION AUTHORITY
117 foo.com.        IN NS   ns.foo.com.
118 ;foo.com.       IN NS   nx1.example.com.
119 SECTION ADDITIONAL
120 ns.foo.com.             IN      A       1.2.5.6
121 ENTRY_END
122 RANGE_END
123
124 ; ns.foo.com
125 RANGE_BEGIN 0 100
126         ADDRESS 1.2.5.6
127
128 ENTRY_BEGIN
129 MATCH opcode qtype qname
130 ADJUST copy_id
131 REPLY QR AA NOERROR
132 SECTION QUESTION
133 foo.com. IN NS
134 SECTION ANSWER
135 foo.com.        IN NS   ns.foo.com.
136 ;foo.com.       IN NS   nx1.example.com.
137 SECTION ADDITIONAL
138 ns.foo.com.             IN      A       1.2.5.6
139 ENTRY_END
140
141 ENTRY_BEGIN
142 MATCH opcode qtype qname
143 ADJUST copy_id
144 REPLY QR AA NOERROR
145 SECTION QUESTION
146 www.foo.com. IN A
147 SECTION ANSWER
148 ;www.foo.com.           IN      A       1.2.5.6
149 www.foo.com.    IN CNAME  nx1.example.com.
150 ENTRY_END
151
152 ENTRY_BEGIN
153 MATCH opcode qtype qname
154 ADJUST copy_id
155 REPLY QR AA NOERROR
156 SECTION QUESTION
157 ns.foo.com. IN A
158 SECTION ANSWER
159 ns.foo.com.             IN      A       1.2.5.6
160 ENTRY_END
161
162 ENTRY_BEGIN
163 MATCH opcode qtype qname
164 ADJUST copy_id
165 REPLY QR AA NOERROR
166 SECTION QUESTION
167 ns.foo.com. IN AAAA
168 SECTION AUTHORITY
169 foo.com.  IN SOA . . 1 2 3 4 3600
170 ENTRY_END
171 RANGE_END
172
173 ; ns.example.com. --- serial=15
174 RANGE_BEGIN 0 20
175         ADDRESS 1.2.3.4
176 ENTRY_BEGIN
177 MATCH opcode qtype qname
178 ADJUST copy_id
179 REPLY QR NOERROR
180 SECTION QUESTION
181 example.com. IN NS
182 SECTION ANSWER
183 example.com.    IN NS   ns.example.com.
184 SECTION ADDITIONAL
185 ns.example.com.         IN      A       1.2.3.4
186 ENTRY_END
187
188 ENTRY_BEGIN
189 MATCH opcode qtype qname
190 ADJUST copy_id
191 REPLY QR AA NOERROR
192 SECTION QUESTION
193 ns.example.com. IN A
194 SECTION ANSWER
195 ns.example.com.         IN      A       1.2.3.4
196 SECTION AUTHORITY
197 example.com.    IN NS   ns.example.com.
198 ENTRY_END
199
200 ENTRY_BEGIN
201 MATCH opcode qtype qname
202 ADJUST copy_id
203 REPLY QR NOERROR
204 SECTION QUESTION
205 www.example.com. IN A
206 SECTION ANSWER
207 www.example.com. IN A   10.20.30.40
208 SECTION AUTHORITY
209 example.com.    IN NS   ns.example.com.
210 SECTION ADDITIONAL
211 ns.example.com.         IN      A       1.2.3.4
212 ENTRY_END
213
214 ENTRY_BEGIN
215 MATCH opcode qtype qname
216 ADJUST copy_id
217 REPLY QR AA NOERROR
218 SECTION QUESTION
219 ns.example.com. IN AAAA
220 SECTION AUTHORITY
221 example.com. 10 IN SOA . . 15 28800 7200 604800 10
222 ENTRY_END
223
224 ENTRY_BEGIN
225 MATCH opcode qtype qname
226 ADJUST copy_id
227 REPLY QR AA NXDOMAIN
228 SECTION QUESTION
229 nx1.example.com. IN A
230 SECTION ANSWER
231 SECTION AUTHORITY
232 example.com. 10 IN SOA . . 15 28800 7200 604800 10
233 SECTION ADDITIONAL
234 ENTRY_END
235
236 ENTRY_BEGIN
237 MATCH opcode qtype qname
238 ADJUST copy_id
239 REPLY QR AA NXDOMAIN
240 SECTION QUESTION
241 nx2.example.com. IN A
242 SECTION ANSWER
243 SECTION AUTHORITY
244 example.com. 10 IN SOA . . 15 28800 7200 604800 10
245 SECTION ADDITIONAL
246 ENTRY_END
247
248 RANGE_END
249
250 ; ns.example.com. --- serial=17
251 RANGE_BEGIN 20 100
252         ADDRESS 1.2.3.4
253 ENTRY_BEGIN
254 MATCH opcode qtype qname
255 ADJUST copy_id
256 REPLY QR NOERROR
257 SECTION QUESTION
258 example.com. IN NS
259 SECTION ANSWER
260 example.com.    IN NS   ns.example.com.
261 SECTION ADDITIONAL
262 ns.example.com.         IN      A       1.2.3.4
263 ENTRY_END
264
265 ENTRY_BEGIN
266 MATCH opcode qtype qname
267 ADJUST copy_id
268 REPLY QR AA NOERROR
269 SECTION QUESTION
270 ns.example.com. IN A
271 SECTION ANSWER
272 ns.example.com.         IN      A       1.2.3.4
273 SECTION AUTHORITY
274 example.com.    IN NS   ns.example.com.
275 ENTRY_END
276
277 ENTRY_BEGIN
278 MATCH opcode qtype qname
279 ADJUST copy_id
280 REPLY QR NOERROR
281 SECTION QUESTION
282 www.example.com. IN A
283 SECTION ANSWER
284 www.example.com. IN A   10.20.30.40
285 SECTION AUTHORITY
286 example.com.    IN NS   ns.example.com.
287 SECTION ADDITIONAL
288 ns.example.com.         IN      A       1.2.3.4
289 ENTRY_END
290
291 ENTRY_BEGIN
292 MATCH opcode qtype qname
293 ADJUST copy_id
294 REPLY QR AA NOERROR
295 SECTION QUESTION
296 ns.example.com. IN AAAA
297 SECTION AUTHORITY
298 example.com. 10 IN SOA . . 17 28800 7200 604800 10
299 ENTRY_END
300
301 ENTRY_BEGIN
302 MATCH opcode qtype qname
303 ADJUST copy_id
304 REPLY QR AA NXDOMAIN
305 SECTION QUESTION
306 nx1.example.com. IN A
307 SECTION ANSWER
308 SECTION AUTHORITY
309 example.com. 10 IN SOA . . 17 28800 7200 604800 10
310 SECTION ADDITIONAL
311 ENTRY_END
312
313 ENTRY_BEGIN
314 MATCH opcode qtype qname
315 ADJUST copy_id
316 REPLY QR AA NXDOMAIN
317 SECTION QUESTION
318 nx2.example.com. IN A
319 SECTION ANSWER
320 SECTION AUTHORITY
321 example.com. 10 IN SOA . . 17 28800 7200 604800 10
322 SECTION ADDITIONAL
323 ENTRY_END
324
325 RANGE_END
326
327 ; start by passing time ; so we are not at 0
328 STEP 1 TIME_PASSES ELAPSE 10
329
330 ; query for NXDOMAIN
331 STEP 8 QUERY
332 ENTRY_BEGIN
333 REPLY RD CD
334 SECTION QUESTION
335 nx1.example.com. IN A
336 ENTRY_END
337
338 STEP 10 CHECK_ANSWER
339 ENTRY_BEGIN
340 MATCH all ttl
341 REPLY QR RD RA NXDOMAIN CD
342 SECTION QUESTION
343 nx1.example.com. IN A
344 SECTION ANSWER
345 SECTION AUTHORITY
346 example.com. 10 IN SOA . . 15 28800 7200 604800 10
347 SECTION ADDITIONAL
348 ENTRY_END
349
350 ; wait for 5 seconds
351 STEP 20 TIME_PASSES ELAPSE 5
352
353 ; do a lookup for nx1.example.com just to check TTLs...
354 STEP 25 QUERY
355 ENTRY_BEGIN
356 REPLY RD CD
357 SECTION QUESTION
358 nx1.example.com. IN A
359 ENTRY_END
360 STEP 26 CHECK_ANSWER
361 ENTRY_BEGIN
362 MATCH all ttl
363 REPLY QR RD RA NXDOMAIN CD
364 SECTION QUESTION
365 nx1.example.com. IN A
366 SECTION ANSWER
367 SECTION AUTHORITY
368 example.com. 5 IN SOA . . 15 28800 7200 604800 10
369 SECTION ADDITIONAL
370 ENTRY_END
371
372 ; cause a lookup that refreshes the TTL on the SOA record
373 STEP 30 QUERY
374 ENTRY_BEGIN
375 REPLY RD
376 SECTION QUESTION
377 nx2.example.com. IN A
378 ENTRY_END
379 STEP 31 CHECK_ANSWER
380 ENTRY_BEGIN
381 MATCH all ttl
382 REPLY QR RD RA NXDOMAIN
383 SECTION QUESTION
384 nx2.example.com. IN A
385 SECTION ANSWER
386 SECTION AUTHORITY
387 example.com. 10 IN SOA . . 17 28800 7200 604800 10
388 SECTION ADDITIONAL
389 ENTRY_END
390
391 ; do a lookup for nx1.example.com to check TTLs updated
392 STEP 35 QUERY
393 ENTRY_BEGIN
394 REPLY RD CD
395 SECTION QUESTION
396 nx1.example.com. IN A
397 ENTRY_END
398 STEP 36 CHECK_ANSWER
399 ENTRY_BEGIN
400 MATCH all ttl
401 REPLY QR RD RA NXDOMAIN CD
402 SECTION QUESTION
403 nx1.example.com. IN A
404 SECTION ANSWER
405 SECTION AUTHORITY
406 example.com. 10 IN SOA . . 17 28800 7200 604800 10
407 SECTION ADDITIONAL
408 ENTRY_END
409
410 ; cause a lookup for nx1.example.com bypassing the cache.
411 ; with bug; this causes msg ttl for nx1 to be time(NOW)+ttl.
412 ; so 15+5 = 20
413 ; visiable in debug log as "msg ttl is %d"
414 STEP 40 QUERY
415 ENTRY_BEGIN
416 REPLY RD
417 SECTION QUESTION
418 www.foo.com. IN A
419 ENTRY_END
420 STEP 41 CHECK_ANSWER
421 ENTRY_BEGIN
422 MATCH all ttl
423 REPLY QR RD RA NXDOMAIN
424 SECTION QUESTION
425 www.foo.com. IN A
426 SECTION ANSWER
427 ;www.foo.com IN A 1.2.5.6
428 www.foo.com IN CNAME nx1.example.com.
429 SECTION AUTHORITY
430 example.com. 10 IN SOA . . 17 28800 7200 604800 10
431 ENTRY_END
432
433 ; now cause lookup from cache by not passing CD flag
434 ; (validator has a look, and stores after iterator cache lookup).
435 STEP 45 QUERY
436 ENTRY_BEGIN
437 REPLY RD
438 SECTION QUESTION
439 nx1.example.com. IN A
440 ENTRY_END
441 STEP 46 CHECK_ANSWER
442 ENTRY_BEGIN
443 MATCH all ttl
444 REPLY QR RD RA NXDOMAIN
445 SECTION QUESTION
446 nx1.example.com. IN A
447 SECTION ANSWER
448 SECTION AUTHORITY
449 example.com. 10 IN SOA . . 17 28800 7200 604800 10
450 SECTION ADDITIONAL
451 ENTRY_END
452
453 ; the message should timeout in 5 seconds, wait 7
454 STEP 50 TIME_PASSES ELAPSE 7
455
456 ; it is still there? (nonRD query)
457 STEP 55 QUERY
458 ENTRY_BEGIN
459 REPLY 
460 SECTION QUESTION
461 nx1.example.com. IN A
462 ENTRY_END
463
464 ; this answer is the bug - NXDOMAIN too long in the cache.
465 ;STEP 56 CHECK_ANSWER
466 ;ENTRY_BEGIN
467 ;MATCH all ttl
468 ;REPLY QR RA NXDOMAIN
469 ;SECTION QUESTION
470 ;nx1.example.com. IN A
471 ;SECTION ANSWER
472 ;SECTION AUTHORITY
473 ;example.com. 3 IN SOA . . 17 28800 7200 604800 10
474 ;SECTION ADDITIONAL
475 ;ENTRY_END
476
477 ; Now the correct answer: no such cached query.
478 STEP 56 CHECK_ANSWER
479 ENTRY_BEGIN
480 MATCH all
481 REPLY QR RA NOERROR
482 SECTION QUESTION
483 nx1.example.com. IN A
484 SECTION ANSWER
485 SECTION AUTHORITY
486 example.com.    IN NS   ns.example.com.
487 SECTION ADDITIONAL
488 ns.example.com.         IN      A       1.2.3.4
489 ENTRY_END
490
491 SCENARIO_END