mirror of
git://git.gnupg.org/gnupg.git
synced 2025-01-30 16:17:02 +01:00
Prepare for OpenPGP cards with extended length support.
This commit is contained in:
parent
0b99639624
commit
9d6a2a60c2
@ -1,3 +1,8 @@
|
||||
2009-04-01 Werner Koch <wk@g10code.com>
|
||||
|
||||
* app-openpgp.c (do_setattr, do_writekey): Prepare for extended
|
||||
length cards.
|
||||
|
||||
2009-03-31 Werner Koch <wk@g10code.com>
|
||||
|
||||
* command.c (percent_plus_unescape): Remove.
|
||||
|
@ -1772,9 +1772,11 @@ do_setattr (app_t app, const char *name,
|
||||
will reread the data from the card and thus get synced in case of
|
||||
errors (e.g. data truncated by the card). */
|
||||
flush_cache_item (app, table[idx].tag);
|
||||
/* For command chaining we use a value of 254 for this card. */
|
||||
if (app->app_local->cardcap.cmd_chaining && valuelen > 254)
|
||||
exmode = -254;
|
||||
|
||||
if (app->app_local->cardcap.ext_lc_le && valuelen > 254)
|
||||
exmode = 1; /* Use extended length w/o a limit. */
|
||||
else if (app->app_local->cardcap.cmd_chaining && valuelen > 254)
|
||||
exmode = -254; /* Command chaining with max. 254 bytes. */
|
||||
else
|
||||
exmode = 0;
|
||||
rc = iso7816_put_data (app->slot, exmode, table[idx].tag, value, valuelen);
|
||||
@ -2432,7 +2434,9 @@ do_writekey (app_t app, ctrl_t ctrl,
|
||||
goto leave;
|
||||
|
||||
/* Store the key. */
|
||||
if (app->app_local->cardcap.cmd_chaining && template_len > 254)
|
||||
if (app->app_local->cardcap.ext_lc_le && template_len > 254)
|
||||
exmode = 1; /* Use extended length w/o a limit. */
|
||||
else if (app->app_local->cardcap.cmd_chaining && template_len > 254)
|
||||
exmode = -254;
|
||||
else
|
||||
exmode = 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user