summaryrefslogtreecommitdiffstats
path: root/scd
diff options
context:
space:
mode:
Diffstat (limited to 'scd')
-rw-r--r--scd/ccid-driver.c28
-rw-r--r--scd/ccid-driver.h1
2 files changed, 22 insertions, 7 deletions
diff --git a/scd/ccid-driver.c b/scd/ccid-driver.c
index d3e9ef024..fe7937d62 100644
--- a/scd/ccid-driver.c
+++ b/scd/ccid-driver.c
@@ -3435,15 +3435,29 @@ ccid_transceive_secure (ccid_driver_t handle,
cherry_mode = 1;
break;
case VENDOR_NXP:
- if (handle->id_product == CRYPTOUCAN){
- pininfo->maxlen = 25;
- enable_varlen = 1;
- }
+ if (handle->id_product == CRYPTOUCAN)
+ {
+ pininfo->maxlen = 25;
+ enable_varlen = 1;
+ }
+ break;
+ case VENDOR_GEMPC:
+ if (handle->id_product == GEMPC_PINPAD)
+ {
+ pininfo->maxlen = 25;
+ enable_varlen = 1;
+ break;
+ }
+ else if (handle->id_product == GEMPC_EZIO)
+ {
+ enable_varlen = 0;
+ pininfo->minlen = 4;
+ pininfo->maxlen = 8;
+ break;
+ }
break;
default:
- if ((handle->id_vendor == VENDOR_GEMPC &&
- handle->id_product == GEMPC_PINPAD)
- || (handle->id_vendor == VENDOR_VEGA &&
+ if ((handle->id_vendor == VENDOR_VEGA &&
handle->id_product == VEGA_ALPHA))
{
enable_varlen = 0;
diff --git a/scd/ccid-driver.h b/scd/ccid-driver.h
index 8e7ff4482..e1ef98202 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