1; config options 2server: 3 target-fetch-policy: "0 0 0 0 0" 4 minimal-responses: no 5 rrset-roundrobin: no 6 7stub-zone: 8 name: "." 9 stub-addr: 193.0.14.129 # K.ROOT-SERVERS.NET. 10CONFIG_END 11 12SCENARIO_BEGIN Test resolution with lame reply looks like nodata with noSOA 13 14; K.ROOT-SERVERS.NET. 15RANGE_BEGIN 0 100 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 NS 35SECTION AUTHORITY 36com. IN NS a.gtld-servers.net. 37SECTION ADDITIONAL 38a.gtld-servers.net. IN A 192.5.6.30 39ENTRY_END 40 41ENTRY_BEGIN 42MATCH opcode subdomain 43ADJUST copy_id copy_query 44REPLY QR NOERROR 45SECTION QUESTION 46net. IN NS 47SECTION AUTHORITY 48net. IN NS e.gtld-servers.net. 49SECTION ADDITIONAL 50e.gtld-servers.net. IN A 192.12.94.30 51ENTRY_END 52 53RANGE_END 54 55; a.gtld-servers.net. 56RANGE_BEGIN 0 100 57 ADDRESS 192.5.6.30 58ENTRY_BEGIN 59MATCH opcode qtype qname 60ADJUST copy_id 61REPLY QR NOERROR 62SECTION QUESTION 63com. IN NS 64SECTION ANSWER 65com. IN NS a.gtld-servers.net. 66SECTION ADDITIONAL 67a.gtld-servers.net. IN A 192.5.6.30 68ENTRY_END 69 70ENTRY_BEGIN 71MATCH opcode subdomain 72ADJUST copy_id copy_query 73REPLY QR NOERROR 74SECTION QUESTION 75example.com. IN NS 76SECTION AUTHORITY 77example.com. IN NS ns.example.net. 78example.com. IN NS ns.example.com. 79SECTION ADDITIONAL 80ns.example.com. IN A 1.2.3.55 81ENTRY_END 82RANGE_END 83 84; e.gtld-servers.net. 85RANGE_BEGIN 0 100 86 ADDRESS 192.12.94.30 87ENTRY_BEGIN 88MATCH opcode qtype qname 89ADJUST copy_id 90REPLY QR NOERROR 91SECTION QUESTION 92net. IN NS 93SECTION ANSWER 94net. IN NS e.gtld-servers.net. 95SECTION ADDITIONAL 96e.gtld-servers.net. IN A 192.12.94.30 97ENTRY_END 98 99ENTRY_BEGIN 100MATCH opcode subdomain 101ADJUST copy_id copy_query 102REPLY QR NOERROR 103SECTION QUESTION 104example.net. IN NS 105SECTION AUTHORITY 106example.net. IN NS ns.example.net. 107SECTION ADDITIONAL 108ns.example.net. IN A 1.2.3.44 109ENTRY_END 110RANGE_END 111 112; ns.example.net. 113; advertises +RA so it is REC_LAME. 114RANGE_BEGIN 0 100 115 ADDRESS 1.2.3.44 116ENTRY_BEGIN 117MATCH opcode qtype qname 118ADJUST copy_id 119REPLY QR RA NOERROR 120SECTION QUESTION 121example.net. IN NS 122SECTION ANSWER 123example.net. IN NS ns.example.net. 124SECTION ADDITIONAL 125ns.example.net. IN A 1.2.3.44 126ENTRY_END 127 128ENTRY_BEGIN 129MATCH opcode qtype qname 130ADJUST copy_id 131REPLY QR RA NOERROR 132SECTION QUESTION 133ns.example.net. IN A 134SECTION ANSWER 135ns.example.net. IN A 1.2.3.44 136SECTION AUTHORITY 137example.net. IN NS ns.example.net. 138ENTRY_END 139 140ENTRY_BEGIN 141MATCH opcode qtype qname 142ADJUST copy_id 143REPLY QR RA NOERROR 144SECTION QUESTION 145ns.example.net. IN AAAA 146SECTION AUTHORITY 147example.net. IN NS ns.example.net. 148SECTION ADDITIONAL 149www.example.net. IN A 1.2.3.44 150ENTRY_END 151 152ENTRY_BEGIN 153MATCH opcode qtype qname 154ADJUST copy_id 155REPLY QR RA NOERROR 156SECTION QUESTION 157example.com. IN NS 158SECTION ANSWER 159example.com. IN NS ns.example.net. 160example.com. IN NS ns.example.com. 161SECTION ADDITIONAL 162ns.example.com. IN A 1.2.3.55 163ENTRY_END 164 165ENTRY_BEGIN 166MATCH opcode qtype qname 167ADJUST copy_id 168REPLY QR RA NOERROR 169SECTION QUESTION 170ns.example.com. IN AAAA 171SECTION ANSWER 172SECTION AUTHORITY 173example.com. IN NS ns.example.net. 174example.com. IN NS ns.example.com. 175SECTION ADDITIONAL 176ns.example.com. IN A 1.2.3.55 177ENTRY_END 178 179ENTRY_BEGIN 180MATCH opcode qtype qname 181ADJUST copy_id 182REPLY QR RA NOERROR 183SECTION QUESTION 184ns.example.com. IN A 185SECTION ANSWER 186ns.example.com. IN A 1.2.3.55 187SECTION AUTHORITY 188example.com. IN NS ns.example.net. 189example.com. IN NS ns.example.com. 190ENTRY_END 191 192ENTRY_BEGIN 193MATCH opcode qtype qname 194ADJUST copy_id 195REPLY QR RA NOERROR 196SECTION QUESTION 197www.example.com. IN A 198SECTION ANSWER 199www.example.com. IN A 10.20.30.40 200SECTION AUTHORITY 201example.com. IN NS ns.example.net. 202example.com. IN NS ns.example.com. 203SECTION ADDITIONAL 204ns.example.com. IN A 1.2.3.55 205ns.example.net IN A 1.2.3.44 206ENTRY_END 207 208ENTRY_BEGIN 209MATCH opcode qtype qname 210ADJUST copy_id 211REPLY QR RA NOERROR 212SECTION QUESTION 213mail.example.com. IN A 214SECTION ANSWER 215SECTION AUTHORITY 216example.com. IN NS ns.example.net. 217example.com. IN NS ns.example.com. 218SECTION ADDITIONAL 219ENTRY_END 220RANGE_END 221 222; ns.example.com. 223; is like a BIND server that is LAME, authoritative for other domains, 224; but not this one, and somehow got this NS record in its cache. 225; trying to give 'lame referral' but to the same name, not up. 226RANGE_BEGIN 0 100 227 ADDRESS 1.2.3.55 228ENTRY_BEGIN 229MATCH opcode subdomain 230ADJUST copy_id copy_query 231REPLY QR NOERROR 232SECTION QUESTION 233example.com. IN NS 234SECTION AUTHORITY 235example.com. IN NS ns.example.com. 236SECTION ADDITIONAL 237ENTRY_END 238RANGE_END 239 240; store bad timing for one server to influence server selection 241; 1.2.3.44 (ns.example.net) gets 900 msec. 242; so the 376 ns.example.com is preferred. 243STEP 1 INFRA_RTT 1.2.3.44 example.net. 900 244 245STEP 10 QUERY 246ENTRY_BEGIN 247REPLY RD 248SECTION QUESTION 249www.example.com. IN A 250ENTRY_END 251 252; recursion happens here. 253STEP 20 CHECK_ANSWER 254ENTRY_BEGIN 255MATCH all 256REPLY QR RD RA NOERROR 257SECTION QUESTION 258www.example.com. IN A 259SECTION ANSWER 260www.example.com. IN A 10.20.30.40 261SECTION AUTHORITY 262example.com. IN NS ns.example.net. 263example.com. IN NS ns.example.com. 264SECTION ADDITIONAL 265ns.example.com. IN A 1.2.3.55 266; scrubbed off 267;ns.example.net IN A 1.2.3.44 268ENTRY_END 269 270; query to recursion-lame server 271STEP 30 QUERY 272ENTRY_BEGIN 273REPLY RD 274SECTION QUESTION 275mail.example.com. IN A 276ENTRY_END 277 278STEP 40 CHECK_ANSWER 279ENTRY_BEGIN 280MATCH all 281REPLY QR RD RA NOERROR 282SECTION QUESTION 283mail.example.com. IN A 284SECTION ANSWER 285SECTION AUTHORITY 286example.com. IN NS ns.example.net. 287example.com. IN NS ns.example.com. 288SECTION ADDITIONAL 289ENTRY_END 290 291 292SCENARIO_END 293