aboutsummaryrefslogtreecommitdiffstats
path: root/g10/card-util.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2005-05-03 22:27:07 +0000
committerWerner Koch <[email protected]>2005-05-03 22:27:07 +0000
commit6639bbf699b7625c3b674f39b30138ef835f00ee (patch)
tree361b9c9dab56e9e34628f8afc8989cee64c534d6 /g10/card-util.c
parent* gpgkeys_hkp.c, gpgkeys_oldhkp.c, ksutil.h: Some minor cleanup and (diff)
downloadgnupg-6639bbf699b7625c3b674f39b30138ef835f00ee.tar.gz
gnupg-6639bbf699b7625c3b674f39b30138ef835f00ee.zip
* passphrase.c (agent_get_passphrase): Add new arg CACHEID.
Changed all callers. (ask_passphrase): Add new arg CACHEID and use it in agent mode. Changed all callers. (passphrase_clear_cache): New arg CACHEID. Changed all callers. * cardglue.c (format_cacheid): New. (pin_cb): Compute a cache ID. (agent_scd_pksign, agent_scd_pkdecrypt): Use it. (agent_clear_pin_cache): New. * card-util.c (change_pin): Clear the PIN cache. (check_pin_for_key_operation): Ditto.
Diffstat (limited to '')
-rw-r--r--g10/card-util.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/g10/card-util.c b/g10/card-util.c
index ecb80f08a..8874935e3 100644
--- a/g10/card-util.c
+++ b/g10/card-util.c
@@ -67,6 +67,8 @@ change_pin (int chvno, int allow_admin)
log_info (_("OpenPGP card no. %s detected\n"),
info.serialno? info.serialno : "[none]");
+ agent_clear_pin_cache (info.serialno);
+
agent_release_card_info (&info);
if (opt.batch)
@@ -950,6 +952,8 @@ check_pin_for_key_operation (struct agent_card_info_s *info, int *forced_chv1)
{
int rc = 0;
+ agent_clear_pin_cache (info->serialno);
+
*forced_chv1 = !info->chv1_cached;
if (*forced_chv1)
{ /* Switch of the forced mode so that during key generation we