1; config options 2server: 3 target-fetch-policy: "0 0 0 0 0" 4 minimal-responses: no 5 6stub-zone: 7 name: "." 8 stub-addr: 193.0.14.129 # K.ROOT-SERVERS.NET. 9CONFIG_END 10 11SCENARIO_BEGIN Test resolution with parent child differ names recursive. 12; the parent has an extra name that is the only working one. 13; and that name needs its parent-side glue to work. 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.example.com. 79example.com. IN NS ns.example.net. 80SECTION ADDITIONAL 81ns.example.com. IN A 1.2.3.55 82ENTRY_END 83RANGE_END 84 85; e.gtld-servers.net. 86RANGE_BEGIN 0 100 87 ADDRESS 192.12.94.30 88ENTRY_BEGIN 89MATCH opcode qtype qname 90ADJUST copy_id 91REPLY QR NOERROR 92SECTION QUESTION 93net. IN NS 94SECTION ANSWER 95net. IN NS e.gtld-servers.net. 96SECTION ADDITIONAL 97e.gtld-servers.net. IN A 192.12.94.30 98ENTRY_END 99 100ENTRY_BEGIN 101MATCH opcode subdomain 102ADJUST copy_id copy_query 103REPLY QR NOERROR 104SECTION QUESTION 105example.net. IN NS 106SECTION AUTHORITY 107example.net. IN NS ns.example.net. 108SECTION ADDITIONAL 109ns.example.net. IN A 1.2.3.44 110ENTRY_END 111 112RANGE_END 113 114; ns.example.net. 115; the working 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 123example.net. IN NS 124SECTION ANSWER 125example.net. IN NS ns.example.net. 126SECTION ADDITIONAL 127ns.example.net. IN A 1.2.3.55 128ENTRY_END 129 130ENTRY_BEGIN 131MATCH opcode qtype qname 132ADJUST copy_id 133REPLY AA QR NOERROR 134SECTION QUESTION 135ns.example.net. IN A 136SECTION ANSWER 137ns.example.net. IN A 1.2.3.55 138SECTION AUTHORITY 139example.net. IN NS ns.example.net. 140ENTRY_END 141 142ENTRY_BEGIN 143MATCH opcode qtype qname 144ADJUST copy_id 145REPLY AA QR NOERROR 146SECTION QUESTION 147ns.example.net. IN AAAA 148SECTION AUTHORITY 149example.net. IN NS ns.example.net. 150SECTION ADDITIONAL 151ns.example.net. IN A 1.2.3.55 152ENTRY_END 153 154ENTRY_BEGIN 155MATCH opcode qtype qname 156ADJUST copy_id 157REPLY AA QR NOERROR 158SECTION QUESTION 159ns.example.com. IN A 160SECTION ANSWER 161ns.example.com. IN A 1.2.3.55 162SECTION AUTHORITY 163example.com. IN NS ns.example.com. 164ENTRY_END 165 166ENTRY_BEGIN 167MATCH opcode qtype qname 168ADJUST copy_id 169REPLY AA QR NOERROR 170SECTION QUESTION 171ns.example.com. IN AAAA 172SECTION AUTHORITY 173example.com. IN NS ns.example.com. 174SECTION ADDITIONAL 175ns.example.com. IN A 1.2.3.55 176ENTRY_END 177 178ENTRY_BEGIN 179MATCH opcode qtype qname 180ADJUST copy_id 181REPLY AA QR NOERROR 182SECTION QUESTION 183example.com. IN NS 184SECTION ANSWER 185example.com. IN NS ns.example.com. 186SECTION ADDITIONAL 187ns.example.com. IN A 1.2.3.55 188ENTRY_END 189 190ENTRY_BEGIN 191MATCH opcode qtype qname 192ADJUST copy_id 193REPLY AA QR NOERROR 194SECTION QUESTION 195www.example.com. IN A 196SECTION ANSWER 197www.example.com. IN A 10.20.30.40 198SECTION AUTHORITY 199example.com. IN NS ns.example.com. 200SECTION ADDITIONAL 201ns.example.com. IN A 1.2.3.55 202ENTRY_END 203 204ENTRY_BEGIN 205MATCH opcode qtype qname 206ADJUST copy_id 207REPLY AA QR NOERROR 208SECTION QUESTION 209mail.example.com. IN A 210SECTION ANSWER 211mail.example.com. IN A 10.20.30.20 212SECTION AUTHORITY 213example.com. IN NS ns.example.com. 214SECTION ADDITIONAL 215ns.example.com. IN A 1.2.3.55 216ENTRY_END 217RANGE_END 218 219; ns.example.net 220; Broken. Does not respond to anything (servfail instead 221; of timeouts since this is easier to encode in .rpl file format). 222RANGE_BEGIN 0 100 223 ADDRESS 1.2.3.55 224ENTRY_BEGIN 225MATCH opcode 226ADJUST copy_id copy_query 227REPLY QR SERVFAIL 228SECTION QUESTION 229example.net. IN NS 230SECTION ANSWER 231ENTRY_END 232 233RANGE_END 234 235STEP 1 QUERY 236ENTRY_BEGIN 237REPLY RD 238SECTION QUESTION 239www.example.com. IN A 240ENTRY_END 241 242; recursion happens here. 243STEP 20 CHECK_ANSWER 244ENTRY_BEGIN 245MATCH all 246REPLY QR RD RA NOERROR 247SECTION QUESTION 248www.example.com. IN A 249SECTION ANSWER 250www.example.com. IN A 10.20.30.40 251SECTION AUTHORITY 252example.com. IN NS ns.example.com. 253SECTION ADDITIONAL 254ns.example.com. IN A 1.2.3.55 255ENTRY_END 256 257; now that the bad child NS record is in cache, ask something else. 258STEP 30 QUERY 259ENTRY_BEGIN 260REPLY RD 261SECTION QUESTION 262mail.example.com. IN A 263ENTRY_END 264 265STEP 40 CHECK_ANSWER 266ENTRY_BEGIN 267MATCH all 268REPLY QR RD RA NOERROR 269SECTION QUESTION 270mail.example.com. IN A 271SECTION ANSWER 272mail.example.com. IN A 10.20.30.20 273SECTION AUTHORITY 274example.com. IN NS ns.example.com. 275SECTION ADDITIONAL 276ns.example.com. IN A 1.2.3.55 277ENTRY_END 278 279SCENARIO_END 280