diff options
author | Jani Nikula <jani@nikula.org> | 2013-02-27 09:40:38 +0200 |
---|---|---|
committer | David Bremner <bremner@debian.org> | 2013-03-02 10:41:24 -0400 |
commit | c5c5770b22dfdb930558979668756cf51a7cc482 (patch) | |
tree | 5d0f5af151f6edfb4afaec0bfea631c624090d68 /crypto.c | |
parent | 11858e2457b3a05e643d2aaca852dff0fb9b2ad8 (diff) |
cli: crypto: tell gmime to use gpg-agent
For decryption, we expect there to be a functioning gpg-agent, and we
want gpg to talk to it for any needed credentials. There's a gmime
function to declare that: g_mime_gpg_context_set_use_agent() [1], [2].
Start using it.
I had gpg-agent running, but gpg "use-agent" configuration option
disabled. This resulted in an error message from 'notmuch show':
Failed to decrypt part: Canceled.
and json had this:
"encstatus" : [ { "status" : "bad" } ]
One could argue the "use-agent" option should be enabled, but I'd like
to use the agent only as a last resort. I think that's irrelevant
though. There's a gmime function to declare what we expect, so we
should use it. Conveniently it also fixes the problem in a user
friendly way.
[1] ed985397843a9da3745a8b5de3d1d652acd24724">http://git.gnome.org/browse/gmime/commit/?id=ed985397843a9da3745a8b5de3d1d652acd24724
[2] https://bugzilla.gnome.org/show_bug.cgi?id=651826
Diffstat (limited to 'crypto.c')
-rw-r--r-- | crypto.c | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -45,6 +45,9 @@ notmuch_crypto_get_context (notmuch_crypto_t *crypto, const char *protocol) g_object_unref (session); #endif if (crypto->gpgctx) { +#ifdef GMIME_ATLEAST_26 + g_mime_gpg_context_set_use_agent ((GMimeGpgContext*) crypto->gpgctx, TRUE); +#endif g_mime_gpg_context_set_always_trust ((GMimeGpgContext*) crypto->gpgctx, FALSE); } else { fprintf (stderr, "Failed to construct gpg context.\n"); |