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