g10: Change decryption key selection for public key encryption.
authorNIIBE Yutaka <gniibe@fsij.org>
Mon, 27 Aug 2018 04:12:31 +0000 (13:12 +0900)
committerNIIBE Yutaka <gniibe@fsij.org>
Mon, 27 Aug 2018 04:12:31 +0000 (13:12 +0900)
commitce2f71760155b71a71418fe145a557c99bd52290
tree9c5f3eca5989d3ce2302d4f56930b3271615f075
parent1b309d9f6199a91caa0ca0b97b92d599e00b736e
g10: Change decryption key selection for public key encryption.

* g10/mainproc.c (struct mainproc_context): It's now pubkey_enc_list.
(do_proc_packets): Remove the first arg CTRL.  Fix call of
proc_pubkey_enc.
(release_list): Handle pubkey_enc_list.
(proc_pubkey_enc): Remove the first arg CTRL.  Simply put the packet
to pubkey_enc_list.
(print_pkenc_list): Remove the last arg FAILED.
(proc_encrypted): Only call print_pkenc_list once.
Handle DEK here.
(proc_packets, proc_signature_packets, proc_signature_packets_by_fd)
(proc_encryption_packets): Fix call of do_proc_packets.
* g10/packet.h (struct pubkey_enc_list): Define.
* g10/pubkey-enc.c (get_it): Change the second argument K.
(get_session_key): Select session key by LIST, using enum_secret_keys.
* g10/gpgv.c (get_session_key): Change the second argument K.
* g10/test-stubs.c (get_session_key): Likewise.

--

Collect all PKT_PUBKEY_ENC packets, and then, process the
PKT_ENCRYPTED* packet.

Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
g10/gpgv.c
g10/mainproc.c
g10/packet.h
g10/pubkey-enc.c
g10/test-stubs.c