From 33d276791c8169063b22fde96a1760f9f5ef1e63 Mon Sep 17 00:00:00 2001 From: NIIBE Yutaka Date: Thu, 21 Mar 2013 09:04:13 +0900 Subject: [PATCH] scd: change default value of pinpad maxlen. * scd/apdu.c (pcsc_pinpad_verify, pcsc_pinpad_modify): Default value of maxlen for pinpad input is now 15 (was: 25). * scd/ccid-driver.c (ccid_transceive_secure): Likewise. -- For newer PC/SC, it is better to use FEATURE_GET_TLV_PROPERTIES to get bMaxPINSize. --- scd/apdu.c | 4 ++-- scd/ccid-driver.c | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/scd/apdu.c b/scd/apdu.c index 196d58b2b..268c2fa3a 100644 --- a/scd/apdu.c +++ b/scd/apdu.c @@ -2086,7 +2086,7 @@ pcsc_pinpad_verify (int slot, int class, int ins, int p0, int p1, if (!pininfo->minlen) pininfo->minlen = 1; if (!pininfo->maxlen) - pininfo->maxlen = 25; + pininfo->maxlen = 15; /* Note that the 25 is the maximum value the SPR532 allows. */ if (pininfo->minlen < 1 || pininfo->minlen > 25 @@ -2167,7 +2167,7 @@ pcsc_pinpad_modify (int slot, int class, int ins, int p0, int p1, if (!pininfo->minlen) pininfo->minlen = 1; if (!pininfo->maxlen) - pininfo->maxlen = 25; + pininfo->maxlen = 15; /* Note that the 25 is the maximum value the SPR532 allows. */ if (pininfo->minlen < 1 || pininfo->minlen > 25 diff --git a/scd/ccid-driver.c b/scd/ccid-driver.c index dd9fabefb..c3a66fafe 100644 --- a/scd/ccid-driver.c +++ b/scd/ccid-driver.c @@ -3358,7 +3358,7 @@ ccid_transceive_secure (ccid_driver_t handle, if (!pininfo->minlen) pininfo->minlen = 1; if (!pininfo->maxlen) - pininfo->maxlen = 25; + pininfo->maxlen = 15; /* Note that the 25 is the maximum value the SPR532 allows. */ if (pininfo->minlen < 1 || pininfo->minlen > 25 @@ -3373,13 +3373,14 @@ ccid_transceive_secure (ccid_driver_t handle, case VENDOR_SCM: /* Tested with SPR 532. */ case VENDOR_KAAN: /* Tested with KAAN Advanced (1.02). */ case VENDOR_FSIJ: /* Tested with Gnuk (0.21). */ + pininfo->maxlen = 25; enable_varlen = 1; break; case VENDOR_VASCO: /* Tested with DIGIPASS 920 */ enable_varlen = 1; - pininfo->maxlen = 15; break; case VENDOR_CHERRY: + pininfo->maxlen = 25; enable_varlen = 1; /* The CHERRY XX44 keyboard echos an asterisk for each entered character on the keyboard channel. We use a special variant