void 
verify_test(void)
{
	unit_show_feature("signature verify");
	verifytest_file("testdata/test_signatures.1", "20070818005004");
	verifytest_file("testdata/test_signatures.2", "20080414005004");
	verifytest_file("testdata/test_signatures.3", "20080416005004");
	verifytest_file("testdata/test_signatures.4", "20080416005004");
	verifytest_file("testdata/test_signatures.5", "20080416005004");
	verifytest_file("testdata/test_signatures.6", "20080416005004");
	verifytest_file("testdata/test_signatures.7", "20070829144150");
	verifytest_file("testdata/test_signatures.8", "20070829144150");
#if defined(HAVE_EVP_SHA256) && defined(USE_SHA2)
	verifytest_file("testdata/test_sigs.rsasha256", "20070829144150");
	verifytest_file("testdata/test_sigs.sha1_and_256", "20070829144150");
	verifytest_file("testdata/test_sigs.rsasha256_draft", "20090101000000");
#endif
#if defined(HAVE_EVP_SHA512) && defined(USE_SHA2)
	verifytest_file("testdata/test_sigs.rsasha512_draft", "20070829144150");
#endif
	verifytest_file("testdata/test_sigs.hinfo", "20090107100022");
	verifytest_file("testdata/test_sigs.revoked", "20080414005004");
#ifdef USE_GOST
	if(ldns_key_EVP_load_gost_id())
	  verifytest_file("testdata/test_sigs.gost", "20090807060504");
	else printf("Warning: skipped GOST, openssl does not provide gost.\n");
#endif
	dstest_file("testdata/test_ds.sha1");
	nsectest();
	nsec3_hash_test("testdata/test_nsec3_hash.1");
}
Beispiel #2
0
void anchors_test(void)
{
	sldns_buffer* buff = sldns_buffer_new(65800);
	struct val_anchors* a;
	unit_show_feature("trust anchor store");
	unit_assert(a = anchors_create());
	sldns_buffer_flip(buff);
	test_anchor_empty(a);
	test_anchor_one(buff, a);
	test_anchors(buff, a);
	anchors_delete(a);
	sldns_buffer_free(buff);
}
Beispiel #3
0
void 
verify_test(void)
{
	unit_show_feature("signature verify");
#ifdef USE_SHA1
	verifytest_file("testdata/test_signatures.1", "20070818005004");
#endif
#if defined(USE_DSA) && defined(USE_SHA1)
	verifytest_file("testdata/test_signatures.2", "20080414005004");
	verifytest_file("testdata/test_signatures.3", "20080416005004");
	verifytest_file("testdata/test_signatures.4", "20080416005004");
	verifytest_file("testdata/test_signatures.5", "20080416005004");
	verifytest_file("testdata/test_signatures.6", "20080416005004");
	verifytest_file("testdata/test_signatures.7", "20070829144150");
#endif /* USE_DSA */
#ifdef USE_SHA1
	verifytest_file("testdata/test_signatures.8", "20070829144150");
#endif
#if (defined(HAVE_EVP_SHA256) || defined(HAVE_NSS) || defined(HAVE_NETTLE)) && defined(USE_SHA2)
	verifytest_file("testdata/test_sigs.rsasha256", "20070829144150");
#  ifdef USE_SHA1
	verifytest_file("testdata/test_sigs.sha1_and_256", "20070829144150");
#  endif
	verifytest_file("testdata/test_sigs.rsasha256_draft", "20090101000000");
#endif
#if (defined(HAVE_EVP_SHA512) || defined(HAVE_NSS) || defined(HAVE_NETTLE)) && defined(USE_SHA2)
	verifytest_file("testdata/test_sigs.rsasha512_draft", "20070829144150");
#endif
#ifdef USE_SHA1
	verifytest_file("testdata/test_sigs.hinfo", "20090107100022");
	verifytest_file("testdata/test_sigs.revoked", "20080414005004");
#endif
#ifdef USE_GOST
	if(sldns_key_EVP_load_gost_id())
	  verifytest_file("testdata/test_sigs.gost", "20090807060504");
	else printf("Warning: skipped GOST, openssl does not provide gost.\n");
#endif
#ifdef USE_ECDSA
	/* test for support in case we use libNSS and ECC is removed */
	if(dnskey_algo_id_is_supported(LDNS_ECDSAP256SHA256)) {
		verifytest_file("testdata/test_sigs.ecdsa_p256", "20100908100439");
		verifytest_file("testdata/test_sigs.ecdsa_p384", "20100908100439");
	}
	dstest_file("testdata/test_ds.sha384");
#endif
#ifdef USE_SHA1
	dstest_file("testdata/test_ds.sha1");
#endif
	nsectest();
	nsec3_hash_test("testdata/test_nsec3_hash.1");
}
Beispiel #4
0
void neg_test(void)
{
	struct val_neg_cache* neg;
	srandom(48);
	unit_show_feature("negative cache");

	/* create with defaults */
	neg = val_neg_create(NULL, 1500);
	unit_assert(neg);
	
	stress_test(neg);

	neg_cache_delete(neg);
}
Beispiel #5
0
void slabhash_test(void)
{
	/* start very very small array, so it can do lots of table_grow() */
	/* also small in size so that reclaim has to be done quickly. */
	struct slabhash* table;
	unit_show_feature("slabhash");
	table = slabhash_create(4, 2, 10400, 
		test_slabhash_sizefunc, test_slabhash_compfunc, 
		test_slabhash_delkey, test_slabhash_deldata, NULL);
	test_short_table(table);
	test_long_table(table);
	slabhash_delete(table);
	table = slabhash_create(4, 2, 10400, 
		test_slabhash_sizefunc, test_slabhash_compfunc, 
		test_slabhash_delkey, test_slabhash_deldata, NULL);
	test_threaded_table(table);
	slabhash_delete(table);
}
Beispiel #6
0
void msgparse_test(void)
{
	sldns_buffer* pkt = sldns_buffer_new(65553);
	sldns_buffer* out = sldns_buffer_new(65553);
	struct alloc_cache super_a, alloc;
	/* init */
	alloc_init(&super_a, NULL, 0);
	alloc_init(&alloc, &super_a, 2);

	unit_show_feature("message parse");
	simpletest(pkt, &alloc, out);
	/* plain hex dumps, like pcat */
	testfromfile(pkt, &alloc, out, "testdata/test_packets.1");
	testfromfile(pkt, &alloc, out, "testdata/test_packets.2");
	testfromfile(pkt, &alloc, out, "testdata/test_packets.3");
	/* like from drill -w - */
	testfromdrillfile(pkt, &alloc, out, "testdata/test_packets.4");
	testfromdrillfile(pkt, &alloc, out, "testdata/test_packets.5");

	matches_nolocation = 1; /* RR order not important for the next test */
	testfromdrillfile(pkt, &alloc, out, "testdata/test_packets.6");
	check_rrsigs = 1;
	testfromdrillfile(pkt, &alloc, out, "testdata/test_packets.7");
	check_rrsigs = 0;
	matches_nolocation = 0; 

	check_formerr_gone = 1;
	testfromdrillfile(pkt, &alloc, out, "testdata/test_packets.8");
	check_formerr_gone = 0;

	check_rrsigs = 1;
	check_nosameness = 1;
	testfromdrillfile(pkt, &alloc, out, "testdata/test_packets.9");
	check_nosameness = 0;
	check_rrsigs = 0;

	/* cleanup */
	alloc_clear(&alloc);
	alloc_clear(&super_a);
	sldns_buffer_free(pkt);
	sldns_buffer_free(out);
}
void lruhash_test(void)
{
	/* start very very small array, so it can do lots of table_grow() */
	/* also small in size so that reclaim has to be done quickly. */
	struct lruhash* table ;
	unit_show_feature("lruhash");
	table = lruhash_create(2, 8192, 
		test_slabhash_sizefunc, test_slabhash_compfunc, 
		test_slabhash_delkey, test_slabhash_deldata, NULL);
	test_bin_find_entry(table);
	test_lru(table);
	test_short_table(table);
	test_long_table(table);
	lruhash_delete(table);
	table = lruhash_create(2, 8192, 
		test_slabhash_sizefunc, test_slabhash_compfunc, 
		test_slabhash_delkey, test_slabhash_deldata, NULL);
	test_threaded_table(table);
	lruhash_delete(table);
}
Beispiel #8
0
void
ldns_test(void)
{
	unit_show_feature("sldns");
	rr_tests();
}