1; config options 2server: 3 harden-referral-path: no 4 target-fetch-policy: "0 0 0 0 0" 5 qname-minimisation: "no" 6 minimal-responses: no 7 rrset-roundrobin: no 8 9stub-zone: 10 name: "." 11 stub-addr: 193.0.14.129 # K.ROOT-SERVERS.NET. 12CONFIG_END 13 14SCENARIO_BEGIN Test lame detection if AA bit is omitted 15; the query is answered with a reply that has 16; no AA bit 17; no SOA record 18; noanswer/noerror 19; NS record in there which is not a down delegation (==). 20; the query is not sent to a forward zone 21 22STEP 10 QUERY 23ENTRY_BEGIN 24REPLY RD 25SECTION QUESTION 26www.example.com. IN A 27ENTRY_END 28 29; root prime is sent 30STEP 20 CHECK_OUT_QUERY 31ENTRY_BEGIN 32MATCH qname qtype opcode 33SECTION QUESTION 34. IN NS 35ENTRY_END 36STEP 30 REPLY 37ENTRY_BEGIN 38MATCH opcode qtype qname 39ADJUST copy_id 40REPLY QR AA NOERROR 41SECTION QUESTION 42. IN NS 43SECTION ANSWER 44. IN NS K.ROOT-SERVERS.NET. 45SECTION ADDITIONAL 46K.ROOT-SERVERS.NET. IN A 193.0.14.129 47ENTRY_END 48 49; query sent to root server 50STEP 40 CHECK_OUT_QUERY 51ENTRY_BEGIN 52MATCH qname qtype opcode 53SECTION QUESTION 54www.example.com. IN A 55ENTRY_END 56STEP 50 REPLY 57ENTRY_BEGIN 58MATCH opcode qtype qname 59ADJUST copy_id 60REPLY QR NOERROR 61SECTION QUESTION 62www.example.com. IN A 63SECTION AUTHORITY 64com. IN NS a.gtld-servers.net. 65SECTION ADDITIONAL 66a.gtld-servers.net. IN A 192.5.6.30 67ENTRY_END 68 69; query sent to .com server 70STEP 60 CHECK_OUT_QUERY 71ENTRY_BEGIN 72MATCH qname qtype opcode 73SECTION QUESTION 74www.example.com. IN A 75ENTRY_END 76 77; answer the NS queries that have been generated 78; STEP 62 CHECK_OUT_QUERY 79; ENTRY_BEGIN 80; MATCH qname qtype opcode 81; SECTION QUESTION 82; com. IN NS 83; ENTRY_END 84; 85; STEP 63 REPLY 86; ; ENTRY_BEGIN 87; MATCH opcode qtype qname 88; ADJUST copy_id 89; REPLY QR AA NOERROR 90; SECTION QUESTION 91; com. IN NS 92; SECTION ANSWER 93; com. IN NS a.gtld-servers.net. 94; SECTION ADDITIONAL 95; a.gtld-servers.net. IN A 192.5.6.30 96; ENTRY_END 97 98STEP 70 REPLY 99ENTRY_BEGIN 100MATCH opcode qtype qname 101ADJUST copy_id 102REPLY QR NOERROR 103SECTION QUESTION 104www.example.com. IN A 105SECTION AUTHORITY 106example.com. IN NS ns1.example.com. 107example.com. IN NS ns2.example.com. 108SECTION ADDITIONAL 109ns1.example.com. IN A 168.192.2.2 110ns2.example.com. IN A 168.192.3.3 111ENTRY_END 112 113; no matter which one the iterator tries first, we present it as 'lame' 114; query to ns1.example.com or ns2.example.com. 115STEP 80 CHECK_OUT_QUERY 116ENTRY_BEGIN 117MATCH qname qtype opcode 118SECTION QUESTION 119www.example.com. IN A 120ENTRY_END 121 122; STEP 82 CHECK_OUT_QUERY 123; ENTRY_BEGIN 124; MATCH qname qtype opcode 125; SECTION QUESTION 126; example.com. IN NS 127; ENTRY_END 128; 129; STEP 83 REPLY 130; ENTRY_BEGIN 131; MATCH opcode qtype qname 132; ADJUST copy_id 133; REPLY QR AA NOERROR 134; SECTION QUESTION 135; example.com. IN NS 136; SECTION ANSWER 137; example.com. IN NS ns1.example.com. 138; example.com. IN NS ns2.example.com. 139; SECTION ADDITIONAL 140; ns1.example.com. IN A 168.192.2.2 141; ns2.example.com. IN A 168.192.3.3 142; ENTRY_END 143; 144STEP 90 REPLY 145ENTRY_BEGIN 146MATCH opcode qtype qname 147ADJUST copy_id 148REPLY QR NOERROR 149SECTION QUESTION 150www.example.com. IN A 151SECTION AUTHORITY 152; This is the BROKEN ANSWER here. 153; it is lame. A delegation to example.com. itself. 154example.com. IN NS ns1.example.com. 155example.com. IN NS ns2.example.com. 156SECTION ADDITIONAL 157ns1.example.com. IN A 168.192.2.2 158ns2.example.com. IN A 168.192.3.3 159ENTRY_END 160 161; iterator should try again and ask the other nameserver. 162STEP 100 CHECK_OUT_QUERY 163ENTRY_BEGIN 164MATCH qname qtype opcode 165SECTION QUESTION 166www.example.com. IN A 167ENTRY_END 168 169STEP 110 REPLY 170ENTRY_BEGIN 171MATCH opcode qtype qname 172ADJUST copy_id 173REPLY QR AA NOERROR 174SECTION QUESTION 175www.example.com. IN A 176SECTION ANSWER 177www.example.com. IN A 10.20.30.40 178SECTION AUTHORITY 179example.com. IN NS ns1.example.com. 180example.com. IN NS ns2.example.com. 181SECTION ADDITIONAL 182ns1.example.com. IN A 168.192.2.2 183ns2.example.com. IN A 168.192.3.3 184ENTRY_END 185 186 187; is the final answer correct? 188STEP 200 CHECK_ANSWER 189ENTRY_BEGIN 190MATCH all 191REPLY QR RD RA 192SECTION QUESTION 193www.example.com. IN A 194SECTION ANSWER 195www.example.com. IN A 10.20.30.40 196SECTION AUTHORITY 197example.com. IN NS ns1.example.com. 198example.com. IN NS ns2.example.com. 199SECTION ADDITIONAL 200ns1.example.com. IN A 168.192.2.2 201ns2.example.com. IN A 168.192.3.3 202ENTRY_END 203 204SCENARIO_END 205