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