aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNIIBE Yutaka <[email protected]>2013-01-11 04:19:17 +0000
committerNIIBE Yutaka <[email protected]>2013-02-05 04:37:07 +0000
commitbd5eded73a1268afdf81482f8408e5f640abf9c4 (patch)
treecbb3c802a5984f2721c4b7da98259a34a62810b3
parentSCD: Defaults to use pinpad if the reader has the capability. (diff)
downloadgnupg-bd5eded73a1268afdf81482f8408e5f640abf9c4.tar.gz
gnupg-bd5eded73a1268afdf81482f8408e5f640abf9c4.zip
SCD: Better interoperability.
* scd/apdu.c: Fill bTeoPrologue[2] field. -- ccid-1.4.5 or older requires this field is filled by application.
-rw-r--r--scd/apdu.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/scd/apdu.c b/scd/apdu.c
index f1f2d0131..ef7c54fca 100644
--- a/scd/apdu.c
+++ b/scd/apdu.c
@@ -2084,7 +2084,7 @@ pcsc_keypad_verify (int slot, int class, int ins, int p0, int p1,
pin_verify[11] = 0x00; /* bMsgIndex */
pin_verify[12] = 0x00; /* bTeoPrologue[0] */
pin_verify[13] = 0x00; /* bTeoPrologue[1] */
- pin_verify[14] = 0x00; /* bTeoPrologue[2] */
+ pin_verify[14] = pininfo->fixedlen + 0x05; /* bTeoPrologue[2] */
pin_verify[15] = pininfo->fixedlen + 0x05; /* ulDataLength */
pin_verify[16] = 0x00; /* ulDataLength */
pin_verify[17] = 0x00; /* ulDataLength */
@@ -2178,7 +2178,7 @@ pcsc_keypad_modify (int slot, int class, int ins, int p0, int p1,
pin_modify[16] = 0x00; /* bMsgIndex3 */
pin_modify[17] = 0x00; /* bTeoPrologue[0] */
pin_modify[18] = 0x00; /* bTeoPrologue[1] */
- pin_modify[19] = 0x00; /* bTeoPrologue[2] */
+ pin_modify[19] = 2 * pininfo->fixedlen + 0x05; /* bTeoPrologue[2] */
pin_modify[20] = 2 * pininfo->fixedlen + 0x05; /* ulDataLength */
pin_modify[21] = 0x00; /* ulDataLength */
pin_modify[22] = 0x00; /* ulDataLength */