aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--scd/ccid-driver.c24
-rw-r--r--scd/ccid-driver.h1
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