--skip-hidden-recipients broken
Closed, ResolvedPublic

Description

Since commit
ce2f71760155b71a71418fe145a557c99bd52290 of master
the --skip-hidden-recipietnts option is broken. It is actually not anymore used in the code. Worse: Depending on the order of the encryption keys I have to cancel through all my smartcards. That is pretty inconvenient.

werner created this task.Oct 8 2018, 3:33 PM

I guess we can close that, right?

gniibe added a comment.EditedNov 7 2018, 9:06 AM

The bug is gone by rG79f165d7a8bc: gpg: Make --skip-hidden-recipients work again..

But the expected change described by the FIXME in the comment is not yet achieved.

It is enum_secret_keys which defines the order.
Implemented correctly (as FIXME), it should contact gpg-agent about keys w/o protection, cached keys, etc.

gniibe added a comment.Nov 7 2018, 9:19 AM

I think that it's good to rewrite enum_secret_keys in g10/skclist.c.

Currently, it's based on getkey_bynames, and extended to get active card keys by agent_scd_cardlist.

I think that it's good to do:

(1) ask gpg-agent by KEYINFO --list, and get list of secret keys (in the order described by FIXME)
(2)  filter secret keys by checking corresponding OpenPGP key

I am going to close this ticket, creating another for above.