aboutsummaryrefslogtreecommitdiffstats
path: root/g10/mainproc.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2018-01-08 08:30:31 +0000
committerWerner Koch <[email protected]>2018-01-08 08:30:31 +0000
commit339b3301ee8410fe3bbdebb66a6e83801d79d40d (patch)
tree505ae35d7081befd57dd9e324e7f9060660ff154 /g10/mainproc.c
parentgpg: Allow "futuredefault" as alias for "future-default". (diff)
downloadgnupg-339b3301ee8410fe3bbdebb66a6e83801d79d40d.tar.gz
gnupg-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 <[email protected]>
Diffstat (limited to '')
-rw-r--r--g10/mainproc.c10
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"),