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