mirror of
git://git.gnupg.org/gnupg.git
synced 2024-12-22 10:19:57 +01:00
Untested fix for TPDU level exchange of large data (command chaining)
This commit is contained in:
parent
f899b9683b
commit
2693db33d0
@ -9,6 +9,7 @@
|
||||
(send_le): Implement command chaining.
|
||||
* ccid-driver.c (ccid_transceive_apdu_level): Increase allowed
|
||||
APDU size.
|
||||
(ccid_transceive): Alow for APDUS of up to 259 bytes.
|
||||
* apdu.h: Add new SW_ codes.
|
||||
|
||||
2008-09-16 Werner Koch <wk@g10code.com>
|
||||
|
@ -1971,8 +1971,9 @@ ccid_transceive_apdu_level (ccid_driver_t handle,
|
||||
apdulen = apdu_buflen;
|
||||
assert (apdulen);
|
||||
|
||||
/* The maximum length for a short APDU T=1 block is 261, for an
|
||||
extra APDU T=1 block is 65544. */
|
||||
/* The maximum length for a short APDU T=1 block is 261. For an
|
||||
extended APDU T=1 block the maximum length 65544; however
|
||||
extended APDU exchange levele is not yet supported. */
|
||||
if (apdulen > 261)
|
||||
return CCID_DRIVER_ERR_INV_VALUE; /* Invalid length. */
|
||||
|
||||
@ -2119,8 +2120,11 @@ ccid_transceive (ccid_driver_t handle,
|
||||
assert (apdulen);
|
||||
|
||||
/* Construct an I-Block. */
|
||||
#warning fixme: APDULEN may be larger
|
||||
if (apdulen > 254)
|
||||
/* Fixme: I am not sure whether limiting the length to 259
|
||||
as per CCID spec is required. The code blow chops the
|
||||
APDU anyway into 128 byte blocks. Needs to be addressed
|
||||
when supporting extended length APDUs. */
|
||||
if (apdulen > 259)
|
||||
return CCID_DRIVER_ERR_INV_VALUE; /* Invalid length. */
|
||||
|
||||
tpdu = msg+10;
|
||||
|
Loading…
x
Reference in New Issue
Block a user