]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[2503] Add testcase that reproduces the problem
authorMukund Sivaraman <muks@isc.org>
Thu, 6 Dec 2012 11:08:18 +0000 (16:38 +0530)
committerMukund Sivaraman <muks@isc.org>
Thu, 6 Dec 2012 11:08:18 +0000 (16:38 +0530)
src/lib/datasrc/tests/memory/testdata/2503-test.zone [new file with mode: 0644]
src/lib/datasrc/tests/memory/testdata/Makefile.am
src/lib/datasrc/tests/memory/zone_finder_unittest.cc

diff --git a/src/lib/datasrc/tests/memory/testdata/2503-test.zone b/src/lib/datasrc/tests/memory/testdata/2503-test.zone
new file mode 100644 (file)
index 0000000..6ed014c
--- /dev/null
@@ -0,0 +1,12 @@
+ok.ok.ok.ok.nsec3.tjeb.nl.     600     IN      SOA     ns2.tjeb.nl. tjeb.tjeb.nl. 2012120602 28800 7200 604800 18000
+ok.ok.ok.ok.nsec3.tjeb.nl.     600     IN      A       178.18.82.80
+ok.ok.ok.ok.nsec3.tjeb.nl.     3600    IN      DNSKEY  256 3 7 AwEAAcVaFlRylmfW8CiGTWpSvom6cxuqsEJeteXR+YrCrCuriTu8P6ou/43/db9ooybB62JuREvoosmjtf0i7tZIAUFh87c1+3JTdra+W4WcCNYNEZW1I41J/OjMEOwKVxH2V1GgZGThrNgvZj7xqeusG2fP0DScDO3/gBr9PJGi9JTD ;{id = 56765 (zsk), size = 1024b}
+ok.ok.ok.ok.nsec3.tjeb.nl.     600     IN      NS      ns2.tjeb.nl.
+ok.ok.ok.ok.nsec3.tjeb.nl.     3600    IN      NSEC3PARAM      1 0 5 beef
+ok.ok.ok.ok.nsec3.tjeb.nl.     600     IN      RRSIG           SOA 7 7 600 20150101000000 20110520094818 56765 ok.ok.ok.ok.nsec3.tjeb.nl. S7kx8CgkvczbZzJRzG9JiUa5JdEwPdJCniVPcCqUfQVbF6Lfe/iPbLBBguWZJDcPNCm1txvzz8tuYf0z2dziAxQefWPnh7Y1ABZSft1X19L9kz6QGcsxcAvw039t3aX8fyTmiAU1nUthj5u6UdUqGVdxla4RdpipfN2zXNAJ64E=
+ok.ok.ok.ok.nsec3.tjeb.nl.     600     IN      RRSIG           A 7 7 600 20150101000000 20110520094818 56765 ok.ok.ok.ok.nsec3.tjeb.nl. TrBhFbKGkp427sPnhtT9andQlnfKjY9DE8U++rdbXfY30aKssN/Mb/M0HK+RBlBDUsL9YbkG6XU345zkIWBIqxHBf0wJuVd3vYggDikyNhrtGtS0sJCHKrX/Im5gMVWeN6m47Mp8LWK2yFJeOdGEn5BLfyhnPpYO4/te52FyboI=
+ok.ok.ok.ok.nsec3.tjeb.nl.     600     IN      RRSIG           NS 7 7 600 20150101000000 20110520094818 56765 ok.ok.ok.ok.nsec3.tjeb.nl. YcTwEpjPxxDyM+d0hG3pfYavfbOKFxUqY0jyZ3dcns5uEelmgi/7D5yGbE8Dq0OzWFyR5sjBf4+7WGqNJwY+fSmbXOzaqfmVMtSC3R068GDd6NrXs4WfrjfYOeajwCuseB3L89fofy/7EfJbcQVA7JUEBjPBH2RXu8dgXNuLghk=
+ok.ok.ok.ok.nsec3.tjeb.nl.     3600    IN      RRSIG           DNSKEY 7 7 3600 20150101000000 20110520094818 56765 ok.ok.ok.ok.nsec3.tjeb.nl. ZcJ1DpuiJfisbYu/24q1EC1IwP6j0TDPcxFMNHUeU7m0N0lAgk2S0tM//qhMPkBygN3VgHa9yhnxhIvct3amBxTZh9VcFz66vMmzCuEpWPB3aHRPIhltUGDNGi8H6UtUmX/RKuX23WloaG9Wnh8FBX0RJKkW6R3JLgWD4EJkF78=
+ok.ok.ok.ok.nsec3.tjeb.nl.     3600    IN      RRSIG           NSEC3PARAM 7 7 3600 20150101000000 20110520094818 56765 ok.ok.ok.ok.nsec3.tjeb.nl. QhxpZzlG8/NUvZXzgGOzKeJCir+58m/rlZn3IARO54XXtzfd6fNSJHT+SMpD2PdzonblqhUqbqxucQNpjuVxIocIUIAcCj2F0K1oxxknIFr/j+XIaB4plsrRH7yPUYnym6xAUMcQRxob5FjYYc2vXjHRHF8M0qeEjyrNP8m7keU=
+tv3jp54nve7jfnhvba54uc031shjv2d3.ok.ok.ok.ok.nsec3.tjeb.nl.    18000      IN  NSEC3               1 0 5 beef  tv3jp54nve7jfnhvba54uc031shjv2d3 A NS SOA RRSIG DNSKEY NSEC3PARAM
+tv3jp54nve7jfnhvba54uc031shjv2d3.ok.ok.ok.ok.nsec3.tjeb.nl.    18000      IN  RRSIG               NSEC3 7 8 18000 20150101000000 20110520094818 56765 ok.ok.ok.ok.nsec3.tjeb.nl. p7WlTLC3CatciKMkDNvXeKCXCNHstR2c/Mu62EXBHL1jrNuSx1S8crOGYFzELNtSA7paTO6/Uc8U7xRdf3IUb517obQCEVrpPyp4YTxlg8YwgAe5azklW11aYkW4E/nqsXUQnWieiuEWwTPYdVZLnrnu7NxH+IA+uGHHP689xPY=
index dddbf0a3dd396f50e37aaf0cdabb3ecf1ae4b1d0..75c2dc6fc319e9b0656752189b4b32bde3f74bae 100644 (file)
@@ -29,3 +29,5 @@ EXTRA_DIST += example.org-rrsigs.zone
 EXTRA_DIST += example.org-wildcard-dname.zone
 EXTRA_DIST += example.org-wildcard-ns.zone
 EXTRA_DIST += example.org-wildcard-nsec3.zone
+
+EXTRA_DIST += 2503-test.zone
index f1121194ea1596b680d6c158118b821fd35f7473..6ea18216405b0181fd1816a1a19d23558d254423 100644 (file)
@@ -13,6 +13,7 @@
 // PERFORMANCE OF THIS SOFTWARE.
 
 #include "memory_segment_test.h"
+#include "zone_table_segment_test.h"
 
 // NOTE: this faked_nsec3 inclusion (and all related code below)
 // was ported during #2109 for the convenience of implementing #2218
 #include <datasrc/memory/zone_finder.h>
 #include <datasrc/memory/zone_data_updater.h>
 #include <datasrc/memory/rdata_serialization.h>
+#include <datasrc/memory/zone_table_segment.h>
+#include <datasrc/memory/memory_client.h>
 #include <datasrc/data_source.h>
+#include <datasrc/client.h>
 #include <testutils/dnsmessage_test.h>
 
 #include <boost/foreach.hpp>
@@ -1562,4 +1566,21 @@ TEST_F(InMemoryZoneFinderNSEC3Test, RRSIGOnly) {
                  DataSourceError);
 }
 
+// \brief testcase for #2503 (Problem in inmem NSEC3 denial of existence
+// handling)
+TEST_F(InMemoryZoneFinderNSEC3Test, findNSEC3MissingOrigin) {
+     shared_ptr<ZoneTableSegment> ztable_segment(
+          new ZoneTableSegmentTest(class_, mem_sgmt_));
+     InMemoryClient client(ztable_segment, class_);
+     Name name("ok.ok.ok.ok.nsec3.tjeb.nl.");
+
+     client.load(name, TEST_DATA_DIR "/2503-test.zone");
+     DataSourceClient::FindResult result(client.findZone(name));
+
+     // Check for a non-existing name
+     Name search_name("nonexist.ok.ok.ok.ok.nsec3.tjeb.nl.");
+     ZoneFinder::FindNSEC3Result find_result(
+          result.zone_finder->findNSEC3(search_name, true));
+}
+
 }