scd: Fix bBWI value.
authorNIIBE Yutaka <gniibe@fsij.org>
Thu, 25 Jul 2019 00:15:12 +0000 (09:15 +0900)
committerNIIBE Yutaka <gniibe@fsij.org>
Thu, 25 Jul 2019 00:15:12 +0000 (09:15 +0900)
* scd/ccid-driver.c (ccid_transceive_apdu_level): Use bBWI=0 for APDU
level transfer.
(ccid_transceive): Use bBWI=0 or the value returend by WTX for TPDU
level transfer.

GnuPG-bug-id: 4654
Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
scd/ccid-driver.c

index d762490..54f7b13 100644 (file)
@@ -2855,7 +2855,7 @@ ccid_transceive_apdu_level (ccid_driver_t handle,
   size_t apdu_part_len;
   size_t msglen;
   unsigned char seqno;
-  int bwi = 4;
+  int bwi = 0;
   unsigned char chain = 0;
 
   if (apdu_len == 0 || apdu_len > sizeof (msg) - 10)
@@ -3107,7 +3107,7 @@ ccid_transceive (ccid_driver_t handle,
           msg[0] = PC_to_RDR_XfrBlock;
           msg[5] = 0; /* slot */
           msg[6] = seqno = handle->seqno++;
-          msg[7] = (wait_more ? wait_more : 1); /* bBWI */
+          msg[7] = wait_more; /* bBWI */
           msg[8] = 0; /* RFU */
           msg[9] = 0; /* RFU */
           set_msg_len (msg, tpdulen);