1 ; config options 2 server: 3 target-fetch-policy: "0 0 0 0 0" 4 5 auth-zone: 6 name: "example.com." 7 ## zonefile (or none). 8 ## zonefile: "example.com.zone" 9 ## master by IP address or hostname 10 ## can list multiple masters, each on one line. 11 ## master: 12 master: 1.2.3.44 13 ## url for http fetch 14 ## url: 15 ## queries from downstream clients get authoritative answers. 16 ## for-downstream: yes 17 for-downstream: yes 18 ## queries are used to fetch authoritative answers from this zone, 19 ## instead of unbound itself sending queries there. 20 ## for-upstream: yes 21 for-upstream: yes 22 ## on failures with for-upstream, fallback to sending queries to 23 ## the authority servers 24 ## fallback-enabled: no 25 26 ## this line generates zonefile: \n"/tmp/xxx.example.com"\n 27 zonefile: 28 TEMPFILE_NAME example.com 29 ## this is the inline file /tmp/xxx.example.com 30 ## the tempfiles are deleted when the testrun is over. 31 TEMPFILE_CONTENTS example.com 32 TEMPFILE_END 33 34 stub-zone: 35 name: "." 36 stub-addr: 193.0.14.129 # K.ROOT-SERVERS.NET. 37 CONFIG_END 38 39 SCENARIO_BEGIN Test authority zone with AXFR 40 41 ; K.ROOT-SERVERS.NET. 42 RANGE_BEGIN 0 100 43 ADDRESS 193.0.14.129 44 ENTRY_BEGIN 45 MATCH opcode qtype qname 46 ADJUST copy_id 47 REPLY QR NOERROR 48 SECTION QUESTION 49 . IN NS 50 SECTION ANSWER 51 . IN NS K.ROOT-SERVERS.NET. 52 SECTION ADDITIONAL 53 K.ROOT-SERVERS.NET. IN A 193.0.14.129 54 ENTRY_END 55 56 ENTRY_BEGIN 57 MATCH opcode subdomain 58 ADJUST copy_id copy_query 59 REPLY QR NOERROR 60 SECTION QUESTION 61 com. IN NS 62 SECTION AUTHORITY 63 com. IN NS a.gtld-servers.net. 64 SECTION ADDITIONAL 65 a.gtld-servers.net. IN A 192.5.6.30 66 ENTRY_END 67 RANGE_END 68 69 ; a.gtld-servers.net. 70 RANGE_BEGIN 0 100 71 ADDRESS 192.5.6.30 72 ENTRY_BEGIN 73 MATCH opcode qtype qname 74 ADJUST copy_id 75 REPLY QR NOERROR 76 SECTION QUESTION 77 com. IN NS 78 SECTION ANSWER 79 com. IN NS a.gtld-servers.net. 80 SECTION ADDITIONAL 81 a.gtld-servers.net. IN A 192.5.6.30 82 ENTRY_END 83 84 ENTRY_BEGIN 85 MATCH opcode subdomain 86 ADJUST copy_id copy_query 87 REPLY QR NOERROR 88 SECTION QUESTION 89 example.com. IN NS 90 SECTION AUTHORITY 91 example.com. IN NS ns.example.com. 92 SECTION ADDITIONAL 93 ns.example.com. IN A 1.2.3.44 94 ENTRY_END 95 RANGE_END 96 97 ; ns.example.net. 98 RANGE_BEGIN 0 100 99 ADDRESS 1.2.3.44 100 ENTRY_BEGIN 101 MATCH opcode qtype qname 102 ADJUST copy_id 103 REPLY QR NOERROR 104 SECTION QUESTION 105 example.net. IN NS 106 SECTION ANSWER 107 example.net. IN NS ns.example.net. 108 SECTION ADDITIONAL 109 ns.example.net. IN A 1.2.3.44 110 ENTRY_END 111 112 ENTRY_BEGIN 113 MATCH opcode qtype qname 114 ADJUST copy_id 115 REPLY QR NOERROR 116 SECTION QUESTION 117 ns.example.net. IN A 118 SECTION ANSWER 119 ns.example.net. IN A 1.2.3.44 120 SECTION AUTHORITY 121 example.net. IN NS ns.example.net. 122 ENTRY_END 123 124 ENTRY_BEGIN 125 MATCH opcode qtype qname 126 ADJUST copy_id 127 REPLY QR NOERROR 128 SECTION QUESTION 129 ns.example.net. IN AAAA 130 SECTION AUTHORITY 131 example.net. IN NS ns.example.net. 132 SECTION ADDITIONAL 133 www.example.net. IN A 1.2.3.44 134 ENTRY_END 135 136 ENTRY_BEGIN 137 MATCH opcode qtype qname 138 ADJUST copy_id 139 REPLY QR NOERROR 140 SECTION QUESTION 141 example.com. IN NS 142 SECTION ANSWER 143 example.com. IN NS ns.example.net. 144 ENTRY_END 145 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 ANSWER 153 www.example.com. IN A 10.20.30.40 154 ENTRY_END 155 156 ENTRY_BEGIN 157 MATCH opcode qtype qname 158 ADJUST copy_id 159 REPLY QR NOERROR 160 SECTION QUESTION 161 example.com. IN SOA 162 SECTION ANSWER 163 ; serial, refresh, retry, expire, minimum 164 example.com. IN SOA ns.example.com. hostmaster.example.com. 1 3600 900 86400 3600 165 ENTRY_END 166 167 ENTRY_BEGIN 168 MATCH opcode qtype qname 169 ADJUST copy_id 170 REPLY QR AA NOERROR 171 SECTION QUESTION 172 example.com. IN AXFR 173 SECTION ANSWER 174 example.com. IN SOA ns.example.com. hostmaster.example.com. 1 3600 900 86400 3600 175 example.com. IN NS ns.example.net. 176 EXTRA_PACKET 177 REPLY QR AA NOERROR 178 SECTION QUESTION 179 example.com. IN AXFR 180 SECTION ANSWER 181 www.example.com. IN A 1.2.3.4 182 example.com. IN SOA ns.example.com. hostmaster.example.com. 1 3600 900 86400 3600 183 ENTRY_END 184 RANGE_END 185 186 STEP 1 QUERY 187 ENTRY_BEGIN 188 REPLY RD 189 SECTION QUESTION 190 www.example.com. IN A 191 ENTRY_END 192 193 ; recursion happens here. 194 STEP 20 CHECK_ANSWER 195 ENTRY_BEGIN 196 MATCH all 197 REPLY QR AA RD RA SERVFAIL 198 SECTION QUESTION 199 www.example.com. IN A 200 SECTION ANSWER 201 ENTRY_END 202 203 STEP 30 TIME_PASSES ELAPSE 10 204 STEP 40 TRAFFIC 205 206 STEP 50 QUERY 207 ENTRY_BEGIN 208 REPLY RD 209 SECTION QUESTION 210 www.example.com. IN A 211 ENTRY_END 212 213 ; recursion happens here. 214 STEP 60 CHECK_ANSWER 215 ENTRY_BEGIN 216 MATCH all 217 REPLY QR AA RD RA NOERROR 218 SECTION QUESTION 219 www.example.com. IN A 220 SECTION ANSWER 221 www.example.com. IN A 1.2.3.4 222 ENTRY_END 223 224 ; the zonefile was updated with new contents 225 STEP 70 CHECK_TEMPFILE example.com 226 FILE_BEGIN 227 example.com. 3600 IN SOA ns.example.com. hostmaster.example.com. 1 3600 900 86400 3600 228 example.com. 3600 IN NS ns.example.net. 229 www.example.com. 3600 IN A 1.2.3.4 230 FILE_END 231 232 SCENARIO_END 233