1 ; config options 2 server: 3 target-fetch-policy: "3 2 1 0 0" 4 qname-minimisation: "no" 5 minimal-responses: no 6 iter-scrub-promiscuous: no 7 rrset-roundrobin: no 8 9 stub-zone: 10 name: "." 11 stub-addr: 193.0.14.129 # K.ROOT-SERVERS.NET. 12 CONFIG_END 13 14 SCENARIO_BEGIN Test iterator with delegation with bad IP address 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 A 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 qtype qname 45 ADJUST copy_id copy_query 46 REPLY QR NOERROR 47 SECTION QUESTION 48 a.gtld-servers.net. IN A 49 SECTION ANSWER 50 a.gtld-servers.net. IN A 192.5.6.30 51 ENTRY_END 52 53 ENTRY_BEGIN 54 MATCH opcode qtype qname 55 ADJUST copy_id copy_query 56 REPLY QR NOERROR 57 SECTION QUESTION 58 a.gtld-servers.net. IN AAAA 59 SECTION AUTHORITY 60 . SOA bla bla 1 2 3 4 5 61 ENTRY_END 62 RANGE_END 63 64 ; a.gtld-servers.net. 65 RANGE_BEGIN 0 100 66 ADDRESS 192.5.6.30 67 ENTRY_BEGIN 68 MATCH opcode subdomain 69 ADJUST copy_id copy_query 70 REPLY QR NOERROR 71 SECTION QUESTION 72 example.com. IN A 73 SECTION AUTHORITY 74 example.com. IN NS ns.example.com. 75 example.com. IN NS ns2.example.com. 76 SECTION ADDITIONAL 77 ns.example.com. 10 IN A 1.2.3.4 78 ns2.example.com. 3600 IN A 1.2.3.5 79 ENTRY_END 80 81 ENTRY_BEGIN 82 MATCH opcode subdomain 83 ADJUST copy_id copy_query 84 REPLY QR NOERROR 85 SECTION QUESTION 86 foo.com. IN A 87 SECTION AUTHORITY 88 foo.com. IN NS ns.example.com. 89 foo.com. IN NS ns2.example.com. 90 ENTRY_END 91 RANGE_END 92 93 ; ns.example.com. 94 RANGE_BEGIN 0 100 95 ADDRESS 1.2.3.4 96 ENTRY_BEGIN 97 MATCH opcode qtype qname 98 ADJUST copy_id 99 REPLY QR NOERROR 100 SECTION QUESTION 101 www.example.com. IN A 102 SECTION ANSWER 103 www.example.com. 10 IN A 10.20.30.40 104 SECTION AUTHORITY 105 example.com. 3600 IN NS ns.example.com. 106 example.com. 3600 IN NS ns2.example.com. 107 SECTION ADDITIONAL 108 ns.example.com. 10 IN A 1.2.3.4 109 ns2.example.com. 3600 IN A 1.2.3.5 110 ENTRY_END 111 112 ENTRY_BEGIN 113 MATCH opcode qtype qname 114 ADJUST copy_id 115 REPLY QR NOERROR 116 SECTION QUESTION 117 ns.example.com. IN A 118 SECTION ANSWER 119 ns.example.com. 10 IN A 1.2.3.4 120 SECTION AUTHORITY 121 example.com. 3600 IN NS ns.example.com. 122 example.com. 3600 IN NS ns2.example.com. 123 SECTION ADDITIONAL 124 ns2.example.com. 3600 IN A 1.2.3.5 125 ENTRY_END 126 127 ENTRY_BEGIN 128 MATCH opcode qtype qname 129 ADJUST copy_id 130 REPLY QR NOERROR 131 SECTION QUESTION 132 ns2.example.com. IN A 133 SECTION ANSWER 134 ns2.example.com. 3600 IN A 1.2.3.5 135 SECTION AUTHORITY 136 example.com. 3600 IN NS ns.example.com. 137 example.com. 3600 IN NS ns2.example.com. 138 SECTION ADDITIONAL 139 ns.example.com. 10 IN A 1.2.3.4 140 ENTRY_END 141 142 ENTRY_BEGIN 143 MATCH opcode qtype qname 144 ADJUST copy_id 145 REPLY QR NOERROR 146 SECTION QUESTION 147 ns.example.com. IN AAAA 148 SECTION ANSWER 149 SECTION AUTHORITY 150 example.com. 3600 IN SOA bla. bla. 1 2 3 4 5 151 ENTRY_END 152 153 ENTRY_BEGIN 154 MATCH opcode qtype qname 155 ADJUST copy_id 156 REPLY QR NOERROR 157 SECTION QUESTION 158 ns2.example.com. IN AAAA 159 SECTION ANSWER 160 SECTION AUTHORITY 161 example.com. 3600 IN SOA bla. bla. 1 2 3 4 5 162 ENTRY_END 163 164 ; foo.com contents. 165 ENTRY_BEGIN 166 MATCH opcode qtype qname 167 REPLY QR NOERROR 168 SECTION QUESTION 169 www.foo.com. IN A 170 SECTION ANSWER 171 www.foo.com. 10 IN A 10.20.30.40 172 SECTION AUTHORITY 173 foo.com. 3600 IN NS ns.example.com. 174 foo.com. 3600 IN NS ns2.example.com. 175 ENTRY_END 176 177 RANGE_END 178 179 ; ns2.example.com. (lame) 180 RANGE_BEGIN 0 100 181 ADDRESS 1.2.3.5 182 ENTRY_BEGIN 183 MATCH opcode 184 ADJUST copy_id copy_query 185 REPLY QR SERVFAIL 186 SECTION QUESTION 187 www.example.com. IN A 188 ENTRY_END 189 RANGE_END 190 191 STEP 1 QUERY 192 ENTRY_BEGIN 193 REPLY RD 194 SECTION QUESTION 195 www.foo.com. IN A 196 ENTRY_END 197 198 ; recursion happens here. 199 STEP 10 CHECK_ANSWER 200 ENTRY_BEGIN 201 MATCH all 202 REPLY QR RD RA NOERROR 203 SECTION QUESTION 204 www.foo.com. IN A 205 SECTION ANSWER 206 www.foo.com. 10 IN A 10.20.30.40 207 SECTION AUTHORITY 208 foo.com. 3600 IN NS ns.example.com. 209 foo.com. 3600 IN NS ns2.example.com. 210 ENTRY_END 211 212 STEP 15 TRAFFIC 213 214 ; Now move the time so good server times out and bad remains. 215 STEP 20 TIME_PASSES ELAPSE 20 216 217 ; Try query again. 218 STEP 30 QUERY 219 ENTRY_BEGIN 220 REPLY RD 221 SECTION QUESTION 222 www.foo.com. IN A 223 ENTRY_END 224 225 STEP 35 TRAFFIC 226 227 ; recursion happens here. 228 STEP 40 CHECK_ANSWER 229 ENTRY_BEGIN 230 MATCH all 231 REPLY QR RD RA NOERROR 232 SECTION QUESTION 233 www.foo.com. IN A 234 SECTION ANSWER 235 www.foo.com. 10 IN A 10.20.30.40 236 SECTION AUTHORITY 237 foo.com. 3600 IN NS ns.example.com. 238 foo.com. 3600 IN NS ns2.example.com. 239 ENTRY_END 240 241 SCENARIO_END 242