1; config options 2server: 3 target-fetch-policy: "0 0 0 0 0" 4 do-ip6: no 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 cache ttls where parent child differ in ttl 13; and the lameness for parent suddenly becomes the only information point. 14 15; K.ROOT-SERVERS.NET. 16RANGE_BEGIN 0 100 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. IN NS K.ROOT-SERVERS.NET. 26SECTION ADDITIONAL 27K.ROOT-SERVERS.NET. 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 NS 36SECTION AUTHORITY 37com. IN NS a.gtld-servers.net. 38SECTION ADDITIONAL 39a.gtld-servers.net. IN A 192.5.6.30 40ENTRY_END 41 42ENTRY_BEGIN 43MATCH opcode subdomain 44ADJUST copy_id copy_query 45REPLY QR NOERROR 46SECTION QUESTION 47net. IN NS 48SECTION AUTHORITY 49net. IN NS e.gtld-servers.net. 50SECTION ADDITIONAL 51e.gtld-servers.net. IN A 192.12.94.30 52ENTRY_END 53 54RANGE_END 55 56; a.gtld-servers.net. 57RANGE_BEGIN 0 100 58 ADDRESS 192.5.6.30 59ENTRY_BEGIN 60MATCH opcode qtype qname 61ADJUST copy_id 62REPLY QR NOERROR 63SECTION QUESTION 64com. IN NS 65SECTION ANSWER 66com. IN NS a.gtld-servers.net. 67SECTION ADDITIONAL 68a.gtld-servers.net. IN A 192.5.6.30 69ENTRY_END 70 71ENTRY_BEGIN 72MATCH opcode subdomain 73ADJUST copy_id copy_query 74REPLY QR NOERROR 75SECTION QUESTION 76example.com. IN NS 77SECTION AUTHORITY 78example.com. IN NS ns.foo.com. 79SECTION ADDITIONAL 80;ns.foo.com. 200 IN A 1.2.3.44 81ENTRY_END 82 83ENTRY_BEGIN 84MATCH opcode subdomain 85ADJUST copy_id copy_query 86REPLY QR NOERROR 87SECTION QUESTION 88foo.com. IN NS 89SECTION AUTHORITY 90foo.com. 200 IN NS ns.foo.com. 91SECTION ADDITIONAL 92ns.foo.com. 200 IN A 1.2.3.44 93ENTRY_END 94 95RANGE_END 96 97; e.gtld-servers.net. 98RANGE_BEGIN 0 100 99 ADDRESS 192.12.94.30 100ENTRY_BEGIN 101MATCH opcode qtype qname 102ADJUST copy_id 103REPLY QR NOERROR 104SECTION QUESTION 105net. IN NS 106SECTION ANSWER 107net. IN NS e.gtld-servers.net. 108SECTION ADDITIONAL 109e.gtld-servers.net. IN A 192.12.94.30 110ENTRY_END 111 112RANGE_END 113 114; ns.foo.com. 115; The parent-IP version 116RANGE_BEGIN 0 100 117 ADDRESS 1.2.3.44 118ENTRY_BEGIN 119MATCH opcode qtype qname 120ADJUST copy_id 121REPLY AA QR NOERROR 122SECTION QUESTION 123foo.com. IN NS 124SECTION ANSWER 125foo.com. 200 IN NS ns.foo.com. 126SECTION ADDITIONAL 127ns.foo.com. 100 IN A 1.2.3.44 128ENTRY_END 129 130ENTRY_BEGIN 131MATCH opcode qtype qname 132ADJUST copy_id 133REPLY AA QR NOERROR 134SECTION QUESTION 135ns.foo.com. IN A 136SECTION ANSWER 137ns.foo.com. 100 IN A 1.2.3.44 138SECTION AUTHORITY 139foo.com. 200 IN NS ns.foo.com. 140ENTRY_END 141 142ENTRY_BEGIN 143MATCH opcode qtype qname 144ADJUST copy_id 145REPLY AA QR NOERROR 146SECTION QUESTION 147ns.foo.com. IN AAAA 148SECTION AUTHORITY 149foo.com. 100 IN SOA . . 1 2 3 4 5 150ENTRY_END 151 152ENTRY_BEGIN 153MATCH opcode qtype qname 154ADJUST copy_id 155REPLY AA QR NOERROR 156SECTION QUESTION 157example.com. IN NS 158SECTION ANSWER 159example.com. 200 IN NS ns.foo.com. 160ENTRY_END 161 162ENTRY_BEGIN 163MATCH opcode qtype qname 164ADJUST copy_id 165REPLY AA QR NOERROR 166SECTION QUESTION 167www.example.com. IN A 168SECTION ANSWER 169www.example.com. 100 IN A 10.20.30.40 170SECTION AUTHORITY 171example.com. 200 IN NS ns.foo.com. 172SECTION ADDITIONAL 173ns.foo.com 100 IN A 1.2.3.44 174ENTRY_END 175RANGE_END 176 177; NOT USED. The parent side equals child side but not in the cache. 178; and they have different TTLs only. 179; ns.foo.com 180; The child IP version. Does not respond to anything (servfail instead 181; of timeouts since this is easier to encode in .rpl file format). 182RANGE_BEGIN 0 100 183 ADDRESS 1.2.3.55 184ENTRY_BEGIN 185MATCH opcode 186ADJUST copy_id copy_query 187REPLY QR SERVFAIL 188SECTION QUESTION 189foo.com. IN NS 190SECTION ANSWER 191ENTRY_END 192 193RANGE_END 194 195STEP 1 QUERY 196ENTRY_BEGIN 197REPLY RD 198SECTION QUESTION 199www.example.com. IN A 200ENTRY_END 201 202; recursion happens here. 203STEP 20 CHECK_ANSWER 204ENTRY_BEGIN 205MATCH all 206REPLY QR RD RA NOERROR 207SECTION QUESTION 208www.example.com. IN A 209SECTION ANSWER 210www.example.com. 100 IN A 10.20.30.40 211SECTION AUTHORITY 212example.com. 100 IN NS ns.foo.com. 213; scrubbed off 214;SECTION ADDITIONAL 215;ns.foo.com IN A 1.2.3.44 216ENTRY_END 217 218; Now we wait 101 seconds, and the child data is gone, 219; but the parent-side was cached for 200 and it still there. 220 221STEP 30 TIME_PASSES ELAPSE 101 222 223STEP 40 QUERY 224ENTRY_BEGIN 225REPLY RD 226SECTION QUESTION 227www.example.com. IN A 228ENTRY_END 229 230; recursion happens here. 231STEP 50 CHECK_ANSWER 232ENTRY_BEGIN 233MATCH all 234REPLY QR RD RA NOERROR 235SECTION QUESTION 236www.example.com. IN A 237SECTION ANSWER 238www.example.com. 100 IN A 10.20.30.40 239SECTION AUTHORITY 240example.com. 100 IN NS ns.foo.com. 241; scrubbed off 242;SECTION ADDITIONAL 243;ns.foo.com IN A 1.2.3.44 244ENTRY_END 245 246SCENARIO_END 247