wks: Make sure that the draft 2 request is correctly detected.
authorWerner Koch <wk@gnupg.org>
Thu, 23 Feb 2017 19:10:59 +0000 (20:10 +0100)
committerWerner Koch <wk@gnupg.org>
Thu, 23 Feb 2017 19:10:59 +0000 (20:10 +0100)
commitd30e17ac62dea8913b7f353971d546b6b1a09bd5
treedc02a3538c98f3ae5ce32f7147800d2d9a386937
parenta2090250829fe8989be2afc8cf41ba2a022072fc
wks: Make sure that the draft 2 request is correctly detected.

* tools/gpg-wks.h (WKS_DRAFT_VERSION): New.
* tools/wks-receive.c (new_part): Move test wks draft version to ...
(t2body): new callback.
(wks_receive): Register this callback.
* tools/gpg-wks-server.c (send_confirmation_request): Emit draft
version header.
(send_congratulation_message): Ditto.
* tools/gpg-wks-client.c (decrypt_stream_parm_s): New.
(decrypt_stream_status_cb): Check DECRYTPION_KEY status.
(decrypt_stream): Get infor from new callback.
(process_confirmation_request): New arg 'mainfpr'.  Check that it
matches the decryption key.
(read_confirmation_request): Check that the decryption key has been
generated by us.
(command_send): Use macro from draft version header.
(send_confirmation_response): Emit draft version header.
--

This patch also adds a check to only send a confirmation when the
decryption has been done by an ultimately trusted (self-generated)
key.

Signed-off-by: Werner Koch <wk@gnupg.org>
tools/gpg-wks-client.c
tools/gpg-wks-server.c
tools/gpg-wks.h
tools/wks-receive.c