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