1; config options 2server: 3 target-fetch-policy: "0 0 0 0 0" 4 5auth-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 ## url for http fetch 13 ## url: 14 ## queries from downstream clients get authoritative answers. 15 ## for-downstream: yes 16 for-downstream: no 17 ## queries are used to fetch authoritative answers from this zone, 18 ## instead of unbound itself sending queries there. 19 ## for-upstream: yes 20 for-upstream: yes 21 ## on failures with for-upstream, fallback to sending queries to 22 ## the authority servers 23 ## fallback-enabled: no 24 zonemd-check: yes 25 26 ## this line generates zonefile: \n"/tmp/xxx.example.com"\n 27 zonefile: 28TEMPFILE_NAME example.com 29 ## this is the inline file /tmp/xxx.example.com 30 ## the tempfiles are deleted when the testrun is over. 31TEMPFILE_CONTENTS example.com 32example.com. IN SOA ns.example.com. hostmaster.example.com. 200154054 28800 7200 604800 3600 33example.com. IN NS ns.example.com. 34; good zonemd 35;example.com. IN ZONEMD 200154054 1 2 EFAA5B78B38AB1C45DE57B8167BCCE906451D0E72118E1F5E80B5F0C3CF04BFFC65D53C011185528EAD439D6F3A02F511961E090E5E4E0DFA013BD276D728B22 36; wrong zonemd 37example.com. IN ZONEMD 200154054 1 2 EFAA5B78B38AB1C45DE57B8167BCCE906451D0E72118E1F5E80B5F0C3CF04BFFC65D53C011185528EAD439D6F3A02F511961E090E5E4E0DFA013BD276D7AAAAA 38www.example.com. IN A 127.0.0.1 39ns.example.com. IN A 127.0.0.1 40bar.example.com. IN A 1.2.3.4 41ding.example.com. IN A 1.2.3.4 42foo.example.com. IN A 1.2.3.4 43TEMPFILE_END 44 45stub-zone: 46 name: "." 47 stub-addr: 193.0.14.129 # K.ROOT-SERVERS.NET. 48CONFIG_END 49 50SCENARIO_BEGIN Test authority zone with ZONEMD failure from zonefile 51 52; K.ROOT-SERVERS.NET. 53RANGE_BEGIN 0 100 54 ADDRESS 193.0.14.129 55ENTRY_BEGIN 56MATCH opcode qtype qname 57ADJUST copy_id 58REPLY QR NOERROR 59SECTION QUESTION 60. IN NS 61SECTION ANSWER 62. IN NS K.ROOT-SERVERS.NET. 63SECTION ADDITIONAL 64K.ROOT-SERVERS.NET. IN A 193.0.14.129 65ENTRY_END 66 67ENTRY_BEGIN 68MATCH opcode subdomain 69ADJUST copy_id copy_query 70REPLY QR NOERROR 71SECTION QUESTION 72com. IN NS 73SECTION AUTHORITY 74com. IN NS a.gtld-servers.net. 75SECTION ADDITIONAL 76a.gtld-servers.net. IN A 192.5.6.30 77ENTRY_END 78RANGE_END 79 80; a.gtld-servers.net. 81RANGE_BEGIN 0 100 82 ADDRESS 192.5.6.30 83ENTRY_BEGIN 84MATCH opcode qtype qname 85ADJUST copy_id 86REPLY QR NOERROR 87SECTION QUESTION 88com. IN NS 89SECTION ANSWER 90com. IN NS a.gtld-servers.net. 91SECTION ADDITIONAL 92a.gtld-servers.net. IN A 192.5.6.30 93ENTRY_END 94 95ENTRY_BEGIN 96MATCH opcode subdomain 97ADJUST copy_id copy_query 98REPLY QR NOERROR 99SECTION QUESTION 100example.com. IN NS 101SECTION AUTHORITY 102example.com. IN NS ns.example.com. 103SECTION ADDITIONAL 104ns.example.com. IN A 1.2.3.44 105ENTRY_END 106RANGE_END 107 108; ns.example.net. 109RANGE_BEGIN 0 100 110 ADDRESS 1.2.3.44 111ENTRY_BEGIN 112MATCH opcode qtype qname 113ADJUST copy_id 114REPLY QR NOERROR 115SECTION QUESTION 116example.net. IN NS 117SECTION ANSWER 118example.net. IN NS ns.example.net. 119SECTION ADDITIONAL 120ns.example.net. IN A 1.2.3.44 121ENTRY_END 122 123ENTRY_BEGIN 124MATCH opcode qtype qname 125ADJUST copy_id 126REPLY QR NOERROR 127SECTION QUESTION 128ns.example.net. IN A 129SECTION ANSWER 130ns.example.net. IN A 1.2.3.44 131SECTION AUTHORITY 132example.net. IN NS ns.example.net. 133ENTRY_END 134 135ENTRY_BEGIN 136MATCH opcode qtype qname 137ADJUST copy_id 138REPLY QR NOERROR 139SECTION QUESTION 140ns.example.net. IN AAAA 141SECTION AUTHORITY 142example.net. IN NS ns.example.net. 143SECTION ADDITIONAL 144www.example.net. IN A 1.2.3.44 145ENTRY_END 146 147ENTRY_BEGIN 148MATCH opcode qtype qname 149ADJUST copy_id 150REPLY QR NOERROR 151SECTION QUESTION 152example.com. IN NS 153SECTION ANSWER 154example.com. IN NS ns.example.net. 155ENTRY_END 156 157ENTRY_BEGIN 158MATCH opcode qtype qname 159ADJUST copy_id 160REPLY QR NOERROR 161SECTION QUESTION 162www.example.com. IN A 163SECTION ANSWER 164www.example.com. IN A 10.20.30.40 165ENTRY_END 166RANGE_END 167 168STEP 1 QUERY 169ENTRY_BEGIN 170REPLY RD 171SECTION QUESTION 172www.example.com. IN A 173ENTRY_END 174 175; recursion happens here. 176STEP 20 CHECK_ANSWER 177ENTRY_BEGIN 178MATCH all 179REPLY QR RD RA SERVFAIL 180SECTION QUESTION 181www.example.com. IN A 182SECTION ANSWER 183ENTRY_END 184 185SCENARIO_END 186