diff options
author | Werner Koch <wk@gnupg.org> | 2018-01-08 09:30:31 +0100 |
---|---|---|
committer | Werner Koch <wk@gnupg.org> | 2018-01-08 09:30:31 +0100 |
commit | 339b3301ee8410fe3bbdebb66a6e83801d79d40d (patch) | |
tree | 505ae35d7081befd57dd9e324e7f9060660ff154 /g10/mainproc.c | |
parent | gpg: Allow "futuredefault" as alias for "future-default". (diff) | |
download | gnupg2-339b3301ee8410fe3bbdebb66a6e83801d79d40d.tar.xz gnupg2-339b3301ee8410fe3bbdebb66a6e83801d79d40d.zip |
gpg: Print all keys with --decrypt --list-only.
* g10/mainproc.c (proc_pubkey_enc): Use dedicated error code for
list-only and put the key into PKENC_LIST.
(print_pkenc_list): Take care of the new error code.
--
If the secret keys exist in --list-only mode it was not printed in
--list-only mode.
GnuPG-bug-id: 3718
Signed-off-by: Werner Koch <wk@gnupg.org>
Diffstat (limited to 'g10/mainproc.c')
-rw-r--r-- | g10/mainproc.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/g10/mainproc.c b/g10/mainproc.c index b712e6048..512d33c59 100644 --- a/g10/mainproc.c +++ b/g10/mainproc.c @@ -422,7 +422,7 @@ proc_pubkey_enc (ctrl_t ctrl, CTX c, PACKET *pkt) || have_secret_key_with_kid (enc->keyid))) { if(opt.list_only) - result = -1; + result = GPG_ERR_MISSING_ACTION; /* fixme: Use better error code. */ else { c->dek = xmalloc_secure_clear (sizeof *c->dek); @@ -440,9 +440,7 @@ proc_pubkey_enc (ctrl_t ctrl, CTX c, PACKET *pkt) else result = GPG_ERR_PUBKEY_ALGO; - if (result == -1) - ; - else + if (1) { /* Store it for later display. */ struct kidlist_item *x = xmalloc (sizeof *x); @@ -510,6 +508,10 @@ print_pkenc_list (ctrl_t ctrl, struct kidlist_item *list, int failed) write_status_text (STATUS_NO_SECKEY, buf); } } + else if (gpg_err_code (list->reason) == GPG_ERR_MISSING_ACTION) + { + /* Not tested for secret key due to --list-only mode. */ + } else if (list->reason) { log_info (_("public key decryption failed: %s\n"), |