Return-Path: X-Original-To: notmuch@notmuchmail.org Delivered-To: notmuch@notmuchmail.org Received: from localhost (localhost [127.0.0.1]) by olra.theworths.org (Postfix) with ESMTP id 07EE1431FBC for ; Sat, 7 Mar 2015 09:12:50 -0800 (PST) X-Virus-Scanned: Debian amavisd-new at olra.theworths.org X-Spam-Flag: NO X-Spam-Score: 1.738 X-Spam-Level: * X-Spam-Status: No, score=1.738 tagged_above=-999 required=5 tests=[DNS_FROM_AHBL_RHSBL=2.438, RCVD_IN_DNSWL_LOW=-0.7] autolearn=disabled Received: from olra.theworths.org ([127.0.0.1]) by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7BJFOq26zaCL for ; Sat, 7 Mar 2015 09:12:46 -0800 (PST) Received: from mail-we0-f172.google.com (mail-we0-f172.google.com [74.125.82.172]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by olra.theworths.org (Postfix) with ESMTPS id 91C5B431FAE for ; Sat, 7 Mar 2015 09:12:46 -0800 (PST) Received: by wesx3 with SMTP id x3so18909626wes.4 for ; Sat, 07 Mar 2015 09:12:45 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:subject:in-reply-to:references :user-agent:date:message-id:mime-version:content-type; bh=gO5dUaFmQs1pXsQZeidoujnJ6+EhEA7uNgIkhm2hr/8=; b=iph0QuAe6Z96z6DqyehCmWEfqPdLMPwNOEAE8zANDvGCM5/d8mIyi6luTV9ltnaGgP EugnIo2Sl+uWe4Mf8bFSMKmYrq1SjkOwm4XsqRrjRYc06MH7SnqwymEYa8TjjQILw8ZC 0RsUdkRpH6CwEuUrGVGtdVwjyeEhBmlgKzgfInb3Qrza01SQRrgevpLZwtfd6CMd1QyG Xzlk7ndgP4OrV8nPSMiGvCcq/3yY0TACb+KJOBoUd7eY40pnKpkak3hMPrPtIZmQvhak VPFzxEQvKo1S1n13rzkoYtegeLZnzfr/F4KPtzlDBMS1y7c3qEWHDMPbpFJW1D72DVTc dZxg== X-Gm-Message-State: ALoCoQk1LneNBp3ek1Ec2YiI55vncAzIsJA1fmrYnUtagMlZZDd53cI5BoaUZ7LsYDOQZlVuzmUi X-Received: by 10.194.60.104 with SMTP id g8mr40443510wjr.96.1425748365704; Sat, 07 Mar 2015 09:12:45 -0800 (PST) Received: from localhost (mobile-internet-bcee3b-76.dhcp.inet.fi. [188.238.59.76]) by mx.google.com with ESMTPSA id ga8sm7414890wib.11.2015.03.07.09.12.44 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 07 Mar 2015 09:12:44 -0800 (PST) From: Jani Nikula To: David Bremner , notmuch@notmuchmail.org Subject: Re: [PATCH 1/2] CLI: set up infrastructure to make path to gpg configurable. In-Reply-To: <1418155271-23704-1-git-send-email-david@tethera.net> References: <1418155271-23704-1-git-send-email-david@tethera.net> User-Agent: Notmuch/0.19+74~g6aeef2e (http://notmuchmail.org) Emacs/24.4.1 (x86_64-pc-linux-gnu) Date: Sat, 07 Mar 2015 19:13:04 +0200 Message-ID: <87fv9givdr.fsf@nikula.org> MIME-Version: 1.0 Content-Type: text/plain X-BeenThere: notmuch@notmuchmail.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 07 Mar 2015 17:12:50 -0000 On Tue, 09 Dec 2014, David Bremner 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