summaryrefslogtreecommitdiff
path: root/trust/tests
diff options
context:
space:
mode:
Diffstat (limited to 'trust/tests')
-rw-r--r--trust/tests/Makefile.am14
-rw-r--r--trust/tests/test-bundle.c62
-rw-r--r--trust/tests/test-cer.c62
-rw-r--r--trust/tests/test-enumerate.c (renamed from trust/tests/test-extract.c)151
-rw-r--r--trust/tests/test-openssl.c111
5 files changed, 181 insertions, 219 deletions
diff --git a/trust/tests/Makefile.am b/trust/tests/Makefile.am
index c1e8127..e53a6ae 100644
--- a/trust/tests/Makefile.am
+++ b/trust/tests/Makefile.am
@@ -50,7 +50,7 @@ CHECK_PROGS = \
test-token \
test-module \
test-save \
- test-extract \
+ test-enumerate \
test-cer \
test-bundle \
test-openssl \
@@ -89,28 +89,28 @@ test_save_SOURCES = \
$(TRUST)/save.c \
$(NULL)
-test_extract_SOURCES = \
- test-extract.c \
- $(TRUST)/extract-info.c \
+test_enumerate_SOURCES = \
+ test-enumerate.c \
+ $(TRUST)/enumerate.c \
$(NULL)
test_cer_SOURCES = \
test-cer.c \
- $(TRUST)/extract-info.c \
+ $(TRUST)/enumerate.c \
$(TRUST)/extract-cer.c \
$(TRUST)/save.c \
$(NULL)
test_bundle_SOURCES = \
test-bundle.c \
- $(TRUST)/extract-info.c \
+ $(TRUST)/enumerate.c \
$(TRUST)/extract-pem.c \
$(TRUST)/save.c \
$(NULL)
test_openssl_SOURCES = \
test-openssl.c \
- $(TRUST)/extract-info.c \
+ $(TRUST)/enumerate.c \
$(TRUST)/extract-openssl.c \
$(TRUST)/save.c \
$(NULL)
diff --git a/trust/tests/test-bundle.c b/trust/tests/test-bundle.c
index 397787f..85c0b5f 100644
--- a/trust/tests/test-bundle.c
+++ b/trust/tests/test-bundle.c
@@ -59,8 +59,7 @@
struct {
CK_FUNCTION_LIST module;
- P11KitIter *iter;
- p11_extract_info ex;
+ p11_enumerate ex;
char *directory;
} test;
@@ -74,9 +73,7 @@ setup (void *unused)
rv = test.module.C_Initialize (NULL);
assert_num_eq (CKR_OK, rv);
- test.iter = p11_kit_iter_new (NULL, 0);
-
- p11_extract_info_init (&test.ex);
+ p11_enumerate_init (&test.ex);
test.directory = p11_test_directory ("test-extract");
}
@@ -90,8 +87,7 @@ teardown (void *unused)
assert_not_reached ();
free (test.directory);
- p11_extract_info_cleanup (&test.ex);
- p11_kit_iter_free (test.iter);
+ p11_enumerate_cleanup (&test.ex);
rv = test.module.C_Finalize (NULL);
assert_num_eq (CKR_OK, rv);
@@ -118,66 +114,66 @@ static CK_ATTRIBUTE certificate_filter[] = {
static void
test_file (void)
{
+ char *destination;
bool ret;
mock_module_add_object (MOCK_SLOT_ONE_ID, cacert3_authority_attrs);
- p11_kit_iter_add_callback (test.iter, p11_extract_info_load_filter, &test.ex, NULL);
- p11_kit_iter_add_filter (test.iter, certificate_filter, 1);
- p11_kit_iter_begin_with (test.iter, &test.module, 0, 0);
+ p11_kit_iter_add_filter (test.ex.iter, certificate_filter, 1);
+ p11_kit_iter_begin_with (test.ex.iter, &test.module, 0, 0);
- if (asprintf (&test.ex.destination, "%s/%s", test.directory, "extract.pem") < 0)
+ if (asprintf (&destination, "%s/%s", test.directory, "extract.pem") < 0)
assert_not_reached ();
- ret = p11_extract_pem_bundle (test.iter, &test.ex);
+ ret = p11_extract_pem_bundle (&test.ex, destination);
assert_num_eq (true, ret);
test_check_file (test.directory, "extract.pem", SRCDIR "/files/cacert3.pem");
- free (test.ex.destination);
+ free (destination);
}
static void
test_file_multiple (void)
{
+ char *destination;
bool ret;
mock_module_add_object (MOCK_SLOT_ONE_ID, cacert3_authority_attrs);
mock_module_add_object (MOCK_SLOT_ONE_ID, cacert3_authority_attrs);
- p11_kit_iter_add_callback (test.iter, p11_extract_info_load_filter, &test.ex, NULL);
- p11_kit_iter_add_filter (test.iter, certificate_filter, 1);
- p11_kit_iter_begin_with (test.iter, &test.module, 0, 0);
+ p11_kit_iter_add_filter (test.ex.iter, certificate_filter, 1);
+ p11_kit_iter_begin_with (test.ex.iter, &test.module, 0, 0);
- if (asprintf (&test.ex.destination, "%s/%s", test.directory, "extract.pem") < 0)
+ if (asprintf (&destination, "%s/%s", test.directory, "extract.pem") < 0)
assert_not_reached ();
- ret = p11_extract_pem_bundle (test.iter, &test.ex);
+ ret = p11_extract_pem_bundle (&test.ex, destination);
assert_num_eq (true, ret);
test_check_file (test.directory, "extract.pem", SRCDIR "/files/cacert3-twice.pem");
- free (test.ex.destination);
+ free (destination);
}
static void
test_file_without (void)
{
+ char *destination;
bool ret;
- p11_kit_iter_add_callback (test.iter, p11_extract_info_load_filter, &test.ex, NULL);
- p11_kit_iter_add_filter (test.iter, certificate_filter, 1);
- p11_kit_iter_begin_with (test.iter, &test.module, 0, 0);
+ p11_kit_iter_add_filter (test.ex.iter, certificate_filter, 1);
+ p11_kit_iter_begin_with (test.ex.iter, &test.module, 0, 0);
- if (asprintf (&test.ex.destination, "%s/%s", test.directory, "extract.pem") < 0)
+ if (asprintf (&destination, "%s/%s", test.directory, "extract.pem") < 0)
assert_not_reached ();
- ret = p11_extract_pem_bundle (test.iter, &test.ex);
+ ret = p11_extract_pem_bundle (&test.ex, destination);
assert_num_eq (true, ret);
test_check_data (test.directory, "extract.pem", "", 0);
- free (test.ex.destination);
+ free (destination);
}
static void
@@ -188,16 +184,14 @@ test_directory (void)
mock_module_add_object (MOCK_SLOT_ONE_ID, cacert3_authority_attrs);
mock_module_add_object (MOCK_SLOT_ONE_ID, cacert3_authority_attrs);
- p11_kit_iter_add_callback (test.iter, p11_extract_info_load_filter, &test.ex, NULL);
- p11_kit_iter_add_filter (test.iter, certificate_filter, 1);
- p11_kit_iter_begin_with (test.iter, &test.module, 0, 0);
+ p11_kit_iter_add_filter (test.ex.iter, certificate_filter, 1);
+ p11_kit_iter_begin_with (test.ex.iter, &test.module, 0, 0);
/* Yes, this is a race, and why you shouldn't build software as root */
if (rmdir (test.directory) < 0)
assert_not_reached ();
- test.ex.destination = test.directory;
- ret = p11_extract_pem_directory (test.iter, &test.ex);
+ ret = p11_extract_pem_directory (&test.ex, test.directory);
assert_num_eq (true, ret);
test_check_directory (test.directory, ("Cacert3_Here.pem", "Cacert3_Here.1.pem", NULL));
@@ -210,16 +204,14 @@ test_directory_empty (void)
{
bool ret;
- p11_kit_iter_add_callback (test.iter, p11_extract_info_load_filter, &test.ex, NULL);
- p11_kit_iter_add_filter (test.iter, certificate_filter, 1);
- p11_kit_iter_begin_with (test.iter, &test.module, 0, 0);
+ p11_kit_iter_add_filter (test.ex.iter, certificate_filter, 1);
+ p11_kit_iter_begin_with (test.ex.iter, &test.module, 0, 0);
/* Yes, this is a race, and why you shouldn't build software as root */
if (rmdir (test.directory) < 0)
assert_not_reached ();
- test.ex.destination = test.directory;
- ret = p11_extract_pem_directory (test.iter, &test.ex);
+ ret = p11_extract_pem_directory (&test.ex, test.directory);
assert_num_eq (true, ret);
test_check_directory (test.directory, (NULL, NULL));
diff --git a/trust/tests/test-cer.c b/trust/tests/test-cer.c
index 846cabf..ba0b9ca 100644
--- a/trust/tests/test-cer.c
+++ b/trust/tests/test-cer.c
@@ -59,8 +59,7 @@
struct {
CK_FUNCTION_LIST module;
- P11KitIter *iter;
- p11_extract_info ex;
+ p11_enumerate ex;
char *directory;
} test;
@@ -74,9 +73,7 @@ setup (void *unused)
rv = test.module.C_Initialize (NULL);
assert_num_eq (CKR_OK, rv);
- test.iter = p11_kit_iter_new (NULL, 0);
-
- p11_extract_info_init (&test.ex);
+ p11_enumerate_init (&test.ex);
test.directory = p11_test_directory ("test-extract");
}
@@ -90,8 +87,7 @@ teardown (void *unused)
assert_fail ("rmdir() failed", test.directory);
free (test.directory);
- p11_extract_info_cleanup (&test.ex);
- p11_kit_iter_free (test.iter);
+ p11_enumerate_cleanup (&test.ex);
rv = test.module.C_Finalize (NULL);
assert_num_eq (CKR_OK, rv);
@@ -118,43 +114,43 @@ static CK_ATTRIBUTE certificate_filter[] = {
static void
test_file (void)
{
+ char *destination;
bool ret;
mock_module_add_object (MOCK_SLOT_ONE_ID, cacert3_authority_attrs);
- p11_kit_iter_add_callback (test.iter, p11_extract_info_load_filter, &test.ex, NULL);
- p11_kit_iter_add_filter (test.iter, certificate_filter, 1);
- p11_kit_iter_begin_with (test.iter, &test.module, 0, 0);
+ p11_kit_iter_add_filter (test.ex.iter, certificate_filter, 1);
+ p11_kit_iter_begin_with (test.ex.iter, &test.module, 0, 0);
- if (asprintf (&test.ex.destination, "%s/%s", test.directory, "extract.cer") < 0)
+ if (asprintf (&destination, "%s/%s", test.directory, "extract.cer") < 0)
assert_not_reached ();
- ret = p11_extract_x509_file (test.iter, &test.ex);
+ ret = p11_extract_x509_file (&test.ex, destination);
assert_num_eq (true, ret);
test_check_file (test.directory, "extract.cer", SRCDIR "/files/cacert3.der");
- free (test.ex.destination);
+ free (destination);
}
static void
test_file_multiple (void)
{
+ char *destination;
bool ret;
mock_module_add_object (MOCK_SLOT_ONE_ID, cacert3_authority_attrs);
mock_module_add_object (MOCK_SLOT_ONE_ID, cacert3_authority_attrs);
- p11_kit_iter_add_callback (test.iter, p11_extract_info_load_filter, &test.ex, NULL);
- p11_kit_iter_add_filter (test.iter, certificate_filter, 1);
- p11_kit_iter_begin_with (test.iter, &test.module, 0, 0);
+ p11_kit_iter_add_filter (test.ex.iter, certificate_filter, 1);
+ p11_kit_iter_begin_with (test.ex.iter, &test.module, 0, 0);
- if (asprintf (&test.ex.destination, "%s/%s", test.directory, "extract.cer") < 0)
+ if (asprintf (&destination, "%s/%s", test.directory, "extract.cer") < 0)
assert_not_reached ();
p11_message_quiet ();
- ret = p11_extract_x509_file (test.iter, &test.ex);
+ ret = p11_extract_x509_file (&test.ex, destination);
assert_num_eq (true, ret);
assert (strstr (p11_message_last (), "multiple certificates") != NULL);
@@ -163,31 +159,31 @@ test_file_multiple (void)
test_check_file (test.directory, "extract.cer", SRCDIR "/files/cacert3.der");
- free (test.ex.destination);
+ free (destination);
}
static void
test_file_without (void)
{
+ char *destination;
bool ret;
- p11_kit_iter_add_callback (test.iter, p11_extract_info_load_filter, &test.ex, NULL);
- p11_kit_iter_add_filter (test.iter, certificate_filter, 1);
- p11_kit_iter_begin_with (test.iter, &test.module, 0, 0);
+ p11_kit_iter_add_filter (test.ex.iter, certificate_filter, 1);
+ p11_kit_iter_begin_with (test.ex.iter, &test.module, 0, 0);
- if (asprintf (&test.ex.destination, "%s/%s", test.directory, "extract.cer") < 0)
+ if (asprintf (&destination, "%s/%s", test.directory, "extract.cer") < 0)
assert_not_reached ();
p11_message_quiet ();
- ret = p11_extract_x509_file (test.iter, &test.ex);
+ ret = p11_extract_x509_file (&test.ex, destination);
assert_num_eq (false, ret);
assert (strstr (p11_message_last (), "no certificate") != NULL);
p11_message_loud ();
- free (test.ex.destination);
+ free (destination);
}
static void
@@ -198,16 +194,14 @@ test_directory (void)
mock_module_add_object (MOCK_SLOT_ONE_ID, cacert3_authority_attrs);
mock_module_add_object (MOCK_SLOT_ONE_ID, cacert3_authority_attrs);
- p11_kit_iter_add_callback (test.iter, p11_extract_info_load_filter, &test.ex, NULL);
- p11_kit_iter_add_filter (test.iter, certificate_filter, 1);
- p11_kit_iter_begin_with (test.iter, &test.module, 0, 0);
+ p11_kit_iter_add_filter (test.ex.iter, certificate_filter, 1);
+ p11_kit_iter_begin_with (test.ex.iter, &test.module, 0, 0);
/* Yes, this is a race, and why you shouldn't build software as root */
if (rmdir (test.directory) < 0)
assert_not_reached ();
- test.ex.destination = test.directory;
- ret = p11_extract_x509_directory (test.iter, &test.ex);
+ ret = p11_extract_x509_directory (&test.ex, test.directory);
assert_num_eq (true, ret);
test_check_directory (test.directory, ("Cacert3_Here.cer", "Cacert3_Here.1.cer", NULL));
@@ -220,16 +214,14 @@ test_directory_empty (void)
{
bool ret;
- p11_kit_iter_add_callback (test.iter, p11_extract_info_load_filter, &test.ex, NULL);
- p11_kit_iter_add_filter (test.iter, certificate_filter, 1);
- p11_kit_iter_begin_with (test.iter, &test.module, 0, 0);
+ p11_kit_iter_add_filter (test.ex.iter, certificate_filter, 1);
+ p11_kit_iter_begin_with (test.ex.iter, &test.module, 0, 0);
/* Yes, this is a race, and why you shouldn't build software as root */
if (rmdir (test.directory) < 0)
assert_not_reached ();
- test.ex.destination = test.directory;
- ret = p11_extract_x509_directory (test.iter, &test.ex);
+ ret = p11_extract_x509_directory (&test.ex, test.directory);
assert_num_eq (true, ret);
test_check_directory (test.directory, (NULL, NULL));
diff --git a/trust/tests/test-extract.c b/trust/tests/test-enumerate.c
index 4fce711..027abbe 100644
--- a/trust/tests/test-extract.c
+++ b/trust/tests/test-enumerate.c
@@ -53,94 +53,94 @@
#include <stdlib.h>
#include <string.h>
+
static void
test_file_name_for_label (void)
{
CK_ATTRIBUTE label = { CKA_LABEL, "The Label!", 10 };
- p11_extract_info ex;
+ p11_enumerate ex;
char *name;
- p11_extract_info_init (&ex);
+ p11_enumerate_init (&ex);
ex.attrs = p11_attrs_build (NULL, &label, NULL);
- name = p11_extract_info_filename (&ex);
+ name = p11_enumerate_filename (&ex);
assert_str_eq ("The_Label_", name);
free (name);
- p11_extract_info_cleanup (&ex);
+ p11_enumerate_cleanup (&ex);
}
static void
test_file_name_for_class (void)
{
- p11_extract_info ex;
+ p11_enumerate ex;
char *name;
- p11_extract_info_init (&ex);
+ p11_enumerate_init (&ex);
ex.klass = CKO_CERTIFICATE;
- name = p11_extract_info_filename (&ex);
+ name = p11_enumerate_filename (&ex);
assert_str_eq ("certificate", name);
free (name);
ex.klass = CKO_DATA;
- name = p11_extract_info_filename (&ex);
+ name = p11_enumerate_filename (&ex);
assert_str_eq ("unknown", name);
free (name);
- p11_extract_info_cleanup (&ex);
+ p11_enumerate_cleanup (&ex);
}
static void
test_comment_for_label (void)
{
CK_ATTRIBUTE label = { CKA_LABEL, "The Label!", 10 };
- p11_extract_info ex;
+ p11_enumerate ex;
char *comment;
- p11_extract_info_init (&ex);
+ p11_enumerate_init (&ex);
ex.flags = P11_EXTRACT_COMMENT;
ex.attrs = p11_attrs_build (NULL, &label, NULL);
- comment = p11_extract_info_comment (&ex, true);
+ comment = p11_enumerate_comment (&ex, true);
assert_str_eq ("# The Label!\n", comment);
free (comment);
- comment = p11_extract_info_comment (&ex, false);
+ comment = p11_enumerate_comment (&ex, false);
assert_str_eq ("\n# The Label!\n", comment);
free (comment);
- p11_extract_info_cleanup (&ex);
+ p11_enumerate_cleanup (&ex);
}
static void
test_comment_not_enabled (void)
{
CK_ATTRIBUTE label = { CKA_LABEL, "The Label!", 10 };
- p11_extract_info ex;
+ p11_enumerate ex;
char *comment;
- p11_extract_info_init (&ex);
+ p11_enumerate_init (&ex);
ex.attrs = p11_attrs_build (NULL, &label, NULL);
- comment = p11_extract_info_comment (&ex, true);
+ comment = p11_enumerate_comment (&ex, true);
assert_ptr_eq (NULL, comment);
- comment = p11_extract_info_comment (&ex, false);
+ comment = p11_enumerate_comment (&ex, false);
assert_ptr_eq (NULL, comment);
- p11_extract_info_cleanup (&ex);
+ p11_enumerate_cleanup (&ex);
}
struct {
CK_FUNCTION_LIST module;
- P11KitIter *iter;
- p11_extract_info ex;
+ p11_enumerate ex;
} test;
static void
@@ -154,9 +154,7 @@ setup (void *unused)
rv = test.module.C_Initialize (NULL);
assert_num_eq (CKR_OK, rv);
- test.iter = p11_kit_iter_new (NULL, 0);
-
- p11_extract_info_init (&test.ex);
+ p11_enumerate_init (&test.ex);
}
static void
@@ -164,9 +162,7 @@ teardown (void *unused)
{
CK_RV rv;
- p11_extract_info_cleanup (&test.ex);
-
- p11_kit_iter_free (test.iter);
+ p11_enumerate_cleanup (&test.ex);
rv = test.module.C_Finalize (NULL);
assert_num_eq (CKR_OK, rv);
@@ -234,11 +230,10 @@ test_info_simple_certificate (void)
mock_module_add_object (MOCK_SLOT_ONE_ID, cacert3_trusted);
mock_module_add_object (MOCK_SLOT_ONE_ID, extension_eku_server_client);
- p11_kit_iter_add_callback (test.iter, p11_extract_info_load_filter, &test.ex, NULL);
- p11_kit_iter_add_filter (test.iter, certificate_filter, 1);
- p11_kit_iter_begin_with (test.iter, &test.module, 0, 0);
+ p11_kit_iter_add_filter (test.ex.iter, certificate_filter, 1);
+ p11_kit_iter_begin_with (test.ex.iter, &test.module, 0, 0);
- rv = p11_kit_iter_next (test.iter);
+ rv = p11_kit_iter_next (test.ex.iter);
assert_num_eq (CKR_OK, rv);
assert_num_eq (CKO_CERTIFICATE, test.ex.klass);
@@ -250,7 +245,7 @@ test_info_simple_certificate (void)
assert (memcmp (test.ex.cert_der, test_cacert3_ca_der, test.ex.cert_len) == 0);
assert_ptr_not_null (test.ex.cert_asn);
- rv = p11_kit_iter_next (test.iter);
+ rv = p11_kit_iter_next (test.ex.iter);
assert_num_eq (CKR_CANCEL, rv);
}
@@ -264,14 +259,13 @@ test_info_limit_purposes (void)
/* This should not match the above, with the stapled certificat ext */
assert_ptr_eq (NULL, test.ex.limit_to_purposes);
- p11_extract_info_limit_purpose (&test.ex, "1.1.1");
+ p11_enumerate_opt_purpose (&test.ex, "1.1.1");
assert_ptr_not_null (test.ex.limit_to_purposes);
- p11_kit_iter_add_callback (test.iter, p11_extract_info_load_filter, &test.ex, NULL);
- p11_kit_iter_add_filter (test.iter, certificate_filter, 1);
- p11_kit_iter_begin_with (test.iter, &test.module, 0, 0);
+ p11_kit_iter_add_filter (test.ex.iter, certificate_filter, 1);
+ p11_kit_iter_begin_with (test.ex.iter, &test.module, 0, 0);
- rv = p11_kit_iter_next (test.iter);
+ rv = p11_kit_iter_next (test.ex.iter);
assert_num_eq (CKR_CANCEL, rv);
}
@@ -283,14 +277,13 @@ test_info_invalid_purposes (void)
mock_module_add_object (MOCK_SLOT_ONE_ID, cacert3_trusted);
mock_module_add_object (MOCK_SLOT_ONE_ID, extension_eku_invalid);
- p11_kit_iter_add_callback (test.iter, p11_extract_info_load_filter, &test.ex, NULL);
- p11_kit_iter_add_filter (test.iter, certificate_filter, 1);
- p11_kit_iter_begin_with (test.iter, &test.module, 0, 0);
+ p11_kit_iter_add_filter (test.ex.iter, certificate_filter, 1);
+ p11_kit_iter_begin_with (test.ex.iter, &test.module, 0, 0);
p11_kit_be_quiet ();
/* No results due to invalid purpose on certificate */
- rv = p11_kit_iter_next (test.iter);
+ rv = p11_kit_iter_next (test.ex.iter);
assert_num_eq (CKR_CANCEL, rv);
p11_kit_be_loud ();
@@ -303,17 +296,16 @@ test_info_skip_non_certificate (void)
mock_module_add_object (MOCK_SLOT_ONE_ID, cacert3_trusted);
- p11_kit_iter_add_callback (test.iter, p11_extract_info_load_filter, &test.ex, NULL);
- p11_kit_iter_begin_with (test.iter, &test.module, 0, 0);
+ p11_kit_iter_begin_with (test.ex.iter, &test.module, 0, 0);
p11_message_quiet ();
- rv = p11_kit_iter_next (test.iter);
+ rv = p11_kit_iter_next (test.ex.iter);
assert_num_eq (CKR_OK, rv);
assert_num_eq (CKO_CERTIFICATE, test.ex.klass);
- rv = p11_kit_iter_next (test.iter);
+ rv = p11_kit_iter_next (test.ex.iter);
assert_num_eq (CKR_CANCEL, rv);
p11_message_loud ();
@@ -327,13 +319,12 @@ test_limit_to_purpose_match (void)
mock_module_add_object (MOCK_SLOT_ONE_ID, cacert3_trusted);
mock_module_add_object (MOCK_SLOT_ONE_ID, extension_eku_server_client);
- p11_extract_info_limit_purpose (&test.ex, P11_OID_SERVER_AUTH_STR);
- p11_kit_iter_add_callback (test.iter, p11_extract_info_load_filter, &test.ex, NULL);
- p11_kit_iter_begin_with (test.iter, &test.module, 0, 0);
+ p11_enumerate_opt_purpose (&test.ex, P11_OID_SERVER_AUTH_STR);
+ p11_kit_iter_begin_with (test.ex.iter, &test.module, 0, 0);
p11_message_quiet ();
- rv = p11_kit_iter_next (test.iter);
+ rv = p11_kit_iter_next (test.ex.iter);
assert_num_eq (CKR_OK, rv);
p11_message_loud ();
@@ -347,13 +338,12 @@ test_limit_to_purpose_no_match (void)
mock_module_add_object (MOCK_SLOT_ONE_ID, cacert3_trusted);
mock_module_add_object (MOCK_SLOT_ONE_ID, extension_eku_server_client);
- p11_extract_info_limit_purpose (&test.ex, "3.3.3.3");
- p11_kit_iter_add_callback (test.iter, p11_extract_info_load_filter, &test.ex, NULL);
- p11_kit_iter_begin_with (test.iter, &test.module, 0, 0);
+ p11_enumerate_opt_purpose (&test.ex, "3.3.3.3");
+ p11_kit_iter_begin_with (test.ex.iter, &test.module, 0, 0);
p11_message_quiet ();
- rv = p11_kit_iter_next (test.iter);
+ rv = p11_kit_iter_next (test.ex.iter);
assert_num_eq (CKR_CANCEL, rv);
p11_message_loud ();
@@ -368,17 +358,16 @@ test_duplicate_extract (void)
mock_module_add_object (MOCK_SLOT_ONE_ID, cacert3_trusted);
mock_module_add_object (MOCK_SLOT_ONE_ID, cacert3_distrusted);
- p11_kit_iter_add_callback (test.iter, p11_extract_info_load_filter, &test.ex, NULL);
- p11_kit_iter_add_filter (test.iter, &certificate, 1);
- p11_kit_iter_begin_with (test.iter, &test.module, 0, 0);
+ p11_kit_iter_add_filter (test.ex.iter, &certificate, 1);
+ p11_kit_iter_begin_with (test.ex.iter, &test.module, 0, 0);
- rv = p11_kit_iter_next (test.iter);
+ rv = p11_kit_iter_next (test.ex.iter);
assert_num_eq (CKR_OK, rv);
- rv = p11_kit_iter_next (test.iter);
+ rv = p11_kit_iter_next (test.ex.iter);
assert_num_eq (CKR_OK, rv);
- rv = p11_kit_iter_next (test.iter);
+ rv = p11_kit_iter_next (test.ex.iter);
assert_num_eq (CKR_CANCEL, rv);
}
@@ -396,21 +385,20 @@ test_duplicate_distrusted (void)
mock_module_add_object (MOCK_SLOT_ONE_ID, cacert3_distrusted);
mock_module_add_object (MOCK_SLOT_ONE_ID, cacert3_trusted);
- test.ex.flags = P11_EXTRACT_COLLAPSE;
- p11_kit_iter_add_callback (test.iter, p11_extract_info_load_filter, &test.ex, NULL);
- p11_kit_iter_add_filter (test.iter, &certificate, 1);
- p11_kit_iter_begin_with (test.iter, &test.module, 0, 0);
+ test.ex.flags = P11_ENUMERATE_COLLAPSE;
+ p11_kit_iter_add_filter (test.ex.iter, &certificate, 1);
+ p11_kit_iter_begin_with (test.ex.iter, &test.module, 0, 0);
- rv = p11_kit_iter_next (test.iter);
+ rv = p11_kit_iter_next (test.ex.iter);
assert_num_eq (CKR_OK, rv);
- rv = p11_kit_iter_load_attributes (test.iter, attrs, 1);
+ rv = p11_kit_iter_load_attributes (test.ex.iter, attrs, 1);
assert_num_eq (CKR_OK, rv);
assert (p11_attrs_findn_bool (attrs, 1, CKA_X_DISTRUSTED, &val));
assert_num_eq (val, CK_TRUE);
free (attrs[0].pValue);
- rv = p11_kit_iter_next (test.iter);
+ rv = p11_kit_iter_next (test.ex.iter);
assert_num_eq (CKR_CANCEL, rv);
}
@@ -423,12 +411,11 @@ test_trusted_match (void)
mock_module_add_object (MOCK_SLOT_ONE_ID, cacert3_trusted);
mock_module_add_object (MOCK_SLOT_ONE_ID, cacert3_distrusted);
- test.ex.flags = P11_EXTRACT_ANCHORS;
- p11_kit_iter_add_callback (test.iter, p11_extract_info_load_filter, &test.ex, NULL);
- p11_kit_iter_add_filter (test.iter, &certificate, 1);
- p11_kit_iter_begin_with (test.iter, &test.module, 0, 0);
+ test.ex.flags = P11_ENUMERATE_ANCHORS;
+ p11_kit_iter_add_filter (test.ex.iter, &certificate, 1);
+ p11_kit_iter_begin_with (test.ex.iter, &test.module, 0, 0);
- rv = p11_kit_iter_next (test.iter);
+ rv = p11_kit_iter_next (test.ex.iter);
assert_num_eq (CKR_CANCEL, rv);
}
@@ -442,19 +429,18 @@ test_distrust_match (void)
mock_module_add_object (MOCK_SLOT_ONE_ID, cacert3_trusted);
mock_module_add_object (MOCK_SLOT_ONE_ID, cacert3_distrusted);
- test.ex.flags = P11_EXTRACT_BLACKLIST;
- p11_kit_iter_add_callback (test.iter, p11_extract_info_load_filter, &test.ex, NULL);
- p11_kit_iter_add_filter (test.iter, &certificate, 1);
- p11_kit_iter_begin_with (test.iter, &test.module, 0, 0);
+ test.ex.flags = P11_ENUMERATE_BLACKLIST;
+ p11_kit_iter_add_filter (test.ex.iter, &certificate, 1);
+ p11_kit_iter_begin_with (test.ex.iter, &test.module, 0, 0);
- rv = p11_kit_iter_next (test.iter);
+ rv = p11_kit_iter_next (test.ex.iter);
assert_num_eq (CKR_OK, rv);
if (!p11_attrs_find_bool (test.ex.attrs, CKA_X_DISTRUSTED, &boolv))
boolv = CK_FALSE;
assert_num_eq (CK_TRUE, boolv);
- rv = p11_kit_iter_next (test.iter);
+ rv = p11_kit_iter_next (test.ex.iter);
assert_num_eq (CKR_CANCEL, rv);
}
@@ -467,15 +453,14 @@ test_anytrust_match (void)
mock_module_add_object (MOCK_SLOT_ONE_ID, cacert3_trusted);
mock_module_add_object (MOCK_SLOT_ONE_ID, cacert3_distrusted);
- test.ex.flags = P11_EXTRACT_ANCHORS | P11_EXTRACT_BLACKLIST;
- p11_kit_iter_add_callback (test.iter, p11_extract_info_load_filter, &test.ex, NULL);
- p11_kit_iter_add_filter (test.iter, &certificate, 1);
- p11_kit_iter_begin_with (test.iter, &test.module, 0, 0);
+ test.ex.flags = P11_ENUMERATE_ANCHORS | P11_ENUMERATE_BLACKLIST;
+ p11_kit_iter_add_filter (test.ex.iter, &certificate, 1);
+ p11_kit_iter_begin_with (test.ex.iter, &test.module, 0, 0);
- rv = p11_kit_iter_next (test.iter);
+ rv = p11_kit_iter_next (test.ex.iter);
assert_num_eq (CKR_OK, rv);
- rv = p11_kit_iter_next (test.iter);
+ rv = p11_kit_iter_next (test.ex.iter);
assert_num_eq (CKR_CANCEL, rv);
}
diff --git a/trust/tests/test-openssl.c b/trust/tests/test-openssl.c
index f31a41a..583ce24 100644
--- a/trust/tests/test-openssl.c
+++ b/trust/tests/test-openssl.c
@@ -62,8 +62,7 @@
struct {
CK_FUNCTION_LIST module;
- P11KitIter *iter;
- p11_extract_info ex;
+ p11_enumerate ex;
char *directory;
} test;
@@ -77,9 +76,7 @@ setup (void *unused)
rv = test.module.C_Initialize (NULL);
assert_num_eq (CKR_OK, rv);
- test.iter = p11_kit_iter_new (NULL, 0);
-
- p11_extract_info_init (&test.ex);
+ p11_enumerate_init (&test.ex);
test.directory = p11_test_directory ("test-extract");
}
@@ -93,8 +90,8 @@ teardown (void *unused)
assert_not_reached ();
free (test.directory);
- p11_extract_info_cleanup (&test.ex);
- p11_kit_iter_free (test.iter);
+ p11_enumerate_cleanup (&test.ex);
+ p11_kit_iter_free (test.ex.iter);
rv = test.module.C_Finalize (NULL);
assert_num_eq (CKR_OK, rv);
@@ -177,6 +174,7 @@ setup_objects (const CK_ATTRIBUTE *attrs,
static void
test_file (void)
{
+ char *destination;
bool ret;
setup_objects (cacert3_authority_attrs,
@@ -184,48 +182,48 @@ test_file (void)
extension_reject_email,
NULL);
- p11_kit_iter_add_callback (test.iter, p11_extract_info_load_filter, &test.ex, NULL);
- p11_kit_iter_add_filter (test.iter, certificate_filter, 1);
- p11_kit_iter_begin_with (test.iter, &test.module, 0, 0);
+ p11_kit_iter_add_filter (test.ex.iter, certificate_filter, 1);
+ p11_kit_iter_begin_with (test.ex.iter, &test.module, 0, 0);
- if (asprintf (&test.ex.destination, "%s/%s", test.directory, "extract.pem") < 0)
+ if (asprintf (&destination, "%s/%s", test.directory, "extract.pem") < 0)
assert_not_reached ();
- ret = p11_extract_openssl_bundle (test.iter, &test.ex);
+ ret = p11_extract_openssl_bundle (&test.ex, destination);
assert_num_eq (true, ret);
test_check_file (test.directory, "extract.pem",
SRCDIR "/files/cacert3-trusted-server-alias.pem");
- free (test.ex.destination);
+ free (destination);
}
static void
test_plain (void)
{
+ char *destination;
bool ret;
setup_objects (cacert3_authority_attrs, NULL);
- p11_kit_iter_add_callback (test.iter, p11_extract_info_load_filter, &test.ex, NULL);
- p11_kit_iter_add_filter (test.iter, certificate_filter, 1);
- p11_kit_iter_begin_with (test.iter, &test.module, 0, 0);
+ p11_kit_iter_add_filter (test.ex.iter, certificate_filter, 1);
+ p11_kit_iter_begin_with (test.ex.iter, &test.module, 0, 0);
- if (asprintf (&test.ex.destination, "%s/%s", test.directory, "extract.pem") < 0)
+ if (asprintf (&destination, "%s/%s", test.directory, "extract.pem") < 0)
assert_not_reached ();
- ret = p11_extract_openssl_bundle (test.iter, &test.ex);
+ ret = p11_extract_openssl_bundle (&test.ex, destination);
assert_num_eq (true, ret);
test_check_file (test.directory, "extract.pem",
SRCDIR "/files/cacert3-trusted-alias.pem");
- free (test.ex.destination);
+ free (destination);
}
static void
test_keyid (void)
{
+ char *destination;
bool ret;
static CK_ATTRIBUTE cacert3_plain[] = {
@@ -248,25 +246,25 @@ test_keyid (void)
setup_objects (cacert3_plain, extension_subject_key_identifier, NULL);
- p11_kit_iter_add_callback (test.iter, p11_extract_info_load_filter, &test.ex, NULL);
- p11_kit_iter_add_filter (test.iter, certificate_filter, 1);
- p11_kit_iter_begin_with (test.iter, &test.module, 0, 0);
+ p11_kit_iter_add_filter (test.ex.iter, certificate_filter, 1);
+ p11_kit_iter_begin_with (test.ex.iter, &test.module, 0, 0);
- if (asprintf (&test.ex.destination, "%s/%s", test.directory, "extract.pem") < 0)
+ if (asprintf (&destination, "%s/%s", test.directory, "extract.pem") < 0)
assert_not_reached ();
- ret = p11_extract_openssl_bundle (test.iter, &test.ex);
+ ret = p11_extract_openssl_bundle (&test.ex, destination);
assert_num_eq (true, ret);
test_check_file (test.directory, "extract.pem",
SRCDIR "/files/cacert3-trusted-keyid.pem");
- free (test.ex.destination);
+ free (destination);
}
static void
test_not_authority (void)
{
+ char *destination;
bool ret;
static CK_ATTRIBUTE cacert3_not_trusted[] = {
@@ -279,25 +277,25 @@ test_not_authority (void)
setup_objects (cacert3_not_trusted, NULL);
- p11_kit_iter_add_callback (test.iter, p11_extract_info_load_filter, &test.ex, NULL);
- p11_kit_iter_add_filter (test.iter, certificate_filter, 1);
- p11_kit_iter_begin_with (test.iter, &test.module, 0, 0);
+ p11_kit_iter_add_filter (test.ex.iter, certificate_filter, 1);
+ p11_kit_iter_begin_with (test.ex.iter, &test.module, 0, 0);
- if (asprintf (&test.ex.destination, "%s/%s", test.directory, "extract.pem") < 0)
+ if (asprintf (&destination, "%s/%s", test.directory, "extract.pem") < 0)
assert_not_reached ();
- ret = p11_extract_openssl_bundle (test.iter, &test.ex);
+ ret = p11_extract_openssl_bundle (&test.ex, destination);
assert_num_eq (true, ret);
test_check_file (test.directory, "extract.pem",
SRCDIR "/files/cacert3-not-trusted.pem");
- free (test.ex.destination);
+ free (destination);
}
static void
test_distrust_all (void)
{
+ char *destination;
bool ret;
static CK_ATTRIBUTE cacert3_blacklist[] = {
@@ -311,25 +309,25 @@ test_distrust_all (void)
setup_objects (cacert3_blacklist, NULL);
- p11_kit_iter_add_callback (test.iter, p11_extract_info_load_filter, &test.ex, NULL);
- p11_kit_iter_add_filter (test.iter, certificate_filter, 1);
- p11_kit_iter_begin_with (test.iter, &test.module, 0, 0);
+ p11_kit_iter_add_filter (test.ex.iter, certificate_filter, 1);
+ p11_kit_iter_begin_with (test.ex.iter, &test.module, 0, 0);
- if (asprintf (&test.ex.destination, "%s/%s", test.directory, "extract.pem") < 0)
+ if (asprintf (&destination, "%s/%s", test.directory, "extract.pem") < 0)
assert_not_reached ();
- ret = p11_extract_openssl_bundle (test.iter, &test.ex);
+ ret = p11_extract_openssl_bundle (&test.ex, destination);
assert_num_eq (true, ret);
test_check_file (test.directory, "extract.pem",
SRCDIR "/files/cacert3-distrust-all.pem");
- free (test.ex.destination);
+ free (destination);
}
static void
test_file_multiple (void)
{
+ char *destination;
bool ret;
setup_objects (cacert3_authority_attrs,
@@ -340,38 +338,37 @@ test_file_multiple (void)
setup_objects (verisign_v1_attrs,
NULL);
- p11_kit_iter_add_callback (test.iter, p11_extract_info_load_filter, &test.ex, NULL);
- p11_kit_iter_add_filter (test.iter, certificate_filter, 1);
- p11_kit_iter_begin_with (test.iter, &test.module, 0, 0);
+ p11_kit_iter_add_filter (test.ex.iter, certificate_filter, 1);
+ p11_kit_iter_begin_with (test.ex.iter, &test.module, 0, 0);
- if (asprintf (&test.ex.destination, "%s/%s", test.directory, "extract.pem") < 0)
+ if (asprintf (&destination, "%s/%s", test.directory, "extract.pem") < 0)
assert_not_reached ();
- ret = p11_extract_openssl_bundle (test.iter, &test.ex);
+ ret = p11_extract_openssl_bundle (&test.ex, destination);
assert_num_eq (true, ret);
test_check_file (test.directory, "extract.pem", SRCDIR "/files/multiple.pem");
- free (test.ex.destination);
+ free (destination);
}
static void
test_file_without (void)
{
+ char *destination;
bool ret;
- p11_kit_iter_add_callback (test.iter, p11_extract_info_load_filter, &test.ex, NULL);
- p11_kit_iter_add_filter (test.iter, certificate_filter, 1);
- p11_kit_iter_begin_with (test.iter, &test.module, 0, 0);
+ p11_kit_iter_add_filter (test.ex.iter, certificate_filter, 1);
+ p11_kit_iter_begin_with (test.ex.iter, &test.module, 0, 0);
- if (asprintf (&test.ex.destination, "%s/%s", test.directory, "extract.pem") < 0)
+ if (asprintf (&destination, "%s/%s", test.directory, "extract.pem") < 0)
assert_not_reached ();
- ret = p11_extract_openssl_bundle (test.iter, &test.ex);
+ ret = p11_extract_openssl_bundle (&test.ex, destination);
assert_num_eq (true, ret);
test_check_data (test.directory, "extract.pem", "", 0);
- free (test.ex.destination);
+ free (destination);
}
/* From extract-openssl.c */
@@ -587,16 +584,14 @@ test_directory (void)
setup_objects (cacert3_authority_attrs,
NULL);
- p11_kit_iter_add_callback (test.iter, p11_extract_info_load_filter, &test.ex, NULL);
- p11_kit_iter_add_filter (test.iter, certificate_filter, 1);
- p11_kit_iter_begin_with (test.iter, &test.module, 0, 0);
+ p11_kit_iter_add_filter (test.ex.iter, certificate_filter, 1);
+ p11_kit_iter_begin_with (test.ex.iter, &test.module, 0, 0);
/* Yes, this is a race, and why you shouldn't build software as root */
if (rmdir (test.directory) < 0)
assert_not_reached ();
- test.ex.destination = test.directory;
- ret = p11_extract_openssl_directory (test.iter, &test.ex);
+ ret = p11_extract_openssl_directory (&test.ex, test.directory);
assert_num_eq (true, ret);
test_check_directory (test.directory, ("Custom_Label.pem", "Custom_Label.1.pem",
@@ -621,16 +616,14 @@ test_directory_empty (void)
{
bool ret;
- p11_kit_iter_add_callback (test.iter, p11_extract_info_load_filter, &test.ex, NULL);
- p11_kit_iter_add_filter (test.iter, certificate_filter, 1);
- p11_kit_iter_begin_with (test.iter, &test.module, 0, 0);
+ p11_kit_iter_add_filter (test.ex.iter, certificate_filter, 1);
+ p11_kit_iter_begin_with (test.ex.iter, &test.module, 0, 0);
/* Yes, this is a race, and why you shouldn't build software as root */
if (rmdir (test.directory) < 0)
assert_not_reached ();
- test.ex.destination = test.directory;
- ret = p11_extract_openssl_directory (test.iter, &test.ex);
+ ret = p11_extract_openssl_directory (&test.ex, test.directory);
assert_num_eq (true, ret);
test_check_directory (test.directory, (NULL, NULL));