gpg: Don't check for ambiguous keys.
authorNeal H. Walfield <neal@g10code.com>
Tue, 22 Dec 2015 13:57:53 +0000 (14:57 +0100)
committerNeal H. Walfield <neal@g10code.com>
Tue, 22 Dec 2015 14:03:56 +0000 (15:03 +0100)
commit7195b94345b0bb937477dc47fc5ec27fb108a099
treea05f3847d97129fdd58eb67a3b892155158d4bd1
parentdc52995d85048ed12ae8b9f330e9ca41a4030aae
gpg: Don't check for ambiguous keys.

* g10/gpg.c (struct result): Move from here...
* g10/keydb.h (struct pubkey): ... to here.  Update users.
* g10/gpg.c (check_user_ids): Move from here...
* g10/getkey.c (get_pubkeys): ... to here.  Update users.  Use
get_pubkey_byname to look up the keys (this also prunes invalid keys).
(pubkey_free): New function.
(pubkeys_free): New function.
* g10/gpg.c (main): Don't check for ambiguous key specifications.

--
Signed-off-by: Neal H. Walfield <neal@g10code.com>
Regression-due-to: e8c53fc

This change not only moves the checks for ambiguous key specifications
from gpg.c to getkey.c, it also disables the checks.  The old code was
too divorced from the actual key lookups and, as such, it reproduced
the logic.  Unfortunately, the reproduction was a poor one: despite
fixing some inconsistencies (e.g., 10cca02), it still didn't deal with
group expansion or the auto key lookup functionality.  Given the
amount of instability introduced by this change, we (Neal & Werner)
decided it is better to defer introducing this functionality until
2.3.
NEWS
g10/getkey.c
g10/gpg.c
g10/keydb.h
g10/pkclist.c
g10/skclist.c