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 ## 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: 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 example.com. IN SOA ns.example.com. hostmaster.example.com. 200154054 28800 7200 604800 3600 33 example.com. IN NS ns.example.com. 34 ; good zonemd 35 ;example.com. IN ZONEMD 200154054 1 2 EFAA5B78B38AB1C45DE57B8167BCCE906451D0E72118E1F5E80B5F0C3CF04BFFC65D53C011185528EAD439D6F3A02F511961E090E5E4E0DFA013BD276D728B22 36 ; wrong zonemd 37 example.com. IN ZONEMD 200154054 1 2 EFAA5B78B38AB1C45DE57B8167BCCE906451D0E72118E1F5E80B5F0C3CF04BFFC65D53C011185528EAD439D6F3A02F511961E090E5E4E0DFA013BD276D7AAAAA 38 www.example.com. IN A 127.0.0.1 39 ns.example.com. IN A 127.0.0.1 40 bar.example.com. IN A 1.2.3.4 41 ding.example.com. IN A 1.2.3.4 42 foo.example.com. IN A 1.2.3.4 43 TEMPFILE_END 44 45 stub-zone: 46 name: "." 47 stub-addr: 193.0.14.129 # K.ROOT-SERVERS.NET. 48 CONFIG_END 49 50 SCENARIO_BEGIN Test authority zone with ZONEMD failure from zonefile 51 52 ; K.ROOT-SERVERS.NET. 53 RANGE_BEGIN 0 100 54 ADDRESS 193.0.14.129 55 ENTRY_BEGIN 56 MATCH opcode qtype qname 57 ADJUST copy_id 58 REPLY QR NOERROR 59 SECTION QUESTION 60 . IN NS 61 SECTION ANSWER 62 . IN NS K.ROOT-SERVERS.NET. 63 SECTION ADDITIONAL 64 K.ROOT-SERVERS.NET. IN A 193.0.14.129 65 ENTRY_END 66 67 ENTRY_BEGIN 68 MATCH opcode subdomain 69 ADJUST copy_id copy_query 70 REPLY QR NOERROR 71 SECTION QUESTION 72 com. IN NS 73 SECTION AUTHORITY 74 com. IN NS a.gtld-servers.net. 75 SECTION ADDITIONAL 76 a.gtld-servers.net. IN A 192.5.6.30 77 ENTRY_END 78 RANGE_END 79 80 ; a.gtld-servers.net. 81 RANGE_BEGIN 0 100 82 ADDRESS 192.5.6.30 83 ENTRY_BEGIN 84 MATCH opcode qtype qname 85 ADJUST copy_id 86 REPLY QR NOERROR 87 SECTION QUESTION 88 com. IN NS 89 SECTION ANSWER 90 com. IN NS a.gtld-servers.net. 91 SECTION ADDITIONAL 92 a.gtld-servers.net. IN A 192.5.6.30 93 ENTRY_END 94 95 ENTRY_BEGIN 96 MATCH opcode subdomain 97 ADJUST copy_id copy_query 98 REPLY QR NOERROR 99 SECTION QUESTION 100 example.com. IN NS 101 SECTION AUTHORITY 102 example.com. IN NS ns.example.com. 103 SECTION ADDITIONAL 104 ns.example.com. IN A 1.2.3.44 105 ENTRY_END 106 RANGE_END 107 108 ; ns.example.net. 109 RANGE_BEGIN 0 100 110 ADDRESS 1.2.3.44 111 ENTRY_BEGIN 112 MATCH opcode qtype qname 113 ADJUST copy_id 114 REPLY QR NOERROR 115 SECTION QUESTION 116 example.net. IN NS 117 SECTION ANSWER 118 example.net. IN NS ns.example.net. 119 SECTION ADDITIONAL 120 ns.example.net. IN A 1.2.3.44 121 ENTRY_END 122 123 ENTRY_BEGIN 124 MATCH opcode qtype qname 125 ADJUST copy_id 126 REPLY QR NOERROR 127 SECTION QUESTION 128 ns.example.net. IN A 129 SECTION ANSWER 130 ns.example.net. IN A 1.2.3.44 131 SECTION AUTHORITY 132 example.net. IN NS ns.example.net. 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 AAAA 141 SECTION AUTHORITY 142 example.net. IN NS ns.example.net. 143 SECTION ADDITIONAL 144 www.example.net. IN A 1.2.3.44 145 ENTRY_END 146 147 ENTRY_BEGIN 148 MATCH opcode qtype qname 149 ADJUST copy_id 150 REPLY QR NOERROR 151 SECTION QUESTION 152 example.com. IN NS 153 SECTION ANSWER 154 example.com. IN NS ns.example.net. 155 ENTRY_END 156 157 ENTRY_BEGIN 158 MATCH opcode qtype qname 159 ADJUST copy_id 160 REPLY QR NOERROR 161 SECTION QUESTION 162 www.example.com. IN A 163 SECTION ANSWER 164 www.example.com. IN A 10.20.30.40 165 ENTRY_END 166 RANGE_END 167 168 STEP 1 QUERY 169 ENTRY_BEGIN 170 REPLY RD 171 SECTION QUESTION 172 www.example.com. IN A 173 ENTRY_END 174 175 ; recursion happens here. 176 STEP 20 CHECK_ANSWER 177 ENTRY_BEGIN 178 MATCH all 179 REPLY QR RD RA SERVFAIL 180 SECTION QUESTION 181 www.example.com. IN A 182 SECTION ANSWER 183 ENTRY_END 184 185 SCENARIO_END 186