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