diff options
Diffstat (limited to 'trust/tests')
-rw-r--r-- | trust/tests/Makefile.am | 14 | ||||
-rw-r--r-- | trust/tests/test-bundle.c | 62 | ||||
-rw-r--r-- | trust/tests/test-cer.c | 62 | ||||
-rw-r--r-- | trust/tests/test-enumerate.c (renamed from trust/tests/test-extract.c) | 151 | ||||
-rw-r--r-- | trust/tests/test-openssl.c | 111 |
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)); |