diff options
author | Werner Koch <[email protected]> | 2018-10-08 13:38:37 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2018-10-08 13:38:37 +0000 |
commit | 79f165d7a8bcc26972712bb0f0cc554d5c3d4e42 (patch) | |
tree | f0180ed744fff4d3cf216d8e8b7a93996229ec7b /g10/pubkey-enc.c | |
parent | gpg: Add new card vendor (diff) | |
download | gnupg-79f165d7a8bcc26972712bb0f0cc554d5c3d4e42.tar.gz gnupg-79f165d7a8bcc26972712bb0f0cc554d5c3d4e42.zip |
gpg: Make --skip-hidden-recipients work again.
* g10/pubkey-enc.c (get_session_key): Take care of
opt.skip_hidden_recipients.
--
This was lost due to
Fixes-commit: ce2f71760155b71a71418fe145a557c99bd52290
GnuPG-bug-id: 4169
Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'g10/pubkey-enc.c')
-rw-r--r-- | g10/pubkey-enc.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/g10/pubkey-enc.c b/g10/pubkey-enc.c index 32b1ed08b..ad0a77e59 100644 --- a/g10/pubkey-enc.c +++ b/g10/pubkey-enc.c @@ -110,6 +110,16 @@ get_session_key (ctrl_t ctrl, struct pubkey_enc_list *list, DEK *dek) continue; } + /* FIXME: The list needs to be sorted so that we try the keys in + * an appropriate order. For example: + * - On-disk keys w/o protection + * - On-disk keys with a cached passphrase + * - On-card keys of an active card + * - On-disk keys with protection + * - On-card keys from cards which are not plugged it. Here a + * cancel-all button should stop aksing for other cards. + * Without any anonymous keys the sorting can be skipped. + */ for (k = list; k; k = k->next) { if (!(k->pubkey_algo == PUBKEY_ALGO_ELGAMAL_E @@ -129,6 +139,9 @@ get_session_key (ctrl_t ctrl, struct pubkey_enc_list *list, DEK *dek) if (!k->keyid[0] && !k->keyid[1]) { + if (opt.skip_hidden_recipients) + continue; + if (!opt.quiet) log_info (_("anonymous recipient; trying secret key %s ...\n"), keystr (keyid)); |