(card_close): New. V1-3-3
authorWerner Koch <wk@gnupg.org>
Fri, 10 Oct 2003 15:45:11 +0000 (15:45 +0000)
committerWerner Koch <wk@gnupg.org>
Fri, 10 Oct 2003 15:45:11 +0000 (15:45 +0000)
(agent_scd_change_pin): Implemented.

ChangeLog
g10/ChangeLog
g10/cardglue.c

index d88dd22..f20228d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2003-10-10  Werner Koch  <wk@gnupg.org>
+
+       Release 1.3.3.
+
 2003-10-09  David Shaw  <dshaw@jabberwocky.com>
 
        * NEWS: Note multiple Comment: support and --sig-keyserver-url.
index f96e831..1659976 100644 (file)
@@ -1,6 +1,8 @@
 2003-10-10  Werner Koch  <wk@gnupg.org>
 
        * 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
index 1bd36b3..0cbb703 100644 (file)
@@ -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;
+
+  reset = (chvno >= 100);
+  chvno %= 100;
+
+  app = current_app? current_app : open_card ();
+  if (!app)
+    return gpg_error (GPG_ERR_CARD);
 
-  return gpg_error (GPG_ERR_CARD);
+  sprintf (chvnostr, "%d", chvno);
+  return app->fnc.change_pin (app, NULL, chvnostr, reset,
+                              pin_cb, NULL);
 }