From 332ced5be7aae383921cd14325aa5288f4a08411 Mon Sep 17 00:00:00 2001 From: Martin Paljak Date: Sun, 16 Mar 2014 16:39:26 +0000 Subject: [PATCH] Remove the bogus javacard "driver". I had some ideas on how to improve the experience for JavaCards but that path did not get implemented further and my approach now is very different. While it would be nice if OpenSC (command line) detected somehow blank JavaCard-s and informed the user that steps a-b-c should be taken to make use of it, it doesn't really fit in. --- src/libopensc/Makefile.am | 2 +- src/libopensc/Makefile.mak | 2 +- src/libopensc/card-javacard.c | 74 ----------------------------------- src/libopensc/cards.h | 1 - src/libopensc/ctx.c | 2 - 5 files changed, 2 insertions(+), 79 deletions(-) delete mode 100644 src/libopensc/card-javacard.c diff --git a/src/libopensc/Makefile.am b/src/libopensc/Makefile.am index 176713e5..33bc3e6e 100644 --- a/src/libopensc/Makefile.am +++ b/src/libopensc/Makefile.am @@ -38,7 +38,7 @@ libopensc_la_SOURCES = \ card-incrypto34.c card-piv.c card-muscle.c card-acos5.c \ card-asepcos.c card-akis.c card-gemsafeV1.c card-rutoken.c \ card-rtecp.c card-westcos.c card-myeid.c card-ias.c \ - card-javacard.c card-itacns.c card-authentic.c \ + card-itacns.c card-authentic.c \ card-iasecc.c iasecc-sdo.c iasecc-sm.c card-sc-hsm.c \ card-dnie.c cwa14890.c cwa-dnie.c user-interface.c \ \ diff --git a/src/libopensc/Makefile.mak b/src/libopensc/Makefile.mak index 89bf9b65..6a004e3b 100644 --- a/src/libopensc/Makefile.mak +++ b/src/libopensc/Makefile.mak @@ -21,7 +21,7 @@ OBJECTS = \ card-incrypto34.obj card-piv.obj card-muscle.obj card-acos5.obj \ card-asepcos.obj card-akis.obj card-gemsafeV1.obj card-rutoken.obj \ card-rtecp.obj card-westcos.obj card-myeid.obj card-ias.obj \ - card-javacard.obj card-itacns.obj card-authentic.obj \ + card-itacns.obj card-authentic.obj \ card-iasecc.obj iasecc-sdo.obj iasecc-sm.obj cwa-dnie.obj cwa14890.obj \ card-sc-hsm.obj card-dnie.obj user-interface.obj \ \ diff --git a/src/libopensc/card-javacard.c b/src/libopensc/card-javacard.c deleted file mode 100644 index 81e47ab0..00000000 --- a/src/libopensc/card-javacard.c +++ /dev/null @@ -1,74 +0,0 @@ -/* - * card-javacard.c: Recognize known blank JavaCards - * - * Copyright (C) 2010 Martin Paljak - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#include "internal.h" - -static struct sc_atr_table javacard_atrs[] = { - {"3b:db:18:00:80:b1:fe:45:1f:83:00:31:c0:64:c7:fc:10:00:01:90:00:fa", NULL, "Cosmo v7 64K dual/128K", SC_CARD_TYPE_JAVACARD, 0, NULL}, - {"3b:75:94:00:00:62:02:02:02:01", NULL, "Cyberflex 32K", SC_CARD_TYPE_JAVACARD, 0, NULL}, - {"3b:95:95:40:ff:ae:01:03:00:00", NULL, "Cyberflex v2 64K", SC_CARD_TYPE_JAVACARD, 0, NULL}, - {NULL, NULL, NULL, 0, 0, NULL} -}; - -static struct sc_card_operations javacard_ops; -static struct sc_card_driver javacard_drv = { - "JavaCard (without supported applet)", - "javacard", - &javacard_ops, - NULL, 0, NULL -}; - -static int javacard_finish(sc_card_t * card) -{ - return SC_SUCCESS; -} - -static int javacard_match_card(sc_card_t * card) -{ - if (_sc_match_atr(card, javacard_atrs, &card->type) < 0) - return 0; - return 1; -} - -static int javacard_init(sc_card_t * card) -{ - card->drv_data = NULL; - - return SC_SUCCESS; -} - - -static struct sc_card_driver *sc_get_driver(void) -{ - struct sc_card_driver *iso_drv = sc_get_iso7816_driver(); - - javacard_ops = *iso_drv->ops; - javacard_ops.match_card = javacard_match_card; - javacard_ops.select_file = NULL; - javacard_ops.init = javacard_init; - javacard_ops.finish = javacard_finish; - - return &javacard_drv; -} - -struct sc_card_driver *sc_get_javacard_driver(void) -{ - return sc_get_driver(); -} diff --git a/src/libopensc/cards.h b/src/libopensc/cards.h index ba2f659f..7be66671 100644 --- a/src/libopensc/cards.h +++ b/src/libopensc/cards.h @@ -231,7 +231,6 @@ extern sc_card_driver_t *sc_get_westcos_driver(void); extern sc_card_driver_t *sc_get_myeid_driver(void); extern sc_card_driver_t *sc_get_ias_driver(void); extern sc_card_driver_t *sc_get_sc_hsm_driver(void); -extern sc_card_driver_t *sc_get_javacard_driver(void); extern sc_card_driver_t *sc_get_itacns_driver(void); extern sc_card_driver_t *sc_get_authentic_driver(void); extern sc_card_driver_t *sc_get_iasecc_driver(void); diff --git a/src/libopensc/ctx.c b/src/libopensc/ctx.c index baf382b1..daade137 100644 --- a/src/libopensc/ctx.c +++ b/src/libopensc/ctx.c @@ -108,8 +108,6 @@ static const struct _sc_driver_entry internal_card_drivers[] = { { "atrust-acos",(void *(*)(void)) sc_get_atrust_acos_driver }, { "PIV-II", (void *(*)(void)) sc_get_piv_driver }, { "itacns", (void *(*)(void)) sc_get_itacns_driver }, - /* javacard without supported applet - last before default */ - { "javacard", (void *(*)(void)) sc_get_javacard_driver }, /* The default driver should be last, as it handles all the * unrecognized cards. */ { "default", (void *(*)(void)) sc_get_default_driver },