diff options
Diffstat (limited to 'scd/apdu.c')
-rw-r--r-- | scd/apdu.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/scd/apdu.c b/scd/apdu.c index 133058d59..ca45fc18c 100644 --- a/scd/apdu.c +++ b/scd/apdu.c @@ -2002,7 +2002,13 @@ check_pcsc_pinpad (int slot, int command, pininfo_t *pininfo) pcsc_dword_t len = 256; int sw; - (void)pininfo; /* XXX: Identify reader and set pininfo->fixedlen. */ + /* Hack to identify the SCM SPR532 and SPR332 readers which support + variable length PIN input. + FIXME: Figure out whether there is a feature attribute for this. + Alternatively use the USB ids to detect known readers. */ + if (reader_table[slot].rdrname + && strstr (reader_table[slot].rdrname, "SPRx32")) + pininfo->fixedlen = 0; check_again: if (command == ISO7816_VERIFY) |