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