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 for type A. 12; the parent has the correct A record. 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 41RANGE_END 42 43; a.gtld-servers.net. 44RANGE_BEGIN 0 100 45 ADDRESS 192.5.6.30 46ENTRY_BEGIN 47MATCH opcode qtype qname 48ADJUST copy_id 49REPLY QR NOERROR 50SECTION QUESTION 51com. IN NS 52SECTION ANSWER 53com. IN NS a.gtld-servers.net. 54SECTION ADDITIONAL 55a.gtld-servers.net. IN A 192.5.6.30 56ENTRY_END 57 58ENTRY_BEGIN 59MATCH opcode subdomain 60ADJUST copy_id copy_query 61REPLY QR NOERROR 62SECTION QUESTION 63example.com. IN NS 64SECTION AUTHORITY 65example.com. IN NS ns.example.com. 66SECTION ADDITIONAL 67ns.example.com. IN A 1.2.3.44 68ENTRY_END 69RANGE_END 70 71; the working version. 72RANGE_BEGIN 0 100 73 ADDRESS 1.2.3.44 74ENTRY_BEGIN 75MATCH opcode qtype qname 76ADJUST copy_id 77REPLY AA QR NOERROR 78SECTION QUESTION 79ns.example.com. IN A 80SECTION ANSWER 81ns.example.com. IN A 1.2.3.55 82SECTION AUTHORITY 83example.com. IN NS ns.example.com. 84ENTRY_END 85 86ENTRY_BEGIN 87MATCH opcode qtype qname 88ADJUST copy_id 89REPLY AA QR NOERROR 90SECTION QUESTION 91ns.example.com. IN AAAA 92SECTION AUTHORITY 93example.com. IN NS ns.example.com. 94SECTION ADDITIONAL 95ns.example.com. IN A 1.2.3.55 96ENTRY_END 97 98ENTRY_BEGIN 99MATCH opcode qtype qname 100ADJUST copy_id 101REPLY AA QR NOERROR 102SECTION QUESTION 103example.com. IN NS 104SECTION ANSWER 105example.com. IN NS ns.example.com. 106SECTION ADDITIONAL 107ns.example.com. IN A 1.2.3.55 108ENTRY_END 109 110ENTRY_BEGIN 111MATCH opcode qtype qname 112ADJUST copy_id 113REPLY AA QR NOERROR 114SECTION QUESTION 115www.example.com. IN A 116SECTION ANSWER 117www.example.com. IN A 10.20.30.40 118SECTION AUTHORITY 119example.com. IN NS ns.example.com. 120SECTION ADDITIONAL 121ns.example.com. IN A 1.2.3.55 122ENTRY_END 123 124ENTRY_BEGIN 125MATCH opcode qtype qname 126ADJUST copy_id 127REPLY AA QR NOERROR 128SECTION QUESTION 129mail.example.com. IN A 130SECTION ANSWER 131mail.example.com. IN A 10.20.30.20 132SECTION AUTHORITY 133example.com. IN NS ns.example.com. 134SECTION ADDITIONAL 135ns.example.com. IN A 1.2.3.55 136ENTRY_END 137 138ENTRY_BEGIN 139MATCH opcode qtype qname 140ADJUST copy_id 141REPLY AA QR NOERROR 142SECTION QUESTION 143ftp.example.com. IN A 144SECTION ANSWER 145ftp.example.com. IN A 10.20.30.10 146SECTION AUTHORITY 147example.com. IN NS ns.example.com. 148SECTION ADDITIONAL 149ns.example.com. IN A 1.2.3.55 150ENTRY_END 151RANGE_END 152 153; Broken. Does not respond to anything (servfail instead 154; of timeouts since this is easier to encode in .rpl file format). 155RANGE_BEGIN 0 100 156 ADDRESS 1.2.3.55 157ENTRY_BEGIN 158MATCH opcode 159ADJUST copy_id copy_query 160REPLY QR SERVFAIL 161SECTION QUESTION 162example.net. IN NS 163SECTION ANSWER 164ENTRY_END 165 166RANGE_END 167 168STEP 1 QUERY 169ENTRY_BEGIN 170REPLY RD 171SECTION QUESTION 172www.example.com. IN A 173ENTRY_END 174 175; recursion happens here. 176STEP 20 CHECK_ANSWER 177ENTRY_BEGIN 178MATCH all 179REPLY QR RD RA NOERROR 180SECTION QUESTION 181www.example.com. IN A 182SECTION ANSWER 183www.example.com. IN A 10.20.30.40 184SECTION AUTHORITY 185example.com. IN NS ns.example.com. 186SECTION ADDITIONAL 187ns.example.com. IN A 1.2.3.55 188ENTRY_END 189 190; now that the bad child NS record is in cache, ask something else. 191STEP 30 QUERY 192ENTRY_BEGIN 193REPLY RD 194SECTION QUESTION 195mail.example.com. IN A 196ENTRY_END 197 198STEP 40 CHECK_ANSWER 199ENTRY_BEGIN 200MATCH all 201REPLY QR RD RA NOERROR 202SECTION QUESTION 203mail.example.com. IN A 204SECTION ANSWER 205mail.example.com. IN A 10.20.30.20 206SECTION AUTHORITY 207example.com. IN NS ns.example.com. 208SECTION ADDITIONAL 209ns.example.com. IN A 1.2.3.55 210ENTRY_END 211 212; test cache of parent data 213STEP 50 QUERY 214ENTRY_BEGIN 215REPLY RD 216SECTION QUESTION 217ftp.example.com. IN A 218ENTRY_END 219 220STEP 60 CHECK_ANSWER 221ENTRY_BEGIN 222MATCH all 223REPLY QR RD RA NOERROR 224SECTION QUESTION 225ftp.example.com. IN A 226SECTION ANSWER 227ftp.example.com. IN A 10.20.30.10 228SECTION AUTHORITY 229example.com. IN NS ns.example.com. 230SECTION ADDITIONAL 231ns.example.com. IN A 1.2.3.55 232ENTRY_END 233 234SCENARIO_END 235