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