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