From 47f61df0704485b8165c9cf2a27ad57bcd864239 Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Thu, 24 Aug 2017 17:17:11 +0200 Subject: core: New context flag "auto-key-retrieve" * src/gpgme.c (gpgme_set_ctx_flag, gpgme_get_ctx_flag): New flag "auto-key-retrieve". * src/context.h (gpgme_context): New field auto_key_retrieve. * src/engine-backend.h (struct engine_ops): Add arg auto_key_retrieve to field 'decrypt'. * src/engine-gpg.c (gpg_decrypt): Add arg auto_key_retrieve and pass option --auto-key-retrieve to gpg. Adjust all callers. (gpg_verify): Ditto. * src/engine-gpgsm.c (gpgsm_decrypt): Add dummy arg auto_key_retrieve. * src/engine-uiserver.c (uiserver_decrypt): Ditto. * tests/run-verify.c (main): Add option --auto-key-retrieve. -- This makes the --auto-key-retrieve option available in the GPGME API. Test plan: Run GPGME_DEBUG=9:out tests/run-verify SIGNEDFILE with and without its new option --auto-key-retrieve and check in the trace stored in "out" whether --auto-key-retrieve was passed to gpg. Signed-off-by: Werner Koch --- doc/gpgme.texi | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'doc/gpgme.texi') diff --git a/doc/gpgme.texi b/doc/gpgme.texi index 5df54f58..8dcc86e6 100644 --- a/doc/gpgme.texi +++ b/doc/gpgme.texi @@ -3055,6 +3055,16 @@ the context flag "export-session-key" is enabled. Please be aware that using this feature with GnuPG < 2.1.16 will leak the session key on many platforms via ps(1). +@item "auto-key-retrieve" +Setting the @var{value} to "1" asks the backend to automatically +retrieve a key for signature verification if possible. Note that this +option makes a "web bug" like behavior possible. Keyserver or Web Key +Directory operators can see which keys you request, so by sending you +a message signed by a brand new key (which you naturally will not have +on your local keyring), the operator can tell both your IP address and +the time when you verified the signature. + + @end table This function returns @code{0} on success. -- cgit v1.2.3