[pkg-opensc-commit] [opensc] 24/50: pkcs15init: authentIC: init card/pin not supported

Eric Dorland eric at moszumanska.debian.org
Sat May 28 03:35:48 UTC 2016


This is an automated email from the git hooks/post-receive script.

eric pushed a commit to branch master
in repository opensc.

commit 5be51ea3e20a05d8604db9f59f7788b87a82018e
Author: Viktor Tarasov <viktor.tarasov at gmail.com>
Date:   Wed Apr 27 15:47:50 2016 +0200

    pkcs15init: authentIC: init card/pin not supported
---
 src/pkcs15init/pkcs15-authentic.c | 30 +++++++++++++++++++++++++++---
 src/pkcs15init/pkcs15-lib.c       |  7 +++++--
 2 files changed, 32 insertions(+), 5 deletions(-)

diff --git a/src/pkcs15init/pkcs15-authentic.c b/src/pkcs15init/pkcs15-authentic.c
index d5f0916..7fcea79 100644
--- a/src/pkcs15init/pkcs15-authentic.c
+++ b/src/pkcs15init/pkcs15-authentic.c
@@ -855,15 +855,39 @@ authentic_emu_update_tokeninfo(struct sc_profile *profile, struct sc_pkcs15_card
 	LOG_FUNC_RETURN(ctx, SC_SUCCESS);
 }
 
+static int
+authentic_pkcs15_init_card(struct sc_profile *profile, struct sc_pkcs15_card *p15card)
+{
+	LOG_FUNC_RETURN(p15card->card->ctx, SC_ERROR_NOT_SUPPORTED);
+}
+
+
+static int
+authentic_pkcs15_create_dir(struct sc_profile *profile, struct sc_pkcs15_card *p15card,
+		struct sc_file *df)
+{
+	LOG_FUNC_RETURN(p15card->card->ctx, SC_ERROR_NOT_SUPPORTED);
+}
+
+
+static int
+authentic_pkcs15_create_pin(struct sc_profile *profile, struct sc_pkcs15_card *p15card,
+		struct sc_file *df, struct sc_pkcs15_object *pin_obj,
+		const unsigned char *pin, size_t pin_len,
+		const unsigned char *puk, size_t puk_len)
+{
+	LOG_FUNC_RETURN(p15card->card->ctx, SC_ERROR_NOT_SUPPORTED);
+}
+
 
 static struct sc_pkcs15init_operations
 sc_pkcs15init_authentic_operations = {
 	authentic_pkcs15_erase_card,
-	NULL,					/* init_card  */
-	NULL,					/* create_dir */
+	authentic_pkcs15_init_card,
+	authentic_pkcs15_create_dir,
 	NULL,					/* create_domain */
 	NULL,					/* select_pin_reference */
-	NULL,					/* create_pin */
+	authentic_pkcs15_create_pin,
 	authentic_pkcs15_select_key_reference,
 	authentic_pkcs15_create_key,
 	authentic_pkcs15_store_key,
diff --git a/src/pkcs15init/pkcs15-lib.c b/src/pkcs15init/pkcs15-lib.c
index cfbb1b6..4df0e84 100644
--- a/src/pkcs15init/pkcs15-lib.c
+++ b/src/pkcs15init/pkcs15-lib.c
@@ -814,12 +814,14 @@ sc_pkcs15init_add_app(struct sc_card *card, struct sc_profile *profile,
 			 */
 			sc_log(ctx, "Add virtual SO_PIN('%.*s',flags:%X,reference:%i,path:'%s')", (int) sizeof pin_obj->label, pin_obj->label,
 					pin_attrs->flags, pin_attrs->reference, sc_print_path(&pin_ainfo.path));
+
 			r = sc_pkcs15_add_object(p15card, pin_obj);
 			LOG_TEST_RET(ctx, r, "Failed to add 'SOPIN' AUTH object");
 		}
 	}
 
 	/* Perform card-specific initialization */
+
 	if (profile->ops->init_card)   {
 		r = profile->ops->init_card(profile, p15card);
 		if (r < 0 && pin_obj)   {
@@ -830,11 +832,12 @@ sc_pkcs15init_add_app(struct sc_card *card, struct sc_profile *profile,
 	}
 
 	/* Create the application directory */
-	r = profile->ops->create_dir(profile, p15card, df);
+	if (profile->ops->create_dir)
+		r = profile->ops->create_dir(profile, p15card, df);
 	LOG_TEST_RET(ctx, r, "Create 'DIR' error");
 
 	/* Store SO PIN */
-	if (pin_obj)
+	if (pin_obj && profile->ops->create_pin)
 		r = profile->ops->create_pin(profile, p15card, df, pin_obj,
 				args->so_pin, args->so_pin_len,
 				args->so_puk, args->so_puk_len);

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-opensc/opensc.git



More information about the pkg-opensc-commit mailing list