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 and a moved domain 14 ; for bug #425. 15 16 ; K.ROOT-SERVERS.NET. 17 RANGE_BEGIN 0 500 18 ADDRESS 193.0.14.129 19 ENTRY_BEGIN 20 MATCH opcode qtype qname 21 ADJUST copy_id 22 REPLY QR NOERROR 23 SECTION QUESTION 24 . IN NS 25 SECTION ANSWER 26 . 86400 IN NS K.ROOT-SERVERS.NET. 27 SECTION ADDITIONAL 28 K.ROOT-SERVERS.NET. 86400 IN A 193.0.14.129 29 ENTRY_END 30 31 ENTRY_BEGIN 32 MATCH opcode subdomain 33 ADJUST copy_id copy_query 34 REPLY QR NOERROR 35 SECTION QUESTION 36 com. IN A 37 SECTION AUTHORITY 38 com. 86400 IN NS a.gtld-servers.net. 39 SECTION ADDITIONAL 40 a.gtld-servers.net. 86400 IN A 192.5.6.30 41 ENTRY_END 42 RANGE_END 43 44 ; a.gtld-servers.net. (before sale of domain) 45 RANGE_BEGIN 0 30 46 ADDRESS 192.5.6.30 47 ENTRY_BEGIN 48 MATCH opcode qtype qname 49 ADJUST copy_id 50 REPLY QR NOERROR 51 SECTION QUESTION 52 com. IN NS 53 SECTION ANSWER 54 com. 86400 IN NS a.gtld-servers.net. 55 SECTION ADDITIONAL 56 a.gtld-servers.net. 86400 IN A 192.5.6.30 57 ENTRY_END 58 59 ENTRY_BEGIN 60 MATCH opcode subdomain 61 ADJUST copy_id copy_query 62 REPLY QR NOERROR 63 SECTION QUESTION 64 example.com. IN A 65 SECTION AUTHORITY 66 example.com. 86400 IN NS old-ns.example.com. 67 SECTION ADDITIONAL 68 old-ns.example.com. 86400 IN A 192.168.0.1 69 ENTRY_END 70 RANGE_END 71 72 ; a.gtld-servers.net. (after sale of domain) 73 RANGE_BEGIN 40 500 74 ADDRESS 192.5.6.30 75 ENTRY_BEGIN 76 MATCH opcode qtype qname 77 ADJUST copy_id 78 REPLY QR NOERROR 79 SECTION QUESTION 80 com. IN NS 81 SECTION ANSWER 82 com. 86400 IN NS a.gtld-servers.net. 83 SECTION ADDITIONAL 84 a.gtld-servers.net. 86400 IN A 192.5.6.30 85 ENTRY_END 86 87 ENTRY_BEGIN 88 MATCH opcode subdomain 89 ADJUST copy_id copy_query 90 REPLY QR NOERROR 91 SECTION QUESTION 92 example.com. IN A 93 SECTION AUTHORITY 94 example.com. 86400 IN NS new-ns.example.com. 95 SECTION ADDITIONAL 96 new-ns.example.com. 86400 IN A 172.16.0.1 97 ENTRY_END 98 RANGE_END 99 100 ; ns.example.com. first owner 101 RANGE_BEGIN 0 500 102 ADDRESS 192.168.0.1 103 ENTRY_BEGIN 104 MATCH opcode qtype qname 105 ADJUST copy_id 106 REPLY QR AA NOERROR 107 SECTION QUESTION 108 example.com. IN NS 109 SECTION ANSWER 110 example.com. 86400 IN NS old-ns.example.com. 111 SECTION ADDITIONAL 112 old-ns.example.com. 86400 IN A 192.168.0.1 113 ENTRY_END 114 115 ENTRY_BEGIN 116 MATCH opcode qtype qname 117 ADJUST copy_id 118 REPLY QR AA NOERROR 119 SECTION QUESTION 120 www.example.com. IN A 121 SECTION ANSWER 122 www.example.com. 3600 IN A 10.1.1.1 123 SECTION AUTHORITY 124 example.com. 86400 IN NS old-ns.example.com. 125 SECTION ADDITIONAL 126 old-ns.example.com. 86400 IN A 192.168.0.1 127 ENTRY_END 128 RANGE_END 129 130 ; ns.example.com. new owner 131 RANGE_BEGIN 0 500 132 ADDRESS 172.16.0.1 133 ENTRY_BEGIN 134 MATCH opcode qtype qname 135 ADJUST copy_id 136 REPLY QR AA NOERROR 137 SECTION QUESTION 138 example.com. IN NS 139 SECTION ANSWER 140 example.com. 86400 IN NS new-ns.example.com. 141 SECTION ADDITIONAL 142 new-ns.example.com. 86400 IN A 172.16.0.1 143 ENTRY_END 144 145 ENTRY_BEGIN 146 MATCH opcode qtype qname 147 ADJUST copy_id 148 REPLY QR AA NOERROR 149 SECTION QUESTION 150 old-ns.example.com. IN A 151 SECTION ANSWER 152 old-ns.example.com. 86400 IN A 172.16.0.1 153 SECTION AUTHORITY 154 example.com. 86400 IN NS new-ns.example.com. 155 SECTION ADDITIONAL 156 new-ns.example.com. 86400 IN A 172.16.0.1 157 ENTRY_END 158 159 ENTRY_BEGIN 160 MATCH opcode qtype qname 161 ADJUST copy_id 162 REPLY QR AA NOERROR 163 SECTION QUESTION 164 www.example.com. IN A 165 SECTION ANSWER 166 www.example.com. 3600 IN A 10.2.2.2 167 SECTION AUTHORITY 168 example.com. 86400 IN NS new-ns.example.com. 169 SECTION ADDITIONAL 170 new-ns.example.com. 86400 IN A 172.16.0.1 171 ENTRY_END 172 RANGE_END 173 174 STEP 1 QUERY 175 ENTRY_BEGIN 176 REPLY RD 177 SECTION QUESTION 178 www.example.com. IN A 179 ENTRY_END 180 ; recursion happens here. 181 STEP 10 CHECK_ANSWER 182 ENTRY_BEGIN 183 MATCH all ttl 184 REPLY QR RD RA NOERROR 185 SECTION QUESTION 186 www.example.com. IN A 187 SECTION ANSWER 188 www.example.com. 3600 IN A 10.1.1.1 189 SECTION AUTHORITY 190 example.com. 86400 IN NS old-ns.example.com. 191 SECTION ADDITIONAL 192 old-ns.example.com. 86400 IN A 192.168.0.1 193 ENTRY_END 194 195 ; after 1800 secs still the cached answer 196 STEP 20 TIME_PASSES ELAPSE 1800 197 198 STEP 30 QUERY 199 ENTRY_BEGIN 200 REPLY RD 201 SECTION QUESTION 202 www.example.com. IN A 203 ENTRY_END 204 ; recursion happens here. 205 STEP 40 CHECK_ANSWER 206 ENTRY_BEGIN 207 MATCH all ttl 208 REPLY QR RD RA NOERROR 209 SECTION QUESTION 210 www.example.com. IN A 211 SECTION ANSWER 212 www.example.com. 1800 IN A 10.1.1.1 213 SECTION AUTHORITY 214 example.com. 84600 IN NS old-ns.example.com. 215 SECTION ADDITIONAL 216 old-ns.example.com. 84600 IN A 192.168.0.1 217 ENTRY_END 218 219 ; after 1440 we are 360 seconds before the expiry 220 ; but it still contacts the old-ns 221 STEP 50 TIME_PASSES ELAPSE 1440 222 223 STEP 60 QUERY 224 ENTRY_BEGIN 225 REPLY RD 226 SECTION QUESTION 227 www.example.com. IN A 228 ENTRY_END 229 ; recursion happens here. 230 STEP 70 CHECK_ANSWER 231 ENTRY_BEGIN 232 MATCH all ttl 233 REPLY QR RD RA NOERROR 234 SECTION QUESTION 235 www.example.com. IN A 236 SECTION ANSWER 237 www.example.com. 360 IN A 10.1.1.1 238 SECTION AUTHORITY 239 example.com. 83160 IN NS old-ns.example.com. 240 SECTION ADDITIONAL 241 old-ns.example.com. 83160 IN A 192.168.0.1 242 ENTRY_END 243 244 STEP 80 TRAFFIC 245 ; let traffic flow for prefetch to happen 246 247 ; we updated from the old-ns. 248 STEP 90 QUERY 249 ENTRY_BEGIN 250 REPLY RD 251 SECTION QUESTION 252 www.example.com. IN A 253 ENTRY_END 254 ; recursion happens here. 255 STEP 100 CHECK_ANSWER 256 ENTRY_BEGIN 257 MATCH all ttl 258 REPLY QR RD RA NOERROR 259 SECTION QUESTION 260 www.example.com. IN A 261 SECTION ANSWER 262 www.example.com. 3600 IN A 10.1.1.1 263 SECTION AUTHORITY 264 example.com. 83160 IN NS old-ns.example.com. 265 SECTION ADDITIONAL 266 old-ns.example.com. 83160 IN A 192.168.0.1 267 ENTRY_END 268 269 ; the NS record is now 10% from expiry (8640 TTL left). 270 ; and the A record has expired completely, retry. 271 STEP 110 TIME_PASSES ELAPSE 74520 272 273 ; the NS record should have timed out. 274 ; but you see the full TTL here, this is only for *this query* 275 ; in the cache itself its 8640, not 86400. 276 STEP 120 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 130 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. 3600 IN A 10.1.1.1 291 SECTION AUTHORITY 292 example.com. 8640 IN NS old-ns.example.com. 293 SECTION ADDITIONAL 294 old-ns.example.com. 8640 IN A 192.168.0.1 295 ENTRY_END 296 297 ; get it from cache 298 STEP 140 QUERY 299 ENTRY_BEGIN 300 REPLY RD 301 SECTION QUESTION 302 www.example.com. IN A 303 ENTRY_END 304 ; recursion happens here. 305 STEP 150 CHECK_ANSWER 306 ENTRY_BEGIN 307 MATCH all ttl 308 REPLY QR RD RA NOERROR 309 SECTION QUESTION 310 www.example.com. IN A 311 SECTION ANSWER 312 www.example.com. 3600 IN A 10.1.1.1 313 SECTION AUTHORITY 314 example.com. 8640 IN NS old-ns.example.com. 315 SECTION ADDITIONAL 316 old-ns.example.com. 8640 IN A 192.168.0.1 317 ENTRY_END 318 319 ; the NS record times out after 8640 seconds. 320 STEP 160 TIME_PASSES ELAPSE 8641 321 322 ; fetch it 323 STEP 170 QUERY 324 ENTRY_BEGIN 325 REPLY RD 326 SECTION QUESTION 327 www.example.com. IN A 328 ENTRY_END 329 ; recursion happens here. 330 STEP 180 CHECK_ANSWER 331 ENTRY_BEGIN 332 MATCH all ttl 333 REPLY QR RD RA NOERROR 334 SECTION QUESTION 335 www.example.com. IN A 336 SECTION ANSWER 337 www.example.com. 3600 IN A 10.2.2.2 338 SECTION AUTHORITY 339 example.com. 86400 IN NS new-ns.example.com. 340 SECTION ADDITIONAL 341 new-ns.example.com. 86400 IN A 172.16.0.1 342 ENTRY_END 343 344 ; a reply from cache 345 STEP 190 QUERY 346 ENTRY_BEGIN 347 REPLY RD 348 SECTION QUESTION 349 www.example.com. IN A 350 ENTRY_END 351 ; recursion happens here. 352 STEP 200 CHECK_ANSWER 353 ENTRY_BEGIN 354 MATCH all ttl 355 REPLY QR RD RA NOERROR 356 SECTION QUESTION 357 www.example.com. IN A 358 SECTION ANSWER 359 www.example.com. 3600 IN A 10.2.2.2 360 SECTION AUTHORITY 361 example.com. 86400 IN NS new-ns.example.com. 362 SECTION ADDITIONAL 363 new-ns.example.com. 86400 IN A 172.16.0.1 364 ENTRY_END 365 366 SCENARIO_END 367