From: Jani Nikula <jani@nikula.org>
To: David Bremner <david@tethera.net>, notmuch@notmuchmail.org
Subject: Re: [PATCH 1/2] CLI: set up infrastructure to make path to gpg configurable.
Date: Sat, 07 Mar 2015 19:13:04 +0200 [thread overview]
Message-ID: <87fv9givdr.fsf@nikula.org> (raw)
In-Reply-To: <1418155271-23704-1-git-send-email-david@tethera.net>
On Tue, 09 Dec 2014, David Bremner <david@tethera.net> wrote:
> GMIME takes a path to gpg, but we hardcode that path. In this commit
> we push hardcoding all the way up to the top level of a notmuch
> command, where we can later make it configurable.
Mmmh, to be pedantic, this does not push the hardcoding to the top
level, since "gpg" still remains at the lowest level. But it allows
specifying the path at the top level. Which I think is fine.
LGTM.
> ---
> crypto.c | 10 +++++-----
> notmuch-client.h | 1 +
> notmuch-reply.c | 3 ++-
> notmuch-show.c | 3 ++-
> 4 files changed, 10 insertions(+), 7 deletions(-)
>
> diff --git a/crypto.c b/crypto.c
> index 6f4a6db..026640f 100644
> --- a/crypto.c
> +++ b/crypto.c
> @@ -24,12 +24,12 @@
>
> /* Create a GPG context (GMime 2.6) */
> static notmuch_crypto_context_t *
> -create_gpg_context (void)
> +create_gpg_context (const char *gpgpath)
> {
> notmuch_crypto_context_t *gpgctx;
>
> /* TODO: GMimePasswordRequestFunc */
> - gpgctx = g_mime_gpg_context_new (NULL, "gpg");
> + gpgctx = g_mime_gpg_context_new (NULL, gpgpath ? gpgpath : "gpg");
> if (! gpgctx)
> return NULL;
>
> @@ -43,13 +43,13 @@ create_gpg_context (void)
>
> /* Create a GPG context (GMime 2.4) */
> static notmuch_crypto_context_t *
> -create_gpg_context (void)
> +create_gpg_context (const char* gpgpath)
> {
> GMimeSession *session;
> notmuch_crypto_context_t *gpgctx;
>
> session = g_object_new (g_mime_session_get_type (), NULL);
> - gpgctx = g_mime_gpg_context_new (session, "gpg");
> + gpgctx = g_mime_gpg_context_new (session, gpgpath ? gpgpath : "gpg");
> g_object_unref (session);
>
> if (! gpgctx)
> @@ -83,7 +83,7 @@ notmuch_crypto_get_context (notmuch_crypto_t *crypto, const char *protocol)
> if (strcasecmp (protocol, "application/pgp-signature") == 0 ||
> strcasecmp (protocol, "application/pgp-encrypted") == 0) {
> if (! crypto->gpgctx) {
> - crypto->gpgctx = create_gpg_context ();
> + crypto->gpgctx = create_gpg_context (crypto->gpgpath);
> if (! crypto->gpgctx)
> fprintf (stderr, "Failed to construct gpg context.\n");
> }
> diff --git a/notmuch-client.h b/notmuch-client.h
> index 5e0d475..c25c4ea 100644
> --- a/notmuch-client.h
> +++ b/notmuch-client.h
> @@ -80,6 +80,7 @@ typedef struct notmuch_crypto {
> notmuch_crypto_context_t* gpgctx;
> notmuch_bool_t verify;
> notmuch_bool_t decrypt;
> + const char *gpgpath;
> } notmuch_crypto_t;
>
> typedef struct notmuch_show_params {
> diff --git a/notmuch-reply.c b/notmuch-reply.c
> index 7c1c809..e18370f 100644
> --- a/notmuch-reply.c
> +++ b/notmuch-reply.c
> @@ -769,7 +769,8 @@ notmuch_reply_command (notmuch_config_t *config, int argc, char *argv[])
> .part = -1,
> .crypto = {
> .verify = FALSE,
> - .decrypt = FALSE
> + .decrypt = FALSE,
> + .gpgpath = NULL
> }
> };
> int format = FORMAT_DEFAULT;
> diff --git a/notmuch-show.c b/notmuch-show.c
> index d416fbd..d292f29 100644
> --- a/notmuch-show.c
> +++ b/notmuch-show.c
> @@ -1082,7 +1082,8 @@ notmuch_show_command (notmuch_config_t *config, int argc, char *argv[])
> .output_body = TRUE,
> .crypto = {
> .verify = FALSE,
> - .decrypt = FALSE
> + .decrypt = FALSE,
> + .gpgpath = NULL
> },
> .include_html = FALSE
> };
> --
> 2.1.3
>
> _______________________________________________
> notmuch mailing list
> notmuch@notmuchmail.org
> http://notmuchmail.org/mailman/listinfo/notmuch
next prev parent reply other threads:[~2015-03-07 17:12 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-09 20:01 [PATCH 1/2] CLI: set up infrastructure to make path to gpg configurable David Bremner
2014-12-09 20:01 ` [PATCH 2/2] CLI: make gpg binary used by libgmime configurable David Bremner
2015-03-07 17:20 ` Jani Nikula
2015-03-07 17:13 ` Jani Nikula [this message]
2015-03-09 20:51 ` [Patch v2 1/2] CLI: set up infrastructure to make path to gpg configurable David Bremner
2015-03-09 20:51 ` [Patch v2 2/2] CLI: make gpg binary used by libgmime configurable David Bremner
2015-03-11 7:15 ` [Patch v2 1/2] CLI: set up infrastructure to make path to gpg configurable David Bremner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://notmuchmail.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87fv9givdr.fsf@nikula.org \
--to=jani@nikula.org \
--cc=david@tethera.net \
--cc=notmuch@notmuchmail.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://yhetil.org/notmuch.git/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).