mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-03 22:56:33 +02:00
* 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.
This commit is contained in:
parent
5e6d360596
commit
6639bbf699
8 changed files with 174 additions and 34 deletions
|
@ -203,7 +203,7 @@ do_check( PKT_secret_key *sk, const char *tryagain_text, int mode,
|
|||
/* now let's see whether we have used the right passphrase */
|
||||
if( csum != sk->csum ) {
|
||||
copy_secret_key( sk, save_sk );
|
||||
passphrase_clear_cache ( keyid, sk->pubkey_algo );
|
||||
passphrase_clear_cache ( keyid, NULL, sk->pubkey_algo );
|
||||
free_secret_key( save_sk );
|
||||
return G10ERR_BAD_PASS;
|
||||
}
|
||||
|
@ -211,7 +211,7 @@ do_check( PKT_secret_key *sk, const char *tryagain_text, int mode,
|
|||
res = pubkey_check_secret_key( sk->pubkey_algo, sk->skey );
|
||||
if( res ) {
|
||||
copy_secret_key( sk, save_sk );
|
||||
passphrase_clear_cache ( keyid, sk->pubkey_algo );
|
||||
passphrase_clear_cache ( keyid, NULL, sk->pubkey_algo );
|
||||
free_secret_key( save_sk );
|
||||
return G10ERR_BAD_PASS;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue