aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNIIBE Yutaka <[email protected]>2012-01-05 02:40:58 +0000
committerNIIBE Yutaka <[email protected]>2012-01-05 02:40:58 +0000
commitce4bdfd46b9942116d0d1a1247dd4b020e2737a8 (patch)
treef2d0b39f9b300fa00ef067c98410735e5476bb42
parentSupport keypad_modify method by ccid-driver. (diff)
downloadgnupg-ce4bdfd46b9942116d0d1a1247dd4b020e2737a8.tar.gz
gnupg-ce4bdfd46b9942116d0d1a1247dd4b020e2737a8.zip
Fix pinpad entry in ccid-driver.
* scd/ccid-driver.c (ccid_transceive_secure): Let it have three messages, always. Fixe bMsgIndex1-3.
-rw-r--r--scd/ccid-driver.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/scd/ccid-driver.c b/scd/ccid-driver.c
index 2f8be56fd..2885487e1 100644
--- a/scd/ccid-driver.c
+++ b/scd/ccid-driver.c
@@ -3214,7 +3214,7 @@ ccid_transceive_secure (ccid_driver_t handle,
if (apdu_buf[1] == 0x20)
msg[msglen++] = 0xff; /* bNumberMessage: Default. */
else
- msg[msglen++] = apdu_buf[2] == 0 ? 0x03 : 0x01; /* bNumberMessage. */
+ msg[msglen++] = 0x03; /* bNumberMessage. */
msg[msglen++] = 0x09; /* wLangId-Low: English FIXME: use the first entry. */
msg[msglen++] = 0x04; /* wLangId-High. */
@@ -3223,12 +3223,9 @@ ccid_transceive_secure (ccid_driver_t handle,
msg[msglen++] = 0; /* bMsgIndex. */
else
{
- msg[msglen++] = 1; /* bMsgIndex1. */
- if (apdu_buf[2] == 0)
- {
- msg[msglen++] = 2; /* bMsgIndex2. */
- msg[msglen++] = 3; /* bMsgIndex3. */
- }
+ msg[msglen++] = 0; /* bMsgIndex1. */
+ msg[msglen++] = 1; /* bMsgIndex2. */
+ msg[msglen++] = 2; /* bMsgIndex3. */
}
/* bTeoProlog follows: */