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