From 9b41f58c8a549055fa6bf7e21e2931b86f4da776 Mon Sep 17 00:00:00 2001 From: NIIBE Yutaka Date: Fri, 15 Nov 2019 15:49:46 +0900 Subject: [PATCH] scd,ccid: Add support of GEMPC_EZIO. * scd/ccid-driver.h (GEMPC_EZIO): New. * scd/ccid-driver.c (ccid_transceive_secure): Support GEMPC_EZIO. -- This is backport from master. Signed-off-by: NIIBE Yutaka --- scd/ccid-driver.c | 24 +++++++++++++++++++----- scd/ccid-driver.h | 1 + 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/scd/ccid-driver.c b/scd/ccid-driver.c index c152e9c90..466efaaba 100644 --- a/scd/ccid-driver.c +++ b/scd/ccid-driver.c @@ -3423,13 +3423,27 @@ ccid_transceive_secure (ccid_driver_t handle, if (handle->id_product == CRYPTOUCAN){ pininfo->maxlen = 25; enable_varlen = 1; + break; } - break; + return CCID_DRIVER_ERR_NOT_SUPPORTED; + case VENDOR_GEMPC: + if (handle->id_product == GEMPC_PINPAD) + { + enable_varlen = 0; + pininfo->minlen = 4; + pininfo->maxlen = 8; + break; + } + else if (handle->id_product == GEMPC_EZIO) + { + pininfo->maxlen = 25; + enable_varlen = 1; + break; + } + return CCID_DRIVER_ERR_NOT_SUPPORTED; default: - if ((handle->id_vendor == VENDOR_GEMPC && - handle->id_product == GEMPC_PINPAD) - || (handle->id_vendor == VENDOR_VEGA && - handle->id_product == VEGA_ALPHA)) + if ((handle->id_vendor == VENDOR_VEGA && + handle->id_product == VEGA_ALPHA)) { enable_varlen = 0; pininfo->minlen = 4; diff --git a/scd/ccid-driver.h b/scd/ccid-driver.h index 1550b3eba..32b947566 100644 --- a/scd/ccid-driver.h +++ b/scd/ccid-driver.h @@ -83,6 +83,7 @@ enum { #define VASCO_920 0x0920 #define GEMPC_PINPAD 0x3478 #define GEMPC_CT30 0x3437 +#define GEMPC_EZIO 0x34c2 /* (!=34c0) Also known as IDBridge CT710 */ #define VEGA_ALPHA 0x0008 #define CYBERJACK_GO 0x0504 #define CRYPTOUCAN 0x81e6