]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
tests: integration test for cache overflow situation
authorPetr Špaček <petr.spacek@nic.cz>
Wed, 19 Aug 2020 10:18:09 +0000 (12:18 +0200)
committerPetr Špaček <petr.spacek@nic.cz>
Mon, 7 Sep 2020 15:47:12 +0000 (17:47 +0200)
Resolvers must answer queries even if the shared cache overflown during query processing.

lib/cache/overflow.test.integr/deckard.yaml [new file with mode: 0644]
lib/cache/overflow.test.integr/kresd_config.j2 [new file with mode: 0644]
lib/cache/overflow.test.integr/world_cz_lidovky_www.rpl [new file with mode: 0644]
lib/meson.build
tests/config/test_dns_generators.lua [new file with mode: 0644]
tests/integration/deckard

diff --git a/lib/cache/overflow.test.integr/deckard.yaml b/lib/cache/overflow.test.integr/deckard.yaml
new file mode 100644 (file)
index 0000000..61032fb
--- /dev/null
@@ -0,0 +1,22 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+programs:
+- name: kresd1
+  binary: kresd
+  additional:
+    - -n
+  templates:
+    - lib/cache/overflow.test.integr/kresd_config.j2
+    - tests/config/test_dns_generators.lua
+  configs:
+    - config
+    - dns_gen.lua
+- name: kresd2
+  binary: kresd
+  additional:
+    - -n
+  templates:
+    - lib/cache/overflow.test.integr/kresd_config.j2
+    - tests/config/test_dns_generators.lua
+  configs:
+    - config
+    - dns_gen.lua
diff --git a/lib/cache/overflow.test.integr/kresd_config.j2 b/lib/cache/overflow.test.integr/kresd_config.j2
new file mode 100644 (file)
index 0000000..19b6719
--- /dev/null
@@ -0,0 +1,76 @@
+-- SPDX-License-Identifier: GPL-3.0-or-later
+
+trust_anchors.remove('.')
+{% for TAF in TRUST_ANCHOR_FILES %}
+trust_anchors.add_file('{{TAF}}')
+{% endfor %}
+
+{% raw %}
+-- Disable RFC5011 TA update
+if ta_update then
+        modules.unload('ta_update')
+end
+
+-- Disable RFC8145 signaling, scenario doesn't provide expected answers
+if ta_signal_query then
+        modules.unload('ta_signal_query')
+end
+
+-- Disable RFC8109 priming, scenario doesn't provide expected answers
+if priming then
+        modules.unload('priming')
+end
+
+-- Disable this module because it make one priming query
+if detect_time_skew then
+        modules.unload('detect_time_skew')
+end
+
+verbose(true)
+policy.add(policy.all(policy.DEBUG_ALWAYS))
+
+cache.open(1*MB)
+
+{% endraw %}
+
+-- both instances listen on both addresses
+-- so queries get distributed between them randomly
+net.listen('{{programs[0]["address"]}}')
+net.listen('{{programs[1]["address"]}}')
+
+{% raw %}
+-- Self-checks on globals
+assert(help() ~= nil)
+assert(worker.id ~= nil)
+-- Self-checks on facilities
+assert(cache.stats() ~= nil)
+assert(cache.backends() ~= nil)
+assert(worker.stats() ~= nil)
+assert(net.interfaces() ~= nil)
+-- Self-checks on loaded stuff
+{% endraw %}
+
+assert(net.list()[1].transport.ip == '{{programs[0]["address"]}}')
+
+{% raw %}
+assert(#modules.list() > 0)
+-- Self-check timers
+ev = event.recurrent(1 * sec, function (ev) return 1 end)
+event.cancel(ev)
+ev = event.after(0, function (ev) return 1 end)
+
+local ffi = require('ffi')
+local kr_cach = kres.context().cache
+
+-- canary for cache overflow
+local kr_rrset = kres.rrset(
+       todname('www.example.com'),
+       kres.type.A,
+       kres.class.IN,
+       604800)
+assert(kr_rrset:add_rdata('\192\000\002\001', 4))
+assert(kr_cach:insert(kr_rrset, nil, ffi.C.KR_RANK_SECURE))
+
+local generators = dofile('./dns_gen.lua')
+event.after(0, generators.gen_batch)
+{% endraw %}
diff --git a/lib/cache/overflow.test.integr/world_cz_lidovky_www.rpl b/lib/cache/overflow.test.integr/world_cz_lidovky_www.rpl
new file mode 100644 (file)
index 0000000..7aca5b8
--- /dev/null
@@ -0,0 +1,1114 @@
+# -- SPDX-License-Identifier: GPL-3.0-or-later
+stub-addr: 2001:dc3::35
+val-override-date: "20170228130000"
+trust-anchor: ".       172800  IN      DS      19036 8 2 49aac11d7b6f6446702e54a1607371607a1a41855200fd2ce1cdde32f24e8fb5"
+CONFIG_END
+
+SCENARIO_BEGIN Real-world DNS tree with repeated queries. Intended use is to test background tasks specified in Lua config.
+
+;root
+RANGE_BEGIN 0 10000
+       ADDRESS 2001:dc3::35
+       ADDRESS 198.41.0.4
+       ADDRESS 192.228.79.201
+       ADDRESS 192.33.4.12
+       ADDRESS 199.7.91.13
+       ADDRESS 192.203.230.10
+       ADDRESS 192.5.5.241
+       ADDRESS 192.112.36.4
+       ADDRESS 198.97.190.53
+       ADDRESS 192.36.148.17
+       ADDRESS 192.58.128.30
+       ADDRESS 193.0.14.129
+       ADDRESS 199.7.83.42
+       ADDRESS 202.12.27.33
+       ADDRESS 2001:503:ba3e::2:30
+       ADDRESS 2001:500:84::b
+       ADDRESS 2001:500:2::c
+       ADDRESS 2001:500:2d::d
+       ADDRESS 2001:500:a8::e
+       ADDRESS 2001:500:2f::f
+       ADDRESS 2001:500:12::d0d
+       ADDRESS 2001:500:1::53
+       ADDRESS 2001:7fe::53
+       ADDRESS 2001:503:c27::2:30
+       ADDRESS 2001:7fd::1
+       ADDRESS 2001:500:9f::42
+       ADDRESS 2001:dc3::35
+
+       ENTRY_BEGIN
+               MATCH opcode qtype qname
+               ADJUST copy_id
+               REPLY QR AA RD DO NOERROR
+               SECTION QUESTION
+               .                       IN      DS
+               SECTION AUTHORITY
+               .                       86400   IN      SOA     a.root-servers.net. nstld.verisign-grs.com. 2017022701 1800 900 604800 86400
+               .                       86400   IN      RRSIG   SOA 8 0 86400 20170312170000 20170227160000 61045 . GhyRFKg8xu/asiFmIMifBOFUeJlL++ncqDoBLbYoviben3WNrdU7vJxZ Cm3EZ8HEYr2gFFkupaHBZt+P6GdX9lU8aw7yOZ8ZXV48S209Jo3PkHxH iVOtaC7QzkJPiZUgh06MuWgQoeNJSVqGTCy+TlTlMLqGndNcpT0rkX7H 0gCcuaZcBv0nqEPKqZeq8XFVIfiaUCKz/kkkO0vgP9euN+WT+68hng4F oIQ0eAPIUL6XBW2uWubWS2Yd8C+g/++qeLnte7QYF+9By5HuN6fXskba 0uph3gzjWArn+SYQhEWyqbS6wb0LloAawt9LW7neJYOMFhlU1AOScGjn e8rfBw==
+               .                       86400   IN      NSEC    aaa. NS SOA RRSIG NSEC DNSKEY
+               .                       86400   IN      RRSIG   NSEC 8 0 86400 20170312170000 20170227160000 61045 . MLiCUaeASll0V1x0imORnQodzd/6LuDpa8XfebmNE7eGMda62HCK9kB2 I5Yvcc6naw1nzJVSVNIjDQyAKHgSWy457vwvWbEdCuD5XS8A1/drP13x pfP91XG3qPswx3u1i4cLSTO5VJi1lup1Qr1UrN54kNbRp2sS65VKXOH4 4I6bwA1CBOmU6EHlyI2nymZDqCRaTdWjyoYSZ1zkucSjEgn8GtyniNiS p7AfNLnnJ6poKSCcOj2hSQTb58i7B7TJt/JQWb6ko12rcSEVxZljhqHc XzR+i8Bgfpj9ha83tcZwDFQQy4mKjSkboOEoRe8Z5qKIb5DF0wn0vB+M LClQJg==
+       ENTRY_END
+
+       ENTRY_BEGIN
+               MATCH opcode qtype qname
+               ADJUST copy_id
+               REPLY QR AA RD DO NOERROR
+               SECTION QUESTION
+               .                       IN      NS
+               SECTION ANSWER
+               .                       518400  IN      NS      m.root-servers.net.
+               .                       518400  IN      NS      k.root-servers.net.
+               .                       518400  IN      NS      a.root-servers.net.
+               .                       518400  IN      NS      l.root-servers.net.
+               .                       518400  IN      NS      j.root-servers.net.
+               .                       518400  IN      NS      i.root-servers.net.
+               .                       518400  IN      NS      e.root-servers.net.
+               .                       518400  IN      NS      b.root-servers.net.
+               .                       518400  IN      NS      h.root-servers.net.
+               .                       518400  IN      NS      d.root-servers.net.
+               .                       518400  IN      NS      c.root-servers.net.
+               .                       518400  IN      NS      f.root-servers.net.
+               .                       518400  IN      NS      g.root-servers.net.
+               .                       518400  IN      RRSIG   NS 8 0 518400 20170312170000 20170227160000 61045 . iqk4z3W6lGfSgvbPGl4JPVDca+21mXayctqY0FO1a9YhCSxLQGsV/0eK IfYOGHMCBr2szIactoznQgFybjNG/I5bKo+EU4U0tNNVwrUHWTMsAraQ yIS/efPZyKAHSzKZjlcRVOFbFPA/DWp6JzMhfXaBYMLcsA8ZT/CwCnxF a7wInMupWskMwXXhTgGci+PJVKm+TK5hEtYYnb3Ny2lxoWtTPJuZufM9 1xg2YXs6njo1gKzj3zaTwpndeBbYN78ZfETmPsjyr7X144v9qe7qygCO dTjy+cly1JG1prI9yHaU5zJk3X9VcvWWRR3ACQOFfzthFqyEoHjQmEBe XQHCRg==
+               SECTION ADDITIONAL
+               a.root-servers.net.     3600000 IN      A       198.41.0.4
+               b.root-servers.net.     3600000 IN      A       192.228.79.201
+               c.root-servers.net.     3600000 IN      A       192.33.4.12
+               d.root-servers.net.     3600000 IN      A       199.7.91.13
+               e.root-servers.net.     3600000 IN      A       192.203.230.10
+               f.root-servers.net.     3600000 IN      A       192.5.5.241
+               g.root-servers.net.     3600000 IN      A       192.112.36.4
+               h.root-servers.net.     3600000 IN      A       198.97.190.53
+               i.root-servers.net.     3600000 IN      A       192.36.148.17
+               j.root-servers.net.     3600000 IN      A       192.58.128.30
+               k.root-servers.net.     3600000 IN      A       193.0.14.129
+               l.root-servers.net.     3600000 IN      A       199.7.83.42
+               m.root-servers.net.     3600000 IN      A       202.12.27.33
+               a.root-servers.net.     3600000 IN      AAAA    2001:503:ba3e::2:30
+               b.root-servers.net.     3600000 IN      AAAA    2001:500:84::b
+               c.root-servers.net.     3600000 IN      AAAA    2001:500:2::c
+               d.root-servers.net.     3600000 IN      AAAA    2001:500:2d::d
+               e.root-servers.net.     3600000 IN      AAAA    2001:500:a8::e
+               f.root-servers.net.     3600000 IN      AAAA    2001:500:2f::f
+               g.root-servers.net.     3600000 IN      AAAA    2001:500:12::d0d
+               h.root-servers.net.     3600000 IN      AAAA    2001:500:1::53
+               i.root-servers.net.     3600000 IN      AAAA    2001:7fe::53
+               j.root-servers.net.     3600000 IN      AAAA    2001:503:c27::2:30
+               k.root-servers.net.     3600000 IN      AAAA    2001:7fd::1
+               l.root-servers.net.     3600000 IN      AAAA    2001:500:9f::42
+               m.root-servers.net.     3600000 IN      AAAA    2001:dc3::35
+       ENTRY_END
+
+       ENTRY_BEGIN
+               MATCH opcode qtype qname
+               ADJUST copy_id
+               REPLY QR AA RD DO NOERROR
+               SECTION QUESTION
+               .                       IN      DNSKEY
+               SECTION ANSWER
+               .                       172800  IN      DNSKEY  256 3 8 AwEAAYvgWbYkpeGgdPKaKTJU3Us4YSTRgy7+dzvfArIhi2tKoZ/WR1Df w883SOU6Uw7tpVRkLarN0oIMK/xbOBD1DcXnyfElBwKsz4sVVWmfyr/x +igD/UjrcJ5zEBUrUmVtHyjar7ccaVc1/3ntkhZjI1hcungAlOhPhHlk MeX+5Azx6GdX//An5OgrdyH3o/JmOPMDX1mt806JI/hf0EwAp1pBwo5e 8SrSuR1tD3sgNjr6IzCdrKSgqi92z49zcdis3EaY199WFW60DCS7ydu+ +T5Xa+GyOw1quagwf/JUC/mEpeBQYWrnpkBbpDB3sy4+P2i8iCvavehb RyVm9U0MlIc=
+               .                       172800  IN      DNSKEY  257 3 8 AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjF FVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh/RStIoO8g0NfnfL2MTJRkxoX bfDaUeVPQuYEhg37NZWAJQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaD X6RS6CXpoY68LsvPVjR0ZSwzz1apAzvN9dlzEheX7ICJBBtuA6G3LQpz W5hOA2hzCTMjJPJ8LbqF6dsV6DoBQzgul0sGIcGOYl7OyQdXfZ57relS Qageu+ipAdTTJ25AsRTAoub8ONGcLmqrAmRLKBP1dfwhYB4N7knNnulq QxA+Uk1ihz0=
+               .                       172800  IN      RRSIG   DNSKEY 8 0 172800 20170313000000 20170220000000 19036 . Dgzxpg2Lr39HXuHwuJWYCGySxsm92RY8TRuSOstPVcHc7we0d4pW7Znt 33j9fzrxdvoVFAvqSioilVKiOY49M8N+sXcsfTK3cnh7ijTA7suXd4ht TClLN7Dn+ZAjhoyjLm5hf7P/jL0K9KKcOqEqS+uqX3W2WeCvUwT3BY6A t2r+pKSVnoX0uFWJX+mmCh4veYW3eoBzAqwAVbCE5hl2tVbf/vzpa8eW kHegVmm5smKzK2ciYOqExl3FtLgf6dp+HTpruS2oN1JPxm4f1IZhVwT0 pSEu8OUNOV8WSbLn3P9aUpq894Tf1i0/AEtFtx2tRCdw3lSKOugfneo0 PYo1JQ==
+               ENTRY_END
+
+       ENTRY_BEGIN
+               MATCH opcode qtype qname
+               ADJUST copy_id
+               REPLY QR RD DO NOERROR
+               SECTION QUESTION
+               cz.                     IN      DS
+               SECTION ANSWER
+               cz.                     86400   IN      DS      54576 10 2 397E50C85EDE9CDE33F363A9E66FD1B216D788F8DD438A57A423A386 869C8F06
+               cz.                     86400   IN      RRSIG   DS 8 1 86400 20170312170000 20170227160000 61045 . irp/lUXakeZMwVjkZQOOt6xAB2Fcglo7nxmUkHBFjsB5lp61Pg6eyt8u xvGrTdv4mv6PH5q0c7bfKo0Ngtedbq8gZ6VHXfcKUU7vP5BUmePWPyvf khKcafAO7D2wIw9gKxPB0syd3woUP7PlQ1Rg/rUMwDnEXtS7zEqzrVbb VkjdqvdgLUsInAc9zdP72qRp9cJhuoRm0nco1uo2ZLUC04poGxSNzXTw hKhngqHDTqD1nr/Wnq7uXtmLyvFelICSpSHmkrCxnou7EtPybC+W+fna f8o7FebZBnB71t5d8s2kxlb+KrWXUMv8VOdZdZTQTN8M5LeKSBL7RnXM 1FbCiQ==
+       ENTRY_END
+
+       ENTRY_BEGIN
+               MATCH opcode subdomain
+               ADJUST copy_id copy_query
+               REPLY QR RD DO NOERROR
+               SECTION QUESTION
+               CZ.                     IN      NS
+       SECTION AUTHORITY
+               cz.                     172800  IN      NS      b.ns.nic.cz.
+               cz.                     172800  IN      NS      a.ns.nic.cz.
+               cz.                     172800  IN      NS      c.ns.nic.cz.
+               cz.                     172800  IN      NS      d.ns.nic.cz.
+               cz.                     86400   IN      DS      54576 10 2 397E50C85EDE9CDE33F363A9E66FD1B216D788F8DD438A57A423A386 869C8F06
+               cz.                     86400   IN      RRSIG   DS 8 1 86400 20170312170000 20170227160000 61045 . irp/lUXakeZMwVjkZQOOt6xAB2Fcglo7nxmUkHBFjsB5lp61Pg6eyt8u xvGrTdv4mv6PH5q0c7bfKo0Ngtedbq8gZ6VHXfcKUU7vP5BUmePWPyvf khKcafAO7D2wIw9gKxPB0syd3woUP7PlQ1Rg/rUMwDnEXtS7zEqzrVbb VkjdqvdgLUsInAc9zdP72qRp9cJhuoRm0nco1uo2ZLUC04poGxSNzXTw hKhngqHDTqD1nr/Wnq7uXtmLyvFelICSpSHmkrCxnou7EtPybC+W+fna f8o7FebZBnB71t5d8s2kxlb+KrWXUMv8VOdZdZTQTN8M5LeKSBL7RnXM 1FbCiQ==
+       SECTION ADDITIONAL
+               a.ns.nic.cz.            155678  IN      A       194.0.12.1
+               b.ns.nic.cz.            155678  IN      A       194.0.13.1
+               c.ns.nic.cz.            153044  IN      A       194.0.14.1
+               d.ns.nic.cz.            153044  IN      A       193.29.206.1
+               a.ns.nic.cz.            153051  IN      AAAA    2001:678:f::1
+               b.ns.nic.cz.            153051  IN      AAAA    2001:678:10::1
+               c.ns.nic.cz.            155678  IN      AAAA    2001:678:11::1
+               d.ns.nic.cz.            155678  IN      AAAA    2001:678:1::1
+       ENTRY_END
+
+
+
+       ENTRY_BEGIN
+               MATCH opcode qtype qname
+               ADJUST copy_id
+               REPLY QR RD DO NOERROR
+               SECTION QUESTION
+               net.                    IN      DS
+               SECTION ANSWER
+               net.                    86400   IN      DS      35886 8 2 7862B27F5F516EBE19680444D4CE5E762981931842C465F00236401D 8BD973EE
+               net.                    86400   IN      RRSIG   DS 8 1 86400 20170312170000 20170227160000 61045 . bRSoCpmN/6LhmSB7i68N0zO08WwVikjm6HhOyZMhyjF4sfAaDoeTMs5E XjflCZMly1SP8CwkK6Wz6Ozb8nMUHEsYOhASVBkYC/ImBpqIV5LxaCbW 4L7g5Mwam0MBZb4hybI7JUyuiRONVy3YYk+eUvyf4/flu3Cl14a36LYv 2In/ECg9sV8cMOrYs722vigvzH5eHLIZTOhGBE2//uH8pw1YnMW9sYRj f5algDGge4hZvi0ieQyzfT3UqmQEmZZCz+vdlPtgKqIj6+I+V+SZOB2d aBkb/0NrWIx+iE+fqP6jx7I2HCobVnYUvJjL/t6O1shC4mxcDghLLUpf fSnEag==
+       ENTRY_END
+
+       ENTRY_BEGIN
+               MATCH opcode subdomain
+               ADJUST copy_id copy_query
+               REPLY QR RD DO NOERROR
+               SECTION QUESTION
+               net.                    IN      NS
+               SECTION AUTHORITY
+               net.                    172800  IN      NS      j.gtld-servers.net.
+               net.                    172800  IN      NS      e.gtld-servers.net.
+               net.                    172800  IN      NS      c.gtld-servers.net.
+               net.                    172800  IN      NS      m.gtld-servers.net.
+               net.                    172800  IN      NS      d.gtld-servers.net.
+               net.                    172800  IN      NS      i.gtld-servers.net.
+               net.                    172800  IN      NS      a.gtld-servers.net.
+               net.                    172800  IN      NS      g.gtld-servers.net.
+               net.                    172800  IN      NS      h.gtld-servers.net.
+               net.                    172800  IN      NS      b.gtld-servers.net.
+               net.                    172800  IN      NS      k.gtld-servers.net.
+               net.                    172800  IN      NS      f.gtld-servers.net.
+               net.                    172800  IN      NS      l.gtld-servers.net.
+               net.                    86400   IN      DS      35886 8 2 7862B27F5F516EBE19680444D4CE5E762981931842C465F00236401D 8BD973EE
+               net.                    86400   IN      RRSIG   DS 8 1 86400 20170312170000 20170227160000 61045 . bRSoCpmN/6LhmSB7i68N0zO08WwVikjm6HhOyZMhyjF4sfAaDoeTMs5E XjflCZMly1SP8CwkK6Wz6Ozb8nMUHEsYOhASVBkYC/ImBpqIV5LxaCbW 4L7g5Mwam0MBZb4hybI7JUyuiRONVy3YYk+eUvyf4/flu3Cl14a36LYv 2In/ECg9sV8cMOrYs722vigvzH5eHLIZTOhGBE2//uH8pw1YnMW9sYRj f5algDGge4hZvi0ieQyzfT3UqmQEmZZCz+vdlPtgKqIj6+I+V+SZOB2d aBkb/0NrWIx+iE+fqP6jx7I2HCobVnYUvJjL/t6O1shC4mxcDghLLUpf fSnEag==
+               SECTION ADDITIONAL
+               a.gtld-servers.net.     172800  IN      A       192.5.6.30
+               b.gtld-servers.net.     172800  IN      A       192.33.14.30
+               c.gtld-servers.net.     172800  IN      A       192.26.92.30
+               d.gtld-servers.net.     172800  IN      A       192.31.80.30
+               e.gtld-servers.net.     172800  IN      A       192.12.94.30
+               f.gtld-servers.net.     172800  IN      A       192.35.51.30
+               g.gtld-servers.net.     172800  IN      A       192.42.93.30
+               h.gtld-servers.net.     172800  IN      A       192.54.112.30
+               i.gtld-servers.net.     172800  IN      A       192.43.172.30
+               j.gtld-servers.net.     172800  IN      A       192.48.79.30
+               k.gtld-servers.net.     172800  IN      A       192.52.178.30
+               l.gtld-servers.net.     172800  IN      A       192.41.162.30
+               m.gtld-servers.net.     172800  IN      A       192.55.83.30
+               a.gtld-servers.net.     172800  IN      AAAA    2001:503:a83e::2:30
+               b.gtld-servers.net.     172800  IN      AAAA    2001:503:231d::2:30
+       ENTRY_END
+
+
+RANGE_END
+
+;cz
+RANGE_BEGIN 0 10000
+       ADDRESS 194.0.12.1
+       ADDRESS 194.0.13.1
+       ADDRESS 194.0.14.1
+       ADDRESS 193.29.206.1
+       ADDRESS 2001:678:f::1
+       ADDRESS 2001:678:10::1
+       ADDRESS 2001:678:11::1
+       ADDRESS 2001:678:1::1
+
+       ENTRY_BEGIN
+               MATCH opcode qtype qname
+               ADJUST copy_id
+               REPLY QR RD DO NOERROR
+               SECTION QUESTION
+               nic.cz.                         IN      DS
+               SECTION ANSWER
+               nic.cz.                 14400   IN      DS      61281 13 2 4104D40C8FE2030BF7A09A199FCF37B36F7EC8DDD16F5A84F2E61C24 8D3AFD0F
+               nic.cz.                 14400   IN      RRSIG   DS 10 2 14400 20170312221837 20170228130956 58211 cz. LKiLo/EqBTsv1e6s8p5UfN/qZfd3Dnf5XGO11vW2pELybdmmpD5clR/v mz+cc4zxLiQAxDnBpdUPAPdxcPlILa5mjMfJy2ExsQOZhcbIUInRala6 GhBfGy3bnniJkJCu7sAIsf+HyDM92pFSql67ErS0ROERBhSRVbfunEBy FCo=
+       ENTRY_END
+
+       ENTRY_BEGIN
+               MATCH opcode qtype qname
+               ADJUST copy_id
+               REPLY QR RD DO AA NOERROR
+               SECTION QUESTION
+               a.ns.nic.cz.                    IN      A
+               SECTION ANSWER
+               a.ns.nic.cz.            1800    IN      A       194.0.12.1
+               a.ns.nic.cz.            1800    IN      RRSIG   A 13 4 1800 20170314061428 20170228072511 16836 nic.cz. rJsAWa5cYGooRzu5+jRW5m4ebYHPkHRBwrLT5P7lIkT5VkcoIRYMcdYf gr+pXJFM9IduSZJXfomumKyOYHts7Q==
+       ENTRY_END
+
+       ENTRY_BEGIN
+               MATCH opcode qtype qname
+               ADJUST copy_id
+               REPLY QR RD DO AA NOERROR
+               SECTION QUESTION
+               b.ns.nic.cz.                    IN      A
+               SECTION ANSWER
+               b.ns.nic.cz.            1800    IN      A       194.0.13.1
+               b.ns.nic.cz.            1800    IN      RRSIG   A 13 4 1800 20170314044412 20170228072511 16836 nic.cz. 6dOVqiXZgfp1fltylhOAYvfILWCGu61cpabseUNTmb20TZR1GuI5ueTS lmYa93o46M+01ATfrkwBWZC065G8yg==
+       ENTRY_END
+
+       ENTRY_BEGIN
+               MATCH opcode qtype qname
+               ADJUST copy_id
+               REPLY QR RD DO AA NOERROR
+               SECTION QUESTION
+               c.ns.nic.cz.                    IN      A
+               SECTION ANSWER
+               c.ns.nic.cz.            1800    IN      A       194.0.14.1
+               c.ns.nic.cz.            1800    IN      RRSIG   A 13 4 1800 20170314015427 20170228072511 16836 nic.cz. 824yJyP2dWJ7phi63r1/24v0SbzU9FVi7b8IkXIrQ+3aCTyXKugE8l8C qLz6qwulzu2aG+8SyfvenXDSySqiqQ==
+       ENTRY_END
+
+       ENTRY_BEGIN
+               MATCH opcode qtype qname
+               ADJUST copy_id
+               REPLY QR RD DO AA NOERROR
+               SECTION QUESTION
+               d.ns.nic.cz.                    IN      A
+               SECTION ANSWER
+               d.ns.nic.cz.            1800    IN      A       193.29.206.1
+               d.ns.nic.cz.            1800    IN      RRSIG   A 13 4 1800 20170313233915 20170228072511 16836 nic.cz. KAlDHStrGzdtoBe9epn87lsggg6vVvHPGMPv/njWSTns7BX0//fTxfOc iOXdutsQhq/8Z2o87pKzE2F9FbE6Hw==
+       ENTRY_END
+
+       ENTRY_BEGIN
+               MATCH opcode qtype qname
+               ADJUST copy_id
+               REPLY QR RD DO AA NOERROR
+               SECTION QUESTION
+               a.ns.nic.cz.                    IN      AAAA
+               SECTION ANSWER
+               a.ns.nic.cz.            1800    IN      AAAA    2001:678:f::1
+               a.ns.nic.cz.            1800    IN      RRSIG   AAAA 13 4 1800 20170313215345 20170228072511 16836 nic.cz. GMmWVeCiIzq2kt4VmsDXGSaAWMtDB78+Yz7qgEqu5C1PAUUBQo4o5lU/ igGhIJHk2BSljJxjaL+LlnW3uOeCDQ==
+       ENTRY_END
+
+       ENTRY_BEGIN
+               MATCH opcode qtype qname
+               ADJUST copy_id
+               REPLY QR RD DO AA NOERROR
+               SECTION QUESTION
+               b.ns.nic.cz.                    IN      AAAA
+               SECTION ANSWER
+               b.ns.nic.cz.            1800    IN      AAAA    2001:678:10::1
+               b.ns.nic.cz.            1800    IN      RRSIG   AAAA 13 4 1800 20170314011606 20170228072511 16836 nic.cz. ALfV0l2a4D1CITaZdP5k5Mc+uTZ1dSb3SRm1Z+AQmeQLKI7YrFlOCuUa q90yMQnG+0GMS4uwSmIcT3V2cjpBXw==
+       ENTRY_END
+
+       ENTRY_BEGIN
+               MATCH opcode qtype qname
+               ADJUST copy_id
+               REPLY QR RD DO AA NOERROR
+               SECTION QUESTION
+               c.ns.nic.cz.                    IN      AAAA
+               SECTION ANSWER
+               c.ns.nic.cz.            1800    IN      AAAA    2001:678:11::1
+               c.ns.nic.cz.            1800    IN      RRSIG   AAAA 13 4 1800 20170313184936 20170228072511 16836 nic.cz. U/tpYchWTle9loCW8fPIMoF3zto86UmFFCSnU7sFG9Qxk4I8fNUro1nT fAeJlrI7L7Yx9qlJTAllzrPjuw+3IA==
+       ENTRY_END
+
+       ENTRY_BEGIN
+               MATCH opcode qtype qname
+               ADJUST copy_id
+               REPLY QR RD DO AA NOERROR
+               SECTION QUESTION
+               d.ns.nic.cz.                    IN      AAAA
+               SECTION ANSWER
+               d.ns.nic.cz.            1800    IN      AAAA    2001:678:1::1
+               d.ns.nic.cz.            1800    IN      RRSIG   AAAA 13 4 1800 20170313124110 20170228072511 16836 nic.cz. kOI6MVJDSexQQ6uGT7KBjrTB2PDs49Cm65heInzMGZ20R75wO0JhSlce /T+Rpw3R0XpBre39h2DF7yBgePr+qg==
+       ENTRY_END
+
+       ENTRY_BEGIN
+               MATCH opcode qtype qname
+               ADJUST copy_id
+               REPLY QR RD DO AA NOERROR
+               SECTION QUESTION
+               cz.                             IN      NS
+               SECTION ANSWER
+               cz.                     14400   IN      NS      a.ns.nic.cz.
+               cz.                     14400   IN      NS      b.ns.nic.cz.
+               cz.                     14400   IN      NS      d.ns.nic.cz.
+               cz.                     14400   IN      NS      c.ns.nic.cz.
+               cz.                     14400   IN      RRSIG   NS 10 1 14400 20170307183707 20170222123920 58211 cz. Ma2XNvMziL3GtyLXtKcCBBG12+r7Uor3OFTw6c7Txk573/Y33IMnbN6B iKz0hZw0XK5c6nHciMEDkH2K772fcskHjEnOg+bJMBJlUmqskbVBmwpZ Dd156QC9OIfcE6yJYa6Y1jOegpgCaZLXRDOZodtvvTkYWNP/D01cmsF6 U+4=
+       ENTRY_END
+
+       ENTRY_BEGIN
+               MATCH opcode qtype qname
+               ADJUST copy_id copy_query
+               REPLY QR AA RD DO NOERROR
+               SECTION QUESTION
+               CZ.                             IN      DNSKEY
+               SECTION ANSWER
+               cz.                     18000   IN      DNSKEY  256 3 10 AwEAAdWL2Br92Vx0dLEOOB8y02ss8LtKIyGlLJ2ymJ02WqR3AAEEZN0f NPKF77kdKsjlG8DlzmSIOR12aa9EhpXqyHOwWI0kHOMJVnn6ZKFIAl71 JP/dYIcshYUxKZZMe+zEAUrVtzlLVDtM6cDOPDuBNa1ujYec3eJl9Ipq eUEG6gAH
+               cz.                     18000   IN      DNSKEY  257 3 10 AwEAAay0hi4HN2r/BqMQTpIPIVDyjmyF+9ZWvr5Lewx+q+947o/GrRv4 FGFfkZxf9CFfYVUf0jG5Yq4i06pGVNwJl81HS9Ux2oeHRXUvgtLnl5He RVLL+zgI5byx9HSNr4bPO8ZEn5OjoayhkNyGSFr4VWrzQk/K02vLP4d1 cCEzUQy30eyZto2/tG5ZwCU/iRkS1PJOcOW98hiFIfFDZv1XjbEpqEYh T2PATs6rt+BKwSHKGISmg1PNdg+y0rItemYMWr1f9BGAdtTWoPCPCYPj OZMPoIyA4tMscD+ww54Jf/QNoHccY4hO1yHiuAXG7SUn8jo0IKQ9W7JJ xES0aqFCX/0=
+               cz.                     18000   IN      RRSIG   DNSKEY 10 1 18000 20170304000000 20170218000000 54576 cz. paDUYJRI+4qBfPaGBy7nVMQnsp2hQQdiWWMnNunhfemFYi9MtXE2VTG3 DDL4Kue3ImSko/BxCRqHxHq5Sdf4LNexFWqFUlz4CjVeFobGTmmgOlak Sm2WygfZsO3w1OeO5cDCZTbi6XAhkr1cL3sgJR+/aOKIGUs8uIk1pZ5H WGNB1waF7Euxe+joEFtoj2/Tk7G7AlD1/Hw+pw5AkLTNawpHJF1/vnfT mPxdPHhJYCHlQdBE9dLkqQk7swnxMegBiUCeRd7SRiGq+1wubYsGirwl RZfYQpcqMnLH/1KITlVkKNYKnUGLjej4XRCDZOe3j8geIyS7WCJ5OPnU Lw0KDA==
+               cz.                     18000   IN      RRSIG   DNSKEY 10 1 18000 20170313144128 20170228113958 58211 cz. xSEKl8ttuDR9Q3YjtVX+dPfdtwd4OG6rooml9TDIKNlND9LRTceRnpEH EsxUumTrRfWh8P4HWZF+B7hdm8qvcxAS3X3TYT4T7fKV5AFQbbMh+fv9 nut2RcZF40/x/0Hxh6QPLAtMDZs4W8IovQnpiTw8am9UoJNP+tT+dsgw ndA=
+       ENTRY_END
+
+       ENTRY_BEGIN
+               MATCH opcode qtype qname
+               ADJUST copy_id copy_query
+               REPLY QR AA RD DO NOERROR
+               SECTION QUESTION
+               nic.cz.                         IN      DNSKEY
+               SECTION ANSWER
+               nic.cz.                 1800    IN      DNSKEY  256 3 13 vtFRotT17dIOLFIWi8BVFpHu8Thf/BrslFNNWlH2PPucF1rec69vuJi2 MswwoRtYQpRehbsjsjJ7kxXlTtfaFw==
+               nic.cz.                 1800    IN      DNSKEY  257 3 13 LM4zvjUgZi2XZKsYooDE0HFYGfWp242fKB+O8sLsuox8S6MJTowY8lBD jZD7JKbmaNot3+1H8zU9TrDzWmmHwQ==
+               nic.cz.                 1800    IN      RRSIG   DNSKEY 13 2 1800 20170313103655 20170228072511 61281 nic.cz. mA899bEiTCULWpuF2JpVSm3wyHWmHIYuRMJj2X2E0AUhdbX2zhuSun8q EjKpr/0FfZCmlJIEC6dXmjIV+X0jhg==
+               nic.cz.                 1800    IN      RRSIG   DNSKEY 13 2 1800 20170313194411 20170228072511 16836 nic.cz. iYJgEoykgdz6aqrE1DwM6fyWUFI2pDShqgfg7TiMaunyuvi2JwUaSbEq Ifm2aO5gF7bqSQjM+Y0NOzZ5nAUKrg==
+       ENTRY_END
+
+       ENTRY_BEGIN
+               MATCH opcode qtype qname
+               ADJUST copy_id
+               REPLY QR RD DO NOERROR
+               SECTION QUESTION
+               lidovky.cz.                     IN      DS
+               SECTION ANSWER
+               lidovky.cz.             14400   IN      DS      1901 8 2 1ED680FFBD77C4845A9BE15286FC73A756B6E4150C65DBC52EE4799B 641DFCE3
+               lidovky.cz.             14400   IN      DS      4555 8 2 E4B03345B8E0EB3CD9208D2FA60F835A1E391CC485E84CBF3CB1136B D7748913
+               lidovky.cz.             14400   IN      RRSIG   DS 10 2 14400 20170312182850 20170228113958 58211 cz. yw/iboH4hKxLOv+0Mbyvp4rnT14IxkiOpk6kW7ANJI2AGoBa5L7oGy6F 4eEuc2AZKrn/FP2OZL8mItt0hBCucHpaBeRyx8n78pCuMnEaYs/Buxro 0S/bpkMhTRTTJCQ2uwKHAAfi2Q3PC1CWLKB8p7MbN21JlC3S7ANu0DgL 4Ro=
+       ENTRY_END
+
+       ENTRY_BEGIN
+               MATCH opcode subdomain
+               ADJUST copy_id copy_query
+               REPLY QR RD DO NOERROR
+               SECTION QUESTION
+               lidovky.cz.                     IN      NS
+               SECTION AUTHORITY
+               lidovky.cz.             14400   IN      NS      ns.mafra.cz.
+               lidovky.cz.             14400   IN      NS      ns.mafracz.net.
+               lidovky.cz.             14400   IN      NS      ns2.mafra.cz.
+               lidovky.cz.             14400   IN      DS      1901 8 2 1ED680FFBD77C4845A9BE15286FC73A756B6E4150C65DBC52EE4799B 641DFCE3
+               lidovky.cz.             14400   IN      DS      4555 8 2 E4B03345B8E0EB3CD9208D2FA60F835A1E391CC485E84CBF3CB1136B D7748913
+               lidovky.cz.             14400   IN      RRSIG   DS 10 2 14400 20170312182850 20170228113958 58211 cz. yw/iboH4hKxLOv+0Mbyvp4rnT14IxkiOpk6kW7ANJI2AGoBa5L7oGy6F 4eEuc2AZKrn/FP2OZL8mItt0hBCucHpaBeRyx8n78pCuMnEaYs/Buxro 0S/bpkMhTRTTJCQ2uwKHAAfi2Q3PC1CWLKB8p7MbN21JlC3S7ANu0DgL 4Ro=
+               SECTION ADDITIONAL
+               ns.mafra.cz.            18000   IN      A       194.79.53.77
+               ns2.mafra.cz.           18000   IN      A       194.79.55.77
+       ENTRY_END
+
+       ENTRY_BEGIN
+               MATCH opcode qtype qname
+               ADJUST copy_id
+               REPLY QR RD DO NOERROR
+               SECTION QUESTION
+               mafra.cz.                       IN      DS
+               SECTION AUTHORITY
+               cz.                     900     IN      SOA     a.ns.nic.cz. hostmaster.nic.cz. 1488285598 900 300 604800 900
+               cz.                     900     IN      RRSIG   SOA 10 1 14400 20170314055727 20170228113958 58211 cz. LBUALMOXd40KawVmUNWNlfMbeR0LDwNI5DPu9HqF8rtWCtHxReSGPrYs lyaL6gzVOn+i9Zikolj2arR+XPrb3vDMBjhh1AhP83p6Dfk4z0nEeaVy bJBdCSrcXcOi72RXY1QpO6lfhkpW2rhYtKS0Pq0rPVSF6rFVSLMavD82 X9s=
+               NP199O12UJ32S0N5CTA47VUUQK1B2N6P.cz. 900 IN NSEC3 1 0 10 34817B0B5673BB5D NP19M6SR9GQ4GR722R31PHMCCMV2L47C  NS
+               NP199O12UJ32S0N5CTA47VUUQK1B2N6P.cz. 900 IN RRSIG NSEC3 10 2 900 20170309110321 20170224213957 58211 cz. Brz4hpl2jq+rhJlu9tZ6Ij0Ru4+2Yyw5a4OVgN4/umq/9jPn2dWgnOPS 6Mk5WIC9Yun9ZIvncS3oE1dRhXAF+nGZS9jr1tdXLx+1Sow4o0nP8cxw 8Sl8BVjBkDpVSZfGVMN06NjJub57uw5nDF3E/AjoCYDxnb0UrVmIGCUb h7A=
+       ENTRY_END
+
+       ENTRY_BEGIN
+               MATCH opcode subdomain
+               ADJUST copy_id copy_query
+               REPLY QR RD DO NOERROR
+               SECTION QUESTION
+               mafra.cz.                       IN      NS
+               SECTION AUTHORITY
+               mafra.cz.               14400   IN      NS      ns.mafra.cz.
+               mafra.cz.               14400   IN      NS      ns.mafracz.net.
+               mafra.cz.               14400   IN      NS      ns2.mafra.cz.
+               np199o12uj32s0n5cta47vuuqk1b2n6p.cz. 900 IN NSEC3 1 0 10 34817B0B5673BB5D NP19M6SR9GQ4GR722R31PHMCCMV2L47C  NS
+               np199o12uj32s0n5cta47vuuqk1b2n6p.cz. 900 IN RRSIG NSEC3 10 2 900 20170309110321 20170224213957 58211 cz. Brz4hpl2jq+rhJlu9tZ6Ij0Ru4+2Yyw5a4OVgN4/umq/9jPn2dWgnOPS 6Mk5WIC9Yun9ZIvncS3oE1dRhXAF+nGZS9jr1tdXLx+1Sow4o0nP8cxw 8Sl8BVjBkDpVSZfGVMN06NjJub57uw5nDF3E/AjoCYDxnb0UrVmIGCUb h7A=
+               SECTION ADDITIONAL
+               ns.mafra.cz.            7275    IN      A       194.79.53.77
+               ns2.mafra.cz.           7275    IN      A       194.79.55.77
+       ENTRY_END
+
+       ENTRY_BEGIN
+               MATCH opcode qtype qname
+               ADJUST copy_id
+               REPLY QR RD DO NOERROR
+               SECTION QUESTION
+               idnes.cz.                       IN      DS
+               SECTION AUTHORITY
+               cz.                     900     IN      SOA     a.ns.nic.cz. hostmaster.nic.cz. 1488285598 900 300 604800 900
+               cz.                     900     IN      RRSIG   SOA 10 1 14400 20170314055727 20170228113958 58211 cz. LBUALMOXd40KawVmUNWNlfMbeR0LDwNI5DPu9HqF8rtWCtHxReSGPrYs lyaL6gzVOn+i9Zikolj2arR+XPrb3vDMBjhh1AhP83p6Dfk4z0nEeaVy bJBdCSrcXcOi72RXY1QpO6lfhkpW2rhYtKS0Pq0rPVSF6rFVSLMavD82 X9s=
+               AUOICN1434M9JOGSCEGTCFV7NUDKO603.cz. 900 IN NSEC3 1 0 10 34817B0B5673BB5D AUOJ570J8RB3057RHUJ1DAGMCO1GAUDH  NS
+               AUOICN1434M9JOGSCEGTCFV7NUDKO603.cz. 900 IN RRSIG NSEC3 10 2 900 20170313031226 20170227134003 58211 cz. CMvsPy0Ce7UR692R7jMat7E9Mm2DHTcZz7b5PlwsNX3i+41Ymlh1TeAs utrGbJUR+cdKQStzN6uNsxGQ84zFmeqOvMKtZBbvdavQbXtDfwTuEplX XolQ82j/0wVYCkpYANkLmyLrwbbZxJ4sSb1sbVRtMN0daeE6y3OleQDk 2Uw=
+       ENTRY_END
+
+       ENTRY_BEGIN
+               MATCH opcode subdomain
+               ADJUST copy_id copy_query
+               REPLY QR RD DO NOERROR
+               SECTION QUESTION
+               idnes.cz.                       IN      NS
+               SECTION AUTHORITY
+               idnes.cz.               14400   IN      NS      ns.mafra.cz.
+               idnes.cz.               14400   IN      NS      ns.mafracz.net.
+               idnes.cz.               14400   IN      NS      ns2.mafra.cz.
+               auoicn1434m9jogscegtcfv7nudko603.cz. 900 IN NSEC3 1 0 10 34817B0B5673BB5D AUOJ570J8RB3057RHUJ1DAGMCO1GAUDH  NS
+               auoicn1434m9jogscegtcfv7nudko603.cz. 900 IN RRSIG NSEC3 10 2 900 20170313031226 20170227134003 58211 cz. CMvsPy0Ce7UR692R7jMat7E9Mm2DHTcZz7b5PlwsNX3i+41Ymlh1TeAs utrGbJUR+cdKQStzN6uNsxGQ84zFmeqOvMKtZBbvdavQbXtDfwTuEplX XolQ82j/0wVYCkpYANkLmyLrwbbZxJ4sSb1sbVRtMN0daeE6y3OleQDk 2Uw=
+               SECTION ADDITIONAL
+               ns.mafra.cz.            18000   IN      A       194.79.53.77
+               ns2.mafra.cz.           18000   IN      A       194.79.55.77
+       ENTRY_END
+
+RANGE_END
+
+;net
+RANGE_BEGIN 0 10000
+       ADDRESS 192.5.6.30
+       ADDRESS 192.33.14.30
+       ADDRESS 192.26.92.30
+       ADDRESS 192.31.80.30
+       ADDRESS 192.12.94.30
+       ADDRESS 192.35.51.30
+       ADDRESS 192.42.93.30
+       ADDRESS 192.54.112.30
+       ADDRESS 192.43.172.30
+       ADDRESS 192.48.79.30
+       ADDRESS 192.52.178.30
+       ADDRESS 192.41.162.30
+       ADDRESS 192.55.83.30
+       ADDRESS 2001:503:a83e::2:30
+       ADDRESS 2001:503:231d::2:30
+
+       ENTRY_BEGIN
+               MATCH opcode qtype qname
+               ADJUST copy_id copy_query
+               REPLY QR AA RD DO NOERROR
+               SECTION QUESTION
+               net.                            IN      DNSKEY
+               SECTION ANSWER
+               net.                    86400   IN      DNSKEY  257 3 8 AQOYBnzqWXIEj6mlgXg4LWC0HP2n8eK8XqgHlmJ/69iuIHsa1TrHDG6T cOra/pyeGKwH0nKZhTmXSuUFGh9BCNiwVDuyyb6OBGy2Nte9Kr8NwWg4 q+zhSoOf4D+gC9dEzg0yFdwT0DKEvmNPt0K4jbQDS4Yimb+uPKuF6yie WWrPYYCrv8C9KC8JMze2uT6NuWBfsl2fDUoV4l65qMww06D7n+p7Rbdw WkAZ0fA63mXVXBZF6kpDtsYD7SUB9jhhfLQE/r85bvg3FaSs5Wi2BaqN 06SzGWI1DHu7axthIOeHwg00zxlhTpoYCH0ldoQz+S65zWYi/fRJiyLS Bb6JZOvn
+               net.                    86400   IN      DNSKEY  256 3 8 AQPMYWRP6GrTFoGFNQyuta0p4VYHr5Ox7yOl0Zv5ejOeRUnmoVgvHUR0 8lmmKEnBBPPZ89f/spt8VQ3GFUAbjJVzlcF5dQbY26YO/XKNcB2dlCEy quowoOQYsbASUj91c0IfFXAbK10reyShzaUi76p2VG5f0tjq/iC4iMZJ yxcpRQ==
+               net.                    86400   IN      RRSIG   DNSKEY 8 1 86400 20170306173857 20170219173357 35886 net. Vvmjg9riU5c81z+4GEMSV4kEHf0ds2lxyD/UmGB4Vjtu0S71KldD4hh2 nA086G2Ssl1gBFEcVkLdPPpvh/c39mSITollT43u55pBLGQQcRXqPL6X 5xjlsOayD4QfwszBn5/5QTSD9pB5D9AsGQARlQTa0Vp1O9ruFDq0BuVQ F4P2QkNaxM6T+QZdFtqFOe6n3H+Qn0/TEvbM72w0hIBr1po3aSZuJleN SR3Wbubs1H7p1E6a6FH2+rRb3t7Q5DWNT/P5kZU0j+JB1PRknSwWCv7n orxIfhoYuFqU8Gw9w5KSw+Qtc7AjxlawQSAAZPLaq9ZL2cEKkeUrEGTD V41adg==
+       ENTRY_END
+
+       ENTRY_BEGIN
+               MATCH opcode qtype qname
+               ADJUST copy_id
+               REPLY QR RD DO NOERROR
+               SECTION QUESTION
+               net.                    IN      DS
+               SECTION ANSWER
+               net.                    900     IN      SOA     a.gtld-servers.net. nstld.verisign-grs.com. 1488288307 1800 900 604800 86400
+               net.                    900     IN      RRSIG   SOA 8 1 900 20170307132507 20170228121507 16757 net. aeKdMkRb/POrt2pw0h0O8fN8EUXFXJlPHu/aHtIihIEkj85ZpCNrEOxr Zg5jkYtPXQwx+X0cnD/uNMEWPOD3vNW3Ap9Y01RlFBzvlBHeH4YA09tr ElBPqkzN6bNrNJi3V/yJjV2dy7IUvqDO9M5cQEuPHIED2sIh1FATmB6b KMs=
+               A1RT98BS5QGC9NFI51S9HCI47ULJG6JH.net. 86400 IN NSEC3 1 1 0 - A1RUUFFJKCT2Q54P78F8EJGJ8JBK7I8B  NS SOA RRSIG DNSKEY NSEC3PARAM
+               A1RT98BS5QGC9NFI51S9HCI47ULJG6JH.net. 86400 IN RRSIG NSEC3 8 2 86400 20170306061207 20170227050207 16757 net. s53ftACmRAtcKkfowIENgWkCuHNoyesDp5kz1g62Uxm9v03ig4TkMMBW cUMvLFCp1XpmiOx9MX5klfJgFrhQPYmaRBuQaI3nrH6B57kjsphtJYvc B6wyRGPHAg+oNecZqQbUBEkzBrppoe4a5nhlOkLgbHKb5qPbN0tV5wBu x5c=
+       ENTRY_END
+
+       ENTRY_BEGIN
+               MATCH opcode qtype qname
+               ADJUST copy_id
+               REPLY QR RD DO AA NOERROR
+               SECTION QUESTION
+               net.                    IN      NS
+               SECTION ANSWER
+               net.                    172800  IN      NS      i.gtld-servers.net.
+               net.                    172800  IN      NS      e.gtld-servers.net.
+               net.                    172800  IN      NS      h.gtld-servers.net.
+               net.                    172800  IN      NS      b.gtld-servers.net.
+               net.                    172800  IN      NS      a.gtld-servers.net.
+               net.                    172800  IN      NS      j.gtld-servers.net.
+               net.                    172800  IN      NS      f.gtld-servers.net.
+               net.                    172800  IN      NS      m.gtld-servers.net.
+               net.                    172800  IN      NS      l.gtld-servers.net.
+               net.                    172800  IN      NS      g.gtld-servers.net.
+               net.                    172800  IN      NS      k.gtld-servers.net.
+               net.                    172800  IN      NS      c.gtld-servers.net.
+               net.                    172800  IN      NS      d.gtld-servers.net.
+               net.                    172800  IN      RRSIG   NS 8 1 172800 20170304061505 20170225050505 16757 net. Pq4fze7lagq5NaKm7P4plOCY4gbFH3ZqZPvWIMojqNgHmoboqXWpth7R s2th1NzR7fxTvxngwVFlO7tR2Sf19epNimuJHEkxAKceLtSfdwxilfMz WvPq5/2tCINU8xo/SOC13ST4zq3PUi+VfPYbRF+5SakOTkU/6m1+9hlo ixo=
+               SECTION ADDITIONAL
+               a.gtld-servers.net.     172800  IN      A       192.5.6.30
+               b.gtld-servers.net.     172800  IN      A       192.33.14.30
+               c.gtld-servers.net.     172800  IN      A       192.26.92.30
+               d.gtld-servers.net.     172800  IN      A       192.31.80.30
+               e.gtld-servers.net.     172800  IN      A       192.12.94.30
+               f.gtld-servers.net.     172800  IN      A       192.35.51.30
+               g.gtld-servers.net.     172800  IN      A       192.42.93.30
+               h.gtld-servers.net.     172800  IN      A       192.54.112.30
+               i.gtld-servers.net.     172800  IN      A       192.43.172.30
+               j.gtld-servers.net.     172800  IN      A       192.48.79.30
+               k.gtld-servers.net.     172800  IN      A       192.52.178.30
+               l.gtld-servers.net.     172800  IN      A       192.41.162.30
+               m.gtld-servers.net.     172800  IN      A       192.55.83.30
+               a.gtld-servers.net.     172800  IN      AAAA    2001:503:a83e::2:30
+               b.gtld-servers.net.     172800  IN      AAAA    2001:503:231d::2:30
+       ENTRY_END
+
+       ENTRY_BEGIN
+               MATCH opcode qtype qname
+               ADJUST copy_id
+               REPLY QR RD DO NOERROR
+               SECTION QUESTION
+               root-servers.net.               IN      DS
+               SECTION AUTHORITY
+               A1RT98BS5QGC9NFI51S9HCI47ULJG6JH.net. 86400 IN NSEC3 1 1 0 - A1RUUFFJKCT2Q54P78F8EJGJ8JBK7I8B  NS SOA RRSIG DNSKEY NSEC3PARAM
+               A1RT98BS5QGC9NFI51S9HCI47ULJG6JH.net. 86400 IN RRSIG NSEC3 8 2 86400 20170306061207 20170227050207 16757 net. s53ftACmRAtcKkfowIENgWkCuHNoyesDp5kz1g62Uxm9v03ig4TkMMBW cUMvLFCp1XpmiOx9MX5klfJgFrhQPYmaRBuQaI3nrH6B57kjsphtJYvc B6wyRGPHAg+oNecZqQbUBEkzBrppoe4a5nhlOkLgbHKb5qPbN0tV5wBu x5c=
+               net.                    900     IN      SOA     a.gtld-servers.net. nstld.verisign-grs.com. 1488288412 1800 900 604800 86400
+               net.                    900     IN      RRSIG   SOA 8 1 900 20170307132652 20170228121652 16757 net. VnpLNPVwJO8pW1+aHC5jGq17aTVQuWMfu7igBcig9XG9li1wVBtawqaB zpiT8zoUWa76qkydyhuKWNjR895eLQz1Ql0cboW8GIddDFfKacpEP9nr QWwqjiMltfXn+iGiumrDbxwHKvwllXhOIShR5uAT640UcJ7QMhrq2jrJ V+Y=
+               T2UFL481TTPOHR68HR18DHJAFU935MJU.net. 86400 IN NSEC3 1 1 0 - T2UKCT9K5I0UHV7B3M3NA6JAIGDJM0GR  NS DS RRSIG
+               T2UFL481TTPOHR68HR18DHJAFU935MJU.net. 86400 IN RRSIG NSEC3 8 2 86400 20170307061346 20170228050346 16757 net. KpGr8ZrjFGZ2q39FPpGe9SBR4hJ1e8L9oyvO5JS7Eh4LVdjwsD8B13nQ 7iv6jdCWVIWXh41fB4dcCUvLYqd9d75bACQ4JQVR3ycON9Qwt2XiUyVk iBYm7cp9C78+Uj0/P3TClk90GtZaAb3+JXUZZvrK08HnivVtmTta1Laj TVk=
+       ENTRY_END
+
+       ENTRY_BEGIN
+               MATCH opcode qtype qname
+               ADJUST copy_id
+               REPLY QR RD DO NOERROR
+               SECTION QUESTION
+               gtld-servers.net.               IN      DS
+               SECTION AUTHORITY
+               A1RT98BS5QGC9NFI51S9HCI47ULJG6JH.net. 86400 IN NSEC3 1 1 0 - A1RUUFFJKCT2Q54P78F8EJGJ8JBK7I8B  NS SOA RRSIG DNSKEY NSEC3PARAM
+               A1RT98BS5QGC9NFI51S9HCI47ULJG6JH.net. 86400 IN RRSIG NSEC3 8 2 86400 20170306061207 20170227050207 16757 net. s53ftACmRAtcKkfowIENgWkCuHNoyesDp5kz1g62Uxm9v03ig4TkMMBW cUMvLFCp1XpmiOx9MX5klfJgFrhQPYmaRBuQaI3nrH6B57kjsphtJYvc B6wyRGPHAg+oNecZqQbUBEkzBrppoe4a5nhlOkLgbHKb5qPbN0tV5wBu x5c=
+               net.                    900     IN      SOA     a.gtld-servers.net. nstld.verisign-grs.com. 1488288457 1800 900 604800 86400
+               net.                    900     IN      RRSIG   SOA 8 1 900 20170307132737 20170228121737 16757 net. x5j/Iiv9Bey7T4FSeICdJrAyn5tEubHlhQXGmjM4KAVEq1CybM70rL7s HrwAhyiC/9RobYaMhM4fxmji3h8vWYbWauGMZ5XXmRGL66jE6Zq/M99v zk7RDnedNS+vPAv49PJ5aICGs4hfapPg3Kwf/KKwDzzvactaRYPvptLX u74=
+               5QD8VL68T2I9KOBD32KJ8LJVH5OH2PQ0.net. 86400 IN NSEC3 1 1 0 - 5QDPPOTUK27KKP9LIGTRB0K1CBVM9CIM  NS DS RRSIG
+               5QD8VL68T2I9KOBD32KJ8LJVH5OH2PQ0.net. 86400 IN RRSIG NSEC3 8 2 86400 20170306060531 20170227045531 16757 net. uV9O+X7Vk1+dgIdqY2qE5RvN4B4Nv+xDLjd5V30sapNI8ARrA8d9pEVY qGNU5tF8+VT3lukCjvfgfopyTjw+SO+x4fwpZenmehwgNFkMHYWAv/1l xrdZHw60JMa/jWy+Rtdqi2uBJMGldGEIiuLEHgkKAjub2wtdiEkl2Azo AeY=
+       ENTRY_END
+
+       ENTRY_BEGIN
+               MATCH opcode qtype subdomain
+               ADJUST copy_id copy_query
+               REPLY QR RD DO NOERROR
+               SECTION QUESTION
+               gtld-servers.net.               IN      NS
+
+               SECTION AUTHORITY
+               gtld-servers.net.       172800  IN      NS      av1.nstld.com.
+               gtld-servers.net.       172800  IN      NS      av2.nstld.com.
+               gtld-servers.net.       172800  IN      NS      av3.nstld.com.
+               gtld-servers.net.       172800  IN      NS      av4.nstld.com.
+               A1RT98BS5QGC9NFI51S9HCI47ULJG6JH.net. 86400 IN NSEC3 1 1 0 - A1RUUFFJKCT2Q54P78F8EJGJ8JBK7I8B  NS SOA RRSIG DNSKEY NSEC3PARAM
+               A1RT98BS5QGC9NFI51S9HCI47ULJG6JH.net. 86400 IN RRSIG NSEC3 8 2 86400 20170306061207 20170227050207 16757 net. s53ftACmRAtcKkfowIENgWkCuHNoyesDp5kz1g62Uxm9v03ig4TkMMBW cUMvLFCp1XpmiOx9MX5klfJgFrhQPYmaRBuQaI3nrH6B57kjsphtJYvc B6wyRGPHAg+oNecZqQbUBEkzBrppoe4a5nhlOkLgbHKb5qPbN0tV5wBu x5c=
+               5QD8VL68T2I9KOBD32KJ8LJVH5OH2PQ0.net. 86400 IN NSEC3 1 1 0 - 5QDPPOTUK27KKP9LIGTRB0K1CBVM9CIM  NS DS RRSIG
+               5QD8VL68T2I9KOBD32KJ8LJVH5OH2PQ0.net. 86400 IN RRSIG NSEC3 8 2 86400 20170306060531 20170227045531 16757 net. uV9O+X7Vk1+dgIdqY2qE5RvN4B4Nv+xDLjd5V30sapNI8ARrA8d9pEVY qGNU5tF8+VT3lukCjvfgfopyTjw+SO+x4fwpZenmehwgNFkMHYWAv/1l xrdZHw60JMa/jWy+Rtdqi2uBJMGldGEIiuLEHgkKAjub2wtdiEkl2Azo AeY=
+
+               SECTION ADDITIONAL
+               av1.nstld.com.          172800  IN      A       192.42.177.30
+               av1.nstld.com.          172800  IN      AAAA    2001:500:124::30
+               av2.nstld.com.          172800  IN      A       192.42.178.30
+               av2.nstld.com.          172800  IN      AAAA    2001:500:125::30
+               av3.nstld.com.          172800  IN      A       192.82.133.30
+               av3.nstld.com.          172800  IN      AAAA    2001:500:126::30
+               av4.nstld.com.          172800  IN      A       192.82.134.30
+               av4.nstld.com.          172800  IN      AAAA    2001:500:127::30
+       ENTRY_END
+
+       ENTRY_BEGIN
+               MATCH opcode qname qtype
+               ADJUST copy_id
+               REPLY QR RD DO NOERROR
+               SECTION QUESTION
+               a.gtld-servers.net.     IN      A
+               SECTION ANSWER
+               a.gtld-servers.net.     172800  IN      A       192.5.6.30
+       ENTRY_END
+
+       ENTRY_BEGIN
+               MATCH opcode subdomain
+               ADJUST copy_id copy_query
+               REPLY QR RD DO NOERROR
+               SECTION QUESTION
+               gtld-servers.net.       IN      A
+               SECTION AUTHORITY
+               gtld-servers.net.       86400   IN      SOA     av4.nstld.com. nstld.verisign-grs.com. 2016101000 3600 900 1209600 86400
+       ENTRY_END
+
+       ENTRY_BEGIN
+               MATCH opcode qtype qname
+               ADJUST copy_id copy_query
+               REPLY QR RD DO NOERROR
+               SECTION QUESTION
+               a.root-servers.net.     IN      A
+               SECTION AUTHORITY
+               root-servers.net.       172800  IN      NS      a.root-servers.net.
+               SECTION ADDITIONAL
+               a.root-servers.net.     3600000 IN      A       198.41.0.4
+       ENTRY_END
+
+       ENTRY_BEGIN
+               MATCH opcode subdomain
+               ADJUST copy_id copy_query
+               REPLY QR RD DO NOERROR
+               SECTION QUESTION
+               root-servers.net.       IN      AAAA
+               SECTION AUTHORITY
+               root-servers.net.       172800  IN      NS      a.root-servers.net.
+               SECTION ADDITIONAL
+               a.root-servers.net.     172800  IN      A       198.41.0.4
+       ENTRY_END
+
+       ENTRY_BEGIN
+               MATCH opcode qtype qname
+               ADJUST copy_id
+               REPLY QR RD DO NOERROR
+               SECTION QUESTION
+               mafracz.net.                    IN      DS
+               SECTION AUTHORITY
+               A1RT98BS5QGC9NFI51S9HCI47ULJG6JH.net. 86400 IN NSEC3 1 1 0 - A1RUUFFJKCT2Q54P78F8EJGJ8JBK7I8B  NS SOA RRSIG DNSKEY NSEC3PARAM
+               A1RT98BS5QGC9NFI51S9HCI47ULJG6JH.net. 86400 IN RRSIG NSEC3 8 2 86400 20170306061207 20170227050207 16757 net. s53ftACmRAtcKkfowIENgWkCuHNoyesDp5kz1g62Uxm9v03ig4TkMMBW cUMvLFCp1XpmiOx9MX5klfJgFrhQPYmaRBuQaI3nrH6B57kjsphtJYvc B6wyRGPHAg+oNecZqQbUBEkzBrppoe4a5nhlOkLgbHKb5qPbN0tV5wBu x5c=
+               net.                    900     IN      SOA     a.gtld-servers.net. nstld.verisign-grs.com. 1488288547 1800 900 604800 86400
+               net.                    900     IN      RRSIG   SOA 8 1 900 20170307132907 20170228121907 16757 net. y7pu7BBxAqE7l+JB4PIg/2l+WPgeOrSo+TRo2vKqVJFa03GttNi4BlWH s0sT3t4Mr0nvWxNf7PlUUct7KFssGGCu6kXC3RiZsXDaTeAnHjAfk9rg v/z6PM7fU3shLjEXDuIY9GtPAw65nbSeK1Sai/3gWUOnlxo1J2r3VXl3 cfE=
+               P61KBBD5BIIR8OO46HQUMTGEQAU7RAQJ.net. 86400 IN NSEC3 1 1 0 - P61TM41BB9FNGTRQ6D1PPAU0E9MD6S63  NS DS RRSIG
+               P61KBBD5BIIR8OO46HQUMTGEQAU7RAQJ.net. 86400 IN RRSIG NSEC3 8 2 86400 20170304061336 20170225050336 16757 net. QKFFK4L57Pzylgc3d/9Z5R++Cqxx5agyEG6HPcGtjCSslA7DEj+qULoy TTWNBpgzPgwwrZy0BdNYBZdC3rpdfiJqCidVXe7bRfUQDHY4NJiuouOv jLGxYf/k8gqKAElV9CriTBkkjALwXdlDvCSMnhczMlu0409YoL3XKBdE TCc=
+       ENTRY_END
+
+       ENTRY_BEGIN
+               MATCH opcode subdomain
+               ADJUST copy_id copy_query
+               REPLY QR RD DO NOERROR
+               SECTION QUESTION
+               mafracz.net.                    IN      NS
+               SECTION AUTHORITY
+               mafracz.net.            172800  IN      NS      ns.mafra.cz.
+               mafracz.net.            172800  IN      NS      ns2.mafra.cz.
+               mafracz.net.            172800  IN      NS      ns.mafracz.net.
+               A1RT98BS5QGC9NFI51S9HCI47ULJG6JH.net. 86400 IN NSEC3 1 1 0 - A1RUUFFJKCT2Q54P78F8EJGJ8JBK7I8B  NS SOA RRSIG DNSKEY NSEC3PARAM
+               A1RT98BS5QGC9NFI51S9HCI47ULJG6JH.net. 86400 IN RRSIG NSEC3 8 2 86400 20170306061207 20170227050207 16757 net. s53ftACmRAtcKkfowIENgWkCuHNoyesDp5kz1g62Uxm9v03ig4TkMMBW cUMvLFCp1XpmiOx9MX5klfJgFrhQPYmaRBuQaI3nrH6B57kjsphtJYvc B6wyRGPHAg+oNecZqQbUBEkzBrppoe4a5nhlOkLgbHKb5qPbN0tV5wBu x5c=
+               P61KBBD5BIIR8OO46HQUMTGEQAU7RAQJ.net. 86400 IN NSEC3 1 1 0 - P61TM41BB9FNGTRQ6D1PPAU0E9MD6S63  NS DS RRSIG
+               P61KBBD5BIIR8OO46HQUMTGEQAU7RAQJ.net. 86400 IN RRSIG NSEC3 8 2 86400 20170304061336 20170225050336 16757 net. QKFFK4L57Pzylgc3d/9Z5R++Cqxx5agyEG6HPcGtjCSslA7DEj+qULoy TTWNBpgzPgwwrZy0BdNYBZdC3rpdfiJqCidVXe7bRfUQDHY4NJiuouOv jLGxYf/k8gqKAElV9CriTBkkjALwXdlDvCSMnhczMlu0409YoL3XKBdE TCc=
+               SECTION ADDITIONAL
+               ns.mafracz.net.         165236  IN      A       185.17.118.250
+       ENTRY_END
+RANGE_END
+
+
+RANGE_BEGIN 0 10000
+       ADDRESS 194.79.53.77
+       ADDRESS 185.17.118.250
+       ADDRESS 194.79.55.77
+
+       ENTRY_BEGIN
+               MATCH opcode qtype qname
+               ADJUST copy_id copy_query
+               REPLY QR AA RD DO NOERROR
+               SECTION QUESTION
+               ns.mafracz.net.                 IN      A
+               SECTION ANSWER
+               ns.mafracz.net.         600     IN      A       185.17.118.250
+               SECTION AUTHORITY
+               mafracz.net.            600     IN      NS      ns2.mafra.cz.
+               mafracz.net.            600     IN      NS      ns.mafracz.net.
+               mafracz.net.            600     IN      NS      ns.mafra.cz.
+               SECTION ADDITIONAL
+               ns.mafra.cz.            300     IN      A       194.79.53.77
+               ns2.mafra.cz.           300     IN      A       194.79.55.77
+       ENTRY_END
+
+       ENTRY_BEGIN
+               MATCH opcode qtype qname
+               ADJUST copy_id copy_query
+               REPLY QR AA RD DO NOERROR
+               SECTION QUESTION
+               lidovky.cz.                     IN      DNSKEY
+               SECTION ANSWER
+               lidovky.cz.             3600    IN      DNSKEY  256 3 8 AwEAAb8GYuVqOqVTYuppOCtctAHJ38tuSVriiptyQcxdZsU7U7s2XFVp QAuTxxoBOuvJZLMLXNikOki1KCnQx030Zz73AFx8tiPS6rFzR71TJXTC HlpwDnnK3rkdsu6Ay85cLiRtFpgW1D1WPi5oCJWGs4dJ8L5mcoIYikZt 99cfDKY/
+               lidovky.cz.             3600    IN      DNSKEY  256 3 8 AwEAActfDtlHpl0/2f9qMqDt5uslMzxKDNf4FGklmcG+OO2HuhOhnQVx arB6lYxIKofy+uOvUhyGxlxCq08bVKueBpAt0x5kLMAwhc6zmn8niIE6 +UZxLg7+r2ojLTl0qQ2sMoG6ryo4/1GCEwh/TjJp8PuAzE0Q7yQOE6ed jZkWjraJ
+               lidovky.cz.             3600    IN      DNSKEY  257 3 8 AwEAAeFABHDi1QXB2WaYeLP07RzSfn9IIjMFrL6+obHNgMpY32skT0fX +4YiF1vrAwI3FyvqvLERcUqZl3kMFk/mBDEBcCCP8osbndEUEEg2fVkZ gPDVWT3nCBMXRRuXmddn+L7o18wTUTBbLCxCT22ROOqahUyDEHvHpUbq LTbY+GGnSNzAD9/BWFdMIGOKzQ8oYFFyWDGZYAcznojZO7gvpduw3slg t3YLv4iDxMIgFokCw+qQhf42xtmox7H6KfCaW59PdFfRRAc20JfpGxJ4 m2PAuuacgOoVkqRLqprJ0/NCmMJgQZ3yKQWe2QWfRP9lhmF9HXAVukyy Yh3+JaqulxM=
+               lidovky.cz.             3600    IN      RRSIG   DNSKEY 8 2 3600 20170305034217 20170226010009 1901 lidovky.cz. ElBtNV7iyYIWDExYkKJ+pwwIcSwJ6kXfiT3yFiwp43CqXg9KxMK55UBe nCToid81/xgGQmSnmHw8w5LQXs5CjiIamoMYCX0SCie0FsfvFx1871np CvzTeSr4U876wnZVAjmM/FnDP63/4SgIICZpMb3P/MU7M+zr93JgOMXs E0Zp4uR6puh7a52VMRBLBIEx4L8mw2TW3VU9an2FD5r6GnAqI5YqEY8P FpHdkb243AvB3rZBWtDiKFSzD+WsrqrDOL3lmA/Jcb5GcxA2CGxfTSCJ +ndebgdkFSwPXQxW7FQwdS4mTuPixdzonq8XtljLZSomyJ0mnepn0j7k lwklow==
+       ENTRY_END
+
+       ENTRY_BEGIN
+               MATCH opcode qtype qname
+               ADJUST copy_id
+               REPLY QR AA RD DO NOERROR
+               SECTION QUESTION
+               lidovky.cz.                     IN      A
+               SECTION ANSWER
+               lidovky.cz.             300     IN      A       185.17.119.32
+               lidovky.cz.             300     IN      RRSIG   A 8 2 300 20170306080352 20170227090009 61408 lidovky.cz. rDSYYHIlE4Drq4/QLXrTDk+oeY6nh+W0p7cSeH9BGojdE4qIHjWUDjOS C4sEQpZtgG6EKO5j6P2+8bJ/3SmWdFT2GPHgP5eeRHPoo3iaGQMxXebD pbyVHtN//Gb577ycKcbNys/loflzhTWL2K1QXIHk53iWOTlDBg6uJcqi HsI=
+               SECTION AUTHORITY
+               lidovky.cz.             300     IN      NS      ns2.mafra.cz.
+               lidovky.cz.             300     IN      NS      ns.mafracz.net.
+               lidovky.cz.             300     IN      NS      ns.mafra.cz.
+               lidovky.cz.             300     IN      RRSIG   NS 8 2 300 20170304164701 20170225230009 61408 lidovky.cz. QmaLuzIDTiB/QbIgyxPRTVGFG/P5wFyrzlBtK7LIUsVIk8wuM9GudvQx weBiLPbaj28YypIdkS/z12sIawYenv4R9lswSVCOqT2H1KhXMtbW+BMk p5bCyr1mEJfceas6td4gywOydtfjYwU7WBvFPpMszP22p7jrizeQQpNB dK4=
+               SECTION ADDITIONAL
+               ns.mafra.cz.            300     IN      A       194.79.53.77
+               ns.mafracz.net.         600     IN      A       185.17.118.250
+               ns2.mafra.cz.           300     IN      A       194.79.55.77
+       ENTRY_END
+
+       ENTRY_BEGIN
+               MATCH opcode qtype qname
+               ADJUST copy_id
+               REPLY QR AA RD DO NOERROR
+               SECTION QUESTION
+               www.lidovky.cz.         IN      A
+               SECTION ANSWER
+               www.lidovky.cz.         300     IN      CNAME   c23.idnes.cz.
+               www.lidovky.cz.         300     IN      RRSIG   CNAME 8 3 300 20170305033947 20170226030009 61408 lidovky.cz. VyqkB8Fzxs+LTz9WDKLMmbyrtq+V/5R1sYfYBQJPuVa3pJ1vX2I5M6XK n7TDu9gsW2v+zquOps/8aL/e/+R8ivEJomYzdnvH3EwfgT9WCOYJtlUL +sIq8eu45jXTVsFVLa0Fy5LKeFcfic+4C6AG676o5VSucVJLTWiftW47 RPA=
+               c23.idnes.cz.           300     IN      A       185.17.119.54
+               SECTION AUTHORITY
+               idnes.cz.               300     IN      NS      ns.mafra.cz.
+               idnes.cz.               300     IN      NS      ns2.mafra.cz.
+               idnes.cz.               300     IN      NS      ns.mafracz.net.
+               SECTION ADDITIONAL
+               ns.mafra.cz.            300     IN      A       194.79.53.77
+               ns.mafracz.net.         600     IN      A       185.17.118.250
+               ns2.mafra.cz.           300     IN      A       194.79.55.77
+       ENTRY_END
+
+       ENTRY_BEGIN
+               MATCH opcode qtype qname
+               ADJUST copy_id
+               REPLY QR AA RD DO NOERROR
+               SECTION QUESTION
+               c23.idnes.cz.                   IN      A
+               SECTION ANSWER
+               c23.idnes.cz.           300     IN      A       185.17.119.54
+               SECTION AUTHORITY
+               idnes.cz.               300     IN      NS      ns.mafra.cz.
+               idnes.cz.               300     IN      NS      ns2.mafra.cz.
+               idnes.cz.               300     IN      NS      ns.mafracz.net.
+               SECTION ADDITIONAL
+               ns.mafra.cz.            300     IN      A       194.79.53.77
+               ns.mafracz.net.         600     IN      A       185.17.118.250
+               ns2.mafra.cz.           300     IN      A       194.79.55.77
+       ENTRY_END
+
+       ENTRY_BEGIN
+               MATCH opcode qtype qname
+               ADJUST copy_id
+               REPLY QR AA RD DO NOERROR
+               SECTION QUESTION
+               ns2.mafra.cz. IN A
+               SECTION ANSWER
+               ns2.mafra.cz.           300     IN      A       194.79.55.77
+               SECTION AUTHORITY
+               mafra.cz.               300     IN      NS      ns.mafra.cz.
+               mafra.cz.               300     IN      NS      ns2.mafra.cz.
+               mafra.cz.               300     IN      NS      ns.mafracz.net.
+               SECTION ADDITIONAL
+               ns.mafra.cz.            300     IN      A       194.79.53.77
+               ns.mafracz.net.         600     IN      A       185.17.118.250
+       ENTRY_END
+
+       ENTRY_BEGIN
+               MATCH opcode qtype qname
+               ADJUST copy_id
+               REPLY QR AA RD DO NOERROR
+               SECTION QUESTION
+               ns.mafra.cz. IN A
+               SECTION ANSWER
+               ns.mafra.cz.            300     IN      A       194.79.53.77
+               SECTION AUTHORITY
+               mafra.cz.               300     IN      NS      ns.mafra.cz.
+               mafra.cz.               300     IN      NS      ns2.mafra.cz.
+               mafra.cz.               300     IN      NS      ns.mafracz.net.
+               SECTION ADDITIONAL
+               ns2.mafra.cz.           300     IN      A       194.79.55.77
+               ns.mafracz.net.         600     IN      A       185.17.118.250
+       ENTRY_END
+
+       ENTRY_BEGIN
+               MATCH opcode qtype qname
+               ADJUST copy_id
+               REPLY QR RD DO AA NOERROR
+               SECTION QUESTION
+               lidovky.cz.                     IN      NS
+               SECTION ANSWER
+               lidovky.cz.             300     IN      NS      ns.mafra.cz.
+               lidovky.cz.             300     IN      NS      ns2.mafra.cz.
+               lidovky.cz.             300     IN      NS      ns.mafracz.net.
+               lidovky.cz.             300     IN      RRSIG   NS 8 2 300 20170304164701 20170225230009 61408 lidovky.cz. QmaLuzIDTiB/QbIgyxPRTVGFG/P5wFyrzlBtK7LIUsVIk8wuM9GudvQx weBiLPbaj28YypIdkS/z12sIawYenv4R9lswSVCOqT2H1KhXMtbW+BMk p5bCyr1mEJfceas6td4gywOydtfjYwU7WBvFPpMszP22p7jrizeQQpNB dK4=
+               SECTION ADDITIONAL
+               ns.mafra.cz.            300     IN      A       194.79.53.77
+               ns.mafracz.net.         600     IN      A       185.17.118.250
+               ns2.mafra.cz.           300     IN      A       194.79.55.77
+       ENTRY_END
+
+       ENTRY_BEGIN
+               MATCH opcode qtype qname
+               ADJUST copy_id
+               REPLY QR RD DO AA NOERROR
+               SECTION QUESTION
+               mafra.cz.                       IN      NS
+               SECTION ANSWER
+               mafra.cz.               300     IN      NS      ns.mafra.cz.
+               mafra.cz.               300     IN      NS      ns2.mafra.cz.
+               mafra.cz.               300     IN      NS      ns.mafracz.net.
+               SECTION ADDITIONAL
+               ns.mafra.cz.            300     IN      A       194.79.53.77
+               ns.mafracz.net.         600     IN      A       185.17.118.250
+               ns2.mafra.cz.           300     IN      A       194.79.55.77
+       ENTRY_END
+
+       ENTRY_BEGIN
+               MATCH opcode qtype qname
+               ADJUST copy_id
+               REPLY QR RD DO AA NOERROR
+               SECTION QUESTION
+               mafracz.net.                    IN      NS
+               SECTION ANSWER
+               mafracz.net.            300     IN      NS      ns.mafra.cz.
+               mafracz.net.            300     IN      NS      ns2.mafra.cz.
+               mafracz.net.            300     IN      NS      ns.mafracz.net.
+               SECTION ADDITIONAL
+               ns.mafra.cz.            300     IN      A       194.79.53.77
+               ns.mafracz.net.         600     IN      A       185.17.118.250
+               ns2.mafra.cz.           300     IN      A       194.79.55.77
+       ENTRY_END
+
+       ENTRY_BEGIN
+               MATCH opcode qtype qname
+               ADJUST copy_id
+               REPLY QR RD DO AA NOERROR
+               SECTION QUESTION
+               idnes.cz.                       IN      NS
+               SECTION ANSWER
+               idnes.cz.               300     IN      NS      ns2.mafra.cz.
+               idnes.cz.               300     IN      NS      ns.mafracz.net.
+               idnes.cz.               300     IN      NS      ns.mafra.cz.
+
+               SECTION ADDITIONAL
+               ns.mafra.cz.            300     IN      A       194.79.53.77
+               ns.mafracz.net.         600     IN      A       185.17.118.250
+               ns2.mafra.cz.           300     IN      A       194.79.55.77
+       ENTRY_END
+
+       ENTRY_BEGIN
+               MATCH opcode qtype qname
+               ADJUST copy_id
+               REPLY QR RD DO NOERROR
+               SECTION QUESTION
+               ns.mafra.cz.                    IN      AAAA
+               SECTION AUTHORITY
+               mafra.cz.               291     IN      SOA     ns.mafra.cz. hostmaster.mafra.cz. 2017021601 3600 600 1209600 600
+       ENTRY_END
+
+       ENTRY_BEGIN
+               MATCH opcode qtype qname
+               ADJUST copy_id
+               REPLY QR RD DO NOERROR
+               SECTION QUESTION
+               ns2.mafra.cz.                   IN      AAAA
+               SECTION AUTHORITY
+               mafra.cz.               291     IN      SOA     ns.mafra.cz. hostmaster.mafra.cz. 2017021601 3600 600 1209600 600
+       ENTRY_END
+
+       ENTRY_BEGIN
+               MATCH opcode qtype qname
+               ADJUST copy_id
+               REPLY QR RD DO NOERROR
+               SECTION QUESTION
+               ns.mafracz.net.                 IN      AAAA
+               SECTION AUTHORITY
+               mafracz.net.            600     IN      SOA     ns.mafracz.net. hostmaster.mafra.cz. 2015061701 3600 600 86400 3600
+       ENTRY_END
+
+RANGE_END
+
+STEP 1011 QUERY
+ENTRY_BEGIN
+       REPLY RD DO
+       SECTION QUESTION
+       ns.mafra.cz.            IN      A
+ENTRY_END
+
+STEP 1012 CHECK_ANSWER
+ENTRY_BEGIN
+       MATCH rcode question answer flags
+       REPLY QR RD RA NOERROR
+       SECTION QUESTION
+       ns.mafra.cz.            IN      A
+       SECTION ANSWER
+       ns.mafra.cz.            300     IN      A       194.79.53.77
+ENTRY_END
+
+
+STEP 1021 QUERY
+ENTRY_BEGIN
+       REPLY RD DO
+       SECTION QUESTION
+       ns.mafracz.net.                 IN      A
+ENTRY_END
+
+STEP 1022 CHECK_ANSWER
+ENTRY_BEGIN
+       MATCH rcode question answer flags
+       REPLY QR RD RA NOERROR
+       SECTION QUESTION
+       ns.mafracz.net.                 IN      A
+       SECTION ANSWER
+       ns.mafracz.net.         600     IN      A       185.17.118.250
+ENTRY_END
+
+
+STEP 1031 QUERY
+ENTRY_BEGIN
+       REPLY RD DO
+       SECTION QUESTION
+       www.lidovky.cz          IN      A
+ENTRY_END
+
+STEP 1032 CHECK_ANSWER
+ENTRY_BEGIN
+       MATCH rcode question answer flags
+       REPLY QR RD RA NOERROR
+       SECTION QUESTION
+       www.lidovky.cz          IN      A
+       SECTION ANSWER
+       www.lidovky.cz.         251     IN      CNAME   c23.idnes.cz.
+       www.lidovky.cz.         251     IN      RRSIG   CNAME 8 3 300 20170305033947 20170226030009 61408 lidovky.cz. VyqkB8Fzxs+LTz9WDKLMmbyrtq+V/5R1sYfYBQJPuVa3pJ1vX2I5M6XK n7TDu9gsW2v+zquOps/8aL/e/+R8ivEJomYzdnvH3EwfgT9WCOYJtlUL +sIq8eu45jXTVsFVLa0Fy5LKeFcfic+4C6AG676o5VSucVJLTWiftW47 RPA=
+       c23.idnes.cz.           251     IN      A       185.17.119.54
+ENTRY_END
+
+
+STEP 2011 QUERY
+ENTRY_BEGIN
+       REPLY RD DO
+       SECTION QUESTION
+       ns.mafra.cz.            IN      A
+ENTRY_END
+
+STEP 2012 CHECK_ANSWER
+ENTRY_BEGIN
+       MATCH rcode question answer flags
+       REPLY QR RD RA NOERROR
+       SECTION QUESTION
+       ns.mafra.cz.            IN      A
+       SECTION ANSWER
+       ns.mafra.cz.            300     IN      A       194.79.53.77
+ENTRY_END
+
+
+STEP 2021 QUERY
+ENTRY_BEGIN
+       REPLY RD DO
+       SECTION QUESTION
+       ns.mafracz.net.                 IN      A
+ENTRY_END
+
+STEP 2022 CHECK_ANSWER
+ENTRY_BEGIN
+       MATCH rcode question answer flags
+       REPLY QR RD RA NOERROR
+       SECTION QUESTION
+       ns.mafracz.net.                 IN      A
+       SECTION ANSWER
+       ns.mafracz.net.         600     IN      A       185.17.118.250
+ENTRY_END
+
+
+STEP 2031 QUERY
+ENTRY_BEGIN
+       REPLY RD DO
+       SECTION QUESTION
+       www.lidovky.cz          IN      A
+ENTRY_END
+
+STEP 2032 CHECK_ANSWER
+ENTRY_BEGIN
+       MATCH rcode question answer flags
+       REPLY QR RD RA NOERROR
+       SECTION QUESTION
+       www.lidovky.cz          IN      A
+       SECTION ANSWER
+       www.lidovky.cz.         251     IN      CNAME   c23.idnes.cz.
+       www.lidovky.cz.         251     IN      RRSIG   CNAME 8 3 300 20170305033947 20170226030009 61408 lidovky.cz. VyqkB8Fzxs+LTz9WDKLMmbyrtq+V/5R1sYfYBQJPuVa3pJ1vX2I5M6XK n7TDu9gsW2v+zquOps/8aL/e/+R8ivEJomYzdnvH3EwfgT9WCOYJtlUL +sIq8eu45jXTVsFVLa0Fy5LKeFcfic+4C6AG676o5VSucVJLTWiftW47 RPA=
+       c23.idnes.cz.           251     IN      A       185.17.119.54
+ENTRY_END
+
+
+STEP 3011 QUERY
+ENTRY_BEGIN
+       REPLY RD DO
+       SECTION QUESTION
+       ns.mafra.cz.            IN      A
+ENTRY_END
+
+STEP 3012 CHECK_ANSWER
+ENTRY_BEGIN
+       MATCH rcode question answer flags
+       REPLY QR RD RA NOERROR
+       SECTION QUESTION
+       ns.mafra.cz.            IN      A
+       SECTION ANSWER
+       ns.mafra.cz.            300     IN      A       194.79.53.77
+ENTRY_END
+
+
+STEP 3021 QUERY
+ENTRY_BEGIN
+       REPLY RD DO
+       SECTION QUESTION
+       ns.mafracz.net.                 IN      A
+ENTRY_END
+
+STEP 3022 CHECK_ANSWER
+ENTRY_BEGIN
+       MATCH rcode question answer flags
+       REPLY QR RD RA NOERROR
+       SECTION QUESTION
+       ns.mafracz.net.                 IN      A
+       SECTION ANSWER
+       ns.mafracz.net.         600     IN      A       185.17.118.250
+ENTRY_END
+
+
+STEP 3031 QUERY
+ENTRY_BEGIN
+       REPLY RD DO
+       SECTION QUESTION
+       www.lidovky.cz          IN      A
+ENTRY_END
+
+STEP 3032 CHECK_ANSWER
+ENTRY_BEGIN
+       MATCH rcode question answer flags
+       REPLY QR RD RA NOERROR
+       SECTION QUESTION
+       www.lidovky.cz          IN      A
+       SECTION ANSWER
+       www.lidovky.cz.         251     IN      CNAME   c23.idnes.cz.
+       www.lidovky.cz.         251     IN      RRSIG   CNAME 8 3 300 20170305033947 20170226030009 61408 lidovky.cz. VyqkB8Fzxs+LTz9WDKLMmbyrtq+V/5R1sYfYBQJPuVa3pJ1vX2I5M6XK n7TDu9gsW2v+zquOps/8aL/e/+R8ivEJomYzdnvH3EwfgT9WCOYJtlUL +sIq8eu45jXTVsFVLa0Fy5LKeFcfic+4C6AG676o5VSucVJLTWiftW47 RPA=
+       c23.idnes.cz.           251     IN      A       185.17.119.54
+ENTRY_END
+
+
+STEP 4011 QUERY
+ENTRY_BEGIN
+       REPLY RD DO
+       SECTION QUESTION
+       ns.mafra.cz.            IN      A
+ENTRY_END
+
+STEP 4012 CHECK_ANSWER
+ENTRY_BEGIN
+       MATCH rcode question answer flags
+       REPLY QR RD RA NOERROR
+       SECTION QUESTION
+       ns.mafra.cz.            IN      A
+       SECTION ANSWER
+       ns.mafra.cz.            300     IN      A       194.79.53.77
+ENTRY_END
+
+
+STEP 4021 QUERY
+ENTRY_BEGIN
+       REPLY RD DO
+       SECTION QUESTION
+       ns.mafracz.net.                 IN      A
+ENTRY_END
+
+STEP 4022 CHECK_ANSWER
+ENTRY_BEGIN
+       MATCH rcode question answer flags
+       REPLY QR RD RA NOERROR
+       SECTION QUESTION
+       ns.mafracz.net.                 IN      A
+       SECTION ANSWER
+       ns.mafracz.net.         600     IN      A       185.17.118.250
+ENTRY_END
+
+
+STEP 4031 QUERY
+ENTRY_BEGIN
+       REPLY RD DO
+       SECTION QUESTION
+       www.lidovky.cz          IN      A
+ENTRY_END
+
+STEP 4032 CHECK_ANSWER
+ENTRY_BEGIN
+       MATCH rcode question answer flags
+       REPLY QR RD RA NOERROR
+       SECTION QUESTION
+       www.lidovky.cz          IN      A
+       SECTION ANSWER
+       www.lidovky.cz.         251     IN      CNAME   c23.idnes.cz.
+       www.lidovky.cz.         251     IN      RRSIG   CNAME 8 3 300 20170305033947 20170226030009 61408 lidovky.cz. VyqkB8Fzxs+LTz9WDKLMmbyrtq+V/5R1sYfYBQJPuVa3pJ1vX2I5M6XK n7TDu9gsW2v+zquOps/8aL/e/+R8ivEJomYzdnvH3EwfgT9WCOYJtlUL +sIq8eu45jXTVsFVLa0Fy5LKeFcfic+4C6AG676o5VSucVJLTWiftW47 RPA=
+       c23.idnes.cz.           251     IN      A       185.17.119.54
+ENTRY_END
+
+SCENARIO_END
index 4fc300c9e28b05a7bd6ecd001d41162d2ccda4d0..03f747691766017489acdfa9e6cdcc4aa0e1bb8a 100644 (file)
@@ -74,6 +74,7 @@ unit_tests += [
 ]
 
 integr_tests += [
+  ['cache_overflow', join_paths(meson.current_source_dir(), 'cache', 'overflow.test.integr')],
   ['cache_minimal_nsec', join_paths(meson.current_source_dir(), 'cache', 'test.integr')],
   ['iter_limits' , join_paths(meson.current_source_dir(), 'layer', 'test.integr')],
   ['validate' , join_paths(meson.current_source_dir(), 'layer', 'validate.test.integr')],
diff --git a/tests/config/test_dns_generators.lua b/tests/config/test_dns_generators.lua
new file mode 100644 (file)
index 0000000..176137e
--- /dev/null
@@ -0,0 +1,132 @@
+-- SPDX-License-Identifier: GPL-3.0-or-later
+local ffi = require('ffi')
+local kr_cach = kres.context().cache
+
+
+local charset = {
+       'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l',
+       'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x',
+       'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '-'}
+
+local function gen_bytes(len)
+       local bytes = {}
+       for _ = 1,len do
+               table.insert(bytes, charset[math.random(1, #charset)])
+       end
+       local result = table.concat(bytes)
+       assert(#result == len)
+       return result
+end
+
+local function gen_ttl()
+       return math.random(0, 2^31-1)
+end
+
+local function gen_rrtype()
+       return math.random(1024, 61000)
+end
+
+local function gen_rdata(len)
+       assert(len >= 1 and len <= 65535)
+       return gen_bytes(len)
+end
+
+local function gen_label(len)  -- in bytes including the length byte
+       assert(len >= 2 and len <= 64)
+       local bytes = {string.char(len - 1), gen_bytes(len - 1)}
+       return table.concat(bytes)
+end
+
+local function gen_dname()
+       local target_len  -- length 2 bytes does not make sense
+       while target_len == nil or target_len == 2 do
+               target_len = math.random(1, 255)
+       end
+
+       local labels = {string.char(0)}
+       local cur_len = 1
+       while target_len > cur_len do
+               local new_len = math.random(
+                                       2,
+                                       math.min(target_len - cur_len,
+                                               64))
+               if (target_len - cur_len - new_len) == 1 then
+                       -- it is a trap, single-byte label is allowed only at the end
+                       -- we cannot leave room for single-byte label in the next round
+                       if new_len == 64 then
+                               goto continue  -- we are at max label length, try again
+                       end
+                       new_len = new_len + 1
+               end
+               table.insert(labels, 1, gen_label(new_len))
+               cur_len = cur_len + new_len
+               ::continue::
+       end
+       assert(target_len == cur_len)
+       local dname = table.concat(labels)
+       assert(#dname >= 1 and #dname <= 255)
+       assert(string.byte(dname, #dname) == 0)
+       return dname
+end
+
+
+local function gen_rrset()
+       local rrs = {}
+       local maxsize = 300  -- RR data size in bytes per RR set, does not include owner etc.
+       local target_len = math.random(1, maxsize)
+       local cur_len = 0
+       while target_len > cur_len do
+               local new_len = math.random(1, target_len - cur_len)
+               local new_rr = gen_rdata(new_len)
+               cur_len = cur_len + #new_rr
+               table.insert(rrs, new_rr)
+       end
+       assert(target_len == cur_len)
+       return rrs, cur_len
+end
+
+
+local function add_random_rrset()
+       local owner = gen_dname()
+       local ttl = gen_ttl()
+       local rr_type = gen_rrtype()
+       local rdata_set = gen_rrset()
+
+       local kr_rrset = kres.rrset(owner, rr_type, kres.class.IN, ttl)
+       for _, rr in ipairs(rdata_set) do
+               assert(kr_rrset:add_rdata(rr, #rr))
+       end
+       assert(kr_cach:insert(kr_rrset, nil, ffi.C.KR_RANK_SECURE))
+end
+
+
+local rr_count = 0
+local function gen_batch()
+       for _ = 1,math.random(1,10) do
+               add_random_rrset()
+               rr_count = rr_count + 1
+               if rr_count % 100 == 0 then
+                       print('cache usage ', cache.stats()['usage_percent'], '%')
+               end
+       end
+       kr_cach:commit()
+       local delay
+       if math.random(1,4) == 1 then
+               delay = 1  -- give a chance to DNS resolving
+       else
+               delay = 0
+       end
+       event.after(delay, gen_batch)
+end
+
+return {
+       add_random_rrset=add_random_rrset,
+       gen_batch=gen_batch,
+       gen_bytes=gen_bytes,
+       gen_dname=gen_dname,
+       gen_label=gen_label,
+       gen_rdata=gen_rdata,
+       gen_rrset=gen_rrset,
+       gen_rrtype=gen_rrtype,
+       gen_ttl=gen_ttl
+}
index 4df86d9cbec25588cec454d7246a3ee5227ad65d..81e1c94e4cfe4f2e4a31ea70574a8e5278434825 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 4df86d9cbec25588cec454d7246a3ee5227ad65d
+Subproject commit 81e1c94e4cfe4f2e4a31ea70574a8e5278434825