diff --git a/ChangeLog b/ChangeLog index d88dd22b4..f20228d90 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2003-10-10 Werner Koch + + Release 1.3.3. + 2003-10-09 David Shaw * NEWS: Note multiple Comment: support and --sig-keyserver-url. diff --git a/g10/ChangeLog b/g10/ChangeLog index f96e83190..165997611 100644 --- a/g10/ChangeLog +++ b/g10/ChangeLog @@ -1,6 +1,8 @@ 2003-10-10 Werner Koch * cardglue.c (card_close): New. + (agent_scd_change_pin): Implemented. + * ccid-driver.c (ccid_close_reader): New. * apdu.c (close_ccid_reader, close_ct_reader, close_csc_reader) (close_osc_reader, apdu_close_reader): New. Not all are properly diff --git a/g10/cardglue.c b/g10/cardglue.c index 1bd36b342..0cbb70336 100644 --- a/g10/cardglue.c +++ b/g10/cardglue.c @@ -664,7 +664,19 @@ agent_scd_pkdecrypt (const char *serialno, int agent_scd_change_pin (int chvno) { + APP app; + char chvnostr[20]; + int reset = 0; - return gpg_error (GPG_ERR_CARD); + reset = (chvno >= 100); + chvno %= 100; + + app = current_app? current_app : open_card (); + if (!app) + return gpg_error (GPG_ERR_CARD); + + sprintf (chvnostr, "%d", chvno); + return app->fnc.change_pin (app, NULL, chvnostr, reset, + pin_cb, NULL); }