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