From 4eb5165019c100435b139825edae8a4c03d89e21 Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Mon, 18 Aug 2003 17:34:51 +0000 Subject: [PATCH] * scdaemon.c, scdaemon.h: New option --disable-opensc. * card.c (card_open): Implement it. * apdu.c (open_osc_reader, osc_send_apdu): New. (apdu_open_reader) [HAVE_OPENSC]: Use the opensc driver if not disabled. (error_string) [HAVE_OPENSC]: Use sc_strerror. (send_apdu) [HAVE_OPENSC]: Call osc_apdu_send. * card-p15.c (p15_enum_keypairs, p15_prepare_key): Adjusted for libgpg-error. --- scd/card-p15.c | 6 +++--- scd/card.c | 5 ++++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/scd/card-p15.c b/scd/card-p15.c index 3cf4ba519..dfb05c03f 100644 --- a/scd/card-p15.c +++ b/scd/card-p15.c @@ -136,7 +136,7 @@ p15_enum_keypairs (CARD card, int idx, log_info ("certificate for private key %d not found: %s\n", idx, sc_strerror (rc)); /* note, that we return the ID anyway */ - rc = gpg_error (GPG_ERR_MISSING_CERTIFICATE); + rc = gpg_error (GPG_ERR_MISSING_CERT); goto return_keyid; } certinfo = tmpobj->data; @@ -339,7 +339,7 @@ p15_prepare_key (CARD card, const char *keyidstr, if (rc < 0) { log_error ("private key not found: %s\n", sc_strerror(rc)); - return gpg_error (GPG_ERR_NO_SECRET_KEY); + return gpg_error (GPG_ERR_NO_SECKEY); } rc = sc_pkcs15_find_pin_by_auth_id (card->p15card, @@ -357,7 +357,7 @@ p15_prepare_key (CARD card, const char *keyidstr, rc = pincb (pincb_arg, pinobj->label, &pinvalue); if (rc) { - log_info ("PIN callback returned error: %s\n", gnupg_strerror (rc)); + log_info ("PIN callback returned error: %s\n", gpg_strerror (rc)); return rc; } diff --git a/scd/card.c b/scd/card.c index 02b7bfdbf..0a71fb2df 100644 --- a/scd/card.c +++ b/scd/card.c @@ -88,7 +88,7 @@ card_help_get_keygrip (KsbaCert cert, unsigned char *array) /* Create a new context for the card and figures out some basic - information of the card. Detects whgether a PKCS_15 application is + information of the card. Detects whether a PKCS_15 application is stored. Common errors: GPG_ERR_CARD_NOT_PRESENT */ @@ -99,6 +99,9 @@ card_open (CARD *rcard) CARD card; int rc; + if (opt.disable_opensc) + return gpg_error (GPG_ERR_NOT_SUPPORTED); + card = xtrycalloc (1, sizeof *card); if (!card) return out_of_core ();