diff options
Diffstat (limited to 'g10')
-rw-r--r-- | g10/ChangeLog | 7 | ||||
-rw-r--r-- | g10/gpg.h | 1 | ||||
-rw-r--r-- | g10/keyedit.c | 15 | ||||
-rw-r--r-- | g10/seckey-cert.c | 2 |
4 files changed, 16 insertions, 9 deletions
diff --git a/g10/ChangeLog b/g10/ChangeLog index 5f3b0aade..a6a2f6d43 100644 --- a/g10/ChangeLog +++ b/g10/ChangeLog @@ -1,3 +1,10 @@ +2010-03-12 Werner Koch <[email protected]> + + * seckey-cert.c (do_check): Return GPG_ERR_CANCELED. + * keyedit.c (change_passphrase): Add arg R_ERR. + (keyedit_passwd): Return the correct error or emit a success + status message. + 2010-02-25 Werner Koch <[email protected]> * sign.c (hash_for): Force SHA1 only for v1 OpenPGP cards. Fixes @@ -119,5 +119,4 @@ struct server_control_s #define G10ERR_UNU_SECKEY GPG_ERR_UNUSABLE_SECKEY #define G10ERR_WRONG_SECKEY GPG_ERR_WRONG_SECKEY - #endif /*GNUPG_G10_GPG_H*/ diff --git a/g10/keyedit.c b/g10/keyedit.c index 14596a817..2aa7c28e2 100644 --- a/g10/keyedit.c +++ b/g10/keyedit.c @@ -1098,7 +1098,7 @@ sign_uids( KBNODE keyblock, strlist_t locusr, int *ret_modified, * We use only one passphrase for all keys. */ static int -change_passphrase( KBNODE keyblock ) +change_passphrase (KBNODE keyblock, int *r_err) { int rc = 0; int changed=0; @@ -1262,6 +1262,8 @@ change_passphrase( KBNODE keyblock ) leave: xfree( passphrase ); set_next_passphrase( NULL ); + if (r_err) + *r_err = rc; return changed && !rc; } @@ -2121,7 +2123,7 @@ keyedit_menu( const char *username, strlist_t locusr, break; case cmdPASSWD: - if( change_passphrase( sec_keyblock ) ) + if (change_passphrase (sec_keyblock, NULL)) sec_modified = 1; break; @@ -2341,11 +2343,8 @@ keyedit_passwd (const char *username) if (err) goto leave; - if (!change_passphrase (keyblock)) - { - err = gpg_error (GPG_ERR_GENERAL); - goto leave; - } + if (!change_passphrase (keyblock, &err)) + goto leave; err = keydb_update_keyblock (kdh, keyblock); if (err) @@ -2362,6 +2361,8 @@ keyedit_passwd (const char *username) username, gpg_strerror (err)); write_status_error ("keyedit.passwd", gpg_err_code (err)); } + else + write_status_text (STATUS_SUCCESS, "keyedit.passwd"); } diff --git a/g10/seckey-cert.c b/g10/seckey-cert.c index 1398b181b..9995aa416 100644 --- a/g10/seckey-cert.c +++ b/g10/seckey-cert.c @@ -83,7 +83,7 @@ do_check( PKT_secret_key *sk, const char *tryagain_text, int mode, &sk->protect.s2k, mode, tryagain_text, canceled ); if (!dek && canceled && *canceled) - return G10ERR_GENERAL; + return GPG_ERR_CANCELED; err = openpgp_cipher_open (&cipher_hd, sk->protect.algo, |