1 ; config options 2 server: 3 target-fetch-policy: "0 0 0 0 0" 4 qname-minimisation: "no" 5 6 stub-zone: 7 name: "." 8 stub-addr: 193.0.14.129 # K.ROOT-SERVERS.NET. 9 CONFIG_END 10 11 SCENARIO_BEGIN Test resolution with dependency cycle 12 ; query for ns.example.com, needs ns.example.net, needs ns.example.com. 13 14 ; K.ROOT-SERVERS.NET. 15 RANGE_BEGIN 0 100 16 ADDRESS 193.0.14.129 17 ENTRY_BEGIN 18 MATCH opcode qtype qname 19 ADJUST copy_id 20 REPLY QR NOERROR 21 SECTION QUESTION 22 . IN NS 23 SECTION ANSWER 24 . IN NS K.ROOT-SERVERS.NET. 25 SECTION ADDITIONAL 26 K.ROOT-SERVERS.NET. IN A 193.0.14.129 27 ENTRY_END 28 29 ENTRY_BEGIN 30 MATCH opcode qtype qname 31 ADJUST copy_id 32 REPLY QR NOERROR 33 SECTION QUESTION 34 ns.example.com. IN A 35 SECTION AUTHORITY 36 com. IN NS a.gtld-servers.net. 37 SECTION ADDITIONAL 38 a.gtld-servers.net. IN A 192.5.6.30 39 ENTRY_END 40 41 ENTRY_BEGIN 42 MATCH opcode qtype qname 43 ADJUST copy_id 44 REPLY QR NOERROR 45 SECTION QUESTION 46 ns.example.com. IN AAAA 47 SECTION AUTHORITY 48 com. IN NS a.gtld-servers.net. 49 SECTION ADDITIONAL 50 a.gtld-servers.net. IN A 192.5.6.30 51 ENTRY_END 52 53 ENTRY_BEGIN 54 MATCH opcode qtype qname 55 ADJUST copy_id 56 REPLY QR NOERROR 57 SECTION QUESTION 58 ns.example.net. IN A 59 SECTION AUTHORITY 60 net. IN NS e.gtld-servers.net. 61 SECTION ADDITIONAL 62 e.gtld-servers.net. IN A 192.12.94.30 63 ENTRY_END 64 65 ENTRY_BEGIN 66 MATCH opcode qtype qname 67 ADJUST copy_id 68 REPLY QR NOERROR 69 SECTION QUESTION 70 ns.example.net. IN AAAA 71 SECTION AUTHORITY 72 net. IN NS e.gtld-servers.net. 73 SECTION ADDITIONAL 74 e.gtld-servers.net. IN A 192.12.94.30 75 ENTRY_END 76 RANGE_END 77 78 ; a.gtld-servers.net. 79 RANGE_BEGIN 0 100 80 ADDRESS 192.5.6.30 81 ENTRY_BEGIN 82 MATCH opcode qtype qname 83 ADJUST copy_id 84 REPLY QR NOERROR 85 SECTION QUESTION 86 com. IN NS 87 SECTION ANSWER 88 com. IN NS a.gtld-servers.net. 89 SECTION ADDITIONAL 90 a.gtld-servers.net. IN A 192.5.6.30 91 ENTRY_END 92 93 ENTRY_BEGIN 94 MATCH opcode qtype qname 95 ADJUST copy_id 96 REPLY QR NOERROR 97 SECTION QUESTION 98 ns.example.com. IN A 99 SECTION AUTHORITY 100 example.com. IN NS ns.example.net. 101 SECTION ADDITIONAL 102 ; note this will be scrubbed off 103 ns.example.net. IN A 1.2.3.1 104 ENTRY_END 105 106 ENTRY_BEGIN 107 MATCH opcode qtype qname 108 ADJUST copy_id 109 REPLY QR NOERROR 110 SECTION QUESTION 111 ns.example.com. IN AAAA 112 SECTION AUTHORITY 113 example.com. IN NS ns.example.net. 114 SECTION ADDITIONAL 115 ; note this will be scrubbed off 116 ns.example.net. IN A 1.2.3.1 117 ENTRY_END 118 RANGE_END 119 120 ; e.gtld-servers.net. 121 RANGE_BEGIN 0 100 122 ADDRESS 192.12.94.30 123 ENTRY_BEGIN 124 MATCH opcode qtype qname 125 ADJUST copy_id 126 REPLY QR NOERROR 127 SECTION QUESTION 128 net. IN NS 129 SECTION ANSWER 130 net. IN NS e.gtld-servers.net. 131 SECTION ADDITIONAL 132 e.gtld-servers.net. IN A 192.12.94.30 133 ENTRY_END 134 135 ENTRY_BEGIN 136 MATCH opcode qtype qname 137 ADJUST copy_id 138 REPLY QR NOERROR 139 SECTION QUESTION 140 ns.example.net. IN A 141 SECTION AUTHORITY 142 example.net. IN NS ns.example.com. 143 SECTION ADDITIONAL 144 ; note this will be scrubbed off 145 ns.example.com. IN A 1.2.3.2 146 ENTRY_END 147 148 ENTRY_BEGIN 149 MATCH opcode qtype qname 150 ADJUST copy_id 151 REPLY QR NOERROR 152 SECTION QUESTION 153 ns.example.net. IN AAAA 154 SECTION AUTHORITY 155 example.net. IN NS ns.example.com. 156 SECTION ADDITIONAL 157 ; note this will be scrubbed off 158 ns.example.com. IN A 1.2.3.2 159 ENTRY_END 160 RANGE_END 161 162 STEP 1 QUERY 163 ENTRY_BEGIN 164 REPLY RD 165 SECTION QUESTION 166 ns.example.com. IN A 167 ENTRY_END 168 169 ; recursion happens here. 170 ; cycle detected and it fails. 171 STEP 20 CHECK_ANSWER 172 ENTRY_BEGIN 173 MATCH all 174 REPLY QR RD RA SERVFAIL 175 SECTION QUESTION 176 ns.example.com. IN A 177 ENTRY_END 178 179 SCENARIO_END 180