unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
To: Notmuch Mail <notmuch@notmuchmail.org>
Subject: [PATCH v3 02/15] crypto: drop pretense of notmuch_crypto_context_t
Date: Tue, 10 Oct 2017 01:49:03 -0400	[thread overview]
Message-ID: <20171010054916.23925-3-dkg@fifthhorseman.net> (raw)
In-Reply-To: <20171010054916.23925-1-dkg@fifthhorseman.net>

notmuch_crypto_context_t was introduced (i think) as some sort of
abstraction layer to make notmuch somewhat independent of GMime.  But
it isn't even useful for GMime 3.0 or later -- we can drop the
pretense that it's some sort of abstraction in this case, and just
call it what it is, GMimeCryptoContext, which is useful for building
against older versions of GMime.

This also renames _notmuch_crypto_get_context() to
_notmuch_crypto_get_gmime_context().
---
 crypto.c         | 16 ++++++++--------
 mime-node.c      |  8 ++++----
 notmuch-client.h |  9 ++++-----
 3 files changed, 16 insertions(+), 17 deletions(-)

diff --git a/crypto.c b/crypto.c
index 9ae303d4..fc7c5d1d 100644
--- a/crypto.c
+++ b/crypto.c
@@ -21,10 +21,10 @@
 #include "notmuch-client.h"
 #if (GMIME_MAJOR_VERSION < 3)
 /* Create a GPG context (GMime 2.6) */
-static notmuch_crypto_context_t *
+static GMimeCryptoContext *
 create_gpg_context (_notmuch_crypto_t *crypto)
 {
-    notmuch_crypto_context_t *gpgctx;
+    GMimeCryptoContext *gpgctx;
 
     if (crypto->gpgctx)
 	return crypto->gpgctx;
@@ -44,10 +44,10 @@ create_gpg_context (_notmuch_crypto_t *crypto)
 }
 
 /* Create a PKCS7 context (GMime 2.6) */
-static notmuch_crypto_context_t *
+static GMimeCryptoContext *
 create_pkcs7_context (_notmuch_crypto_t *crypto)
 {
-    notmuch_crypto_context_t *pkcs7ctx;
+    GMimeCryptoContext *pkcs7ctx;
 
     if (crypto->pkcs7ctx)
 	return crypto->pkcs7ctx;
@@ -67,7 +67,7 @@ create_pkcs7_context (_notmuch_crypto_t *crypto)
 }
 static const struct {
     const char *protocol;
-    notmuch_crypto_context_t *(*get_context) (_notmuch_crypto_t *crypto);
+    GMimeCryptoContext *(*get_context) (_notmuch_crypto_t *crypto);
 } protocols[] = {
     {
 	.protocol = "application/pgp-signature",
@@ -89,10 +89,10 @@ static const struct {
 
 /* for the specified protocol return the context pointer (initializing
  * if needed) */
-notmuch_crypto_context_t *
-_notmuch_crypto_get_context (_notmuch_crypto_t *crypto, const char *protocol)
+GMimeCryptoContext *
+_notmuch_crypto_get_gmime_context (_notmuch_crypto_t *crypto, const char *protocol)
 {
-    notmuch_crypto_context_t *cryptoctx = NULL;
+    GMimeCryptoContext *cryptoctx = NULL;
     size_t i;
 
     if (! protocol) {
diff --git a/mime-node.c b/mime-node.c
index 56187746..02e3df48 100644
--- a/mime-node.c
+++ b/mime-node.c
@@ -171,7 +171,7 @@ set_signature_list_destructor (mime_node_t *node)
 /* Verify a signed mime node (GMime 2.6) */
 static void
 node_verify (mime_node_t *node, GMimeObject *part,
-	     g_mime_3_unused(notmuch_crypto_context_t *cryptoctx))
+	     g_mime_3_unused(GMimeCryptoContext *cryptoctx))
 {
     GError *err = NULL;
 
@@ -192,7 +192,7 @@ node_verify (mime_node_t *node, GMimeObject *part,
 /* Decrypt and optionally verify an encrypted mime node (GMime 2.6) */
 static void
 node_decrypt_and_verify (mime_node_t *node, GMimeObject *part,
-			 g_mime_3_unused(notmuch_crypto_context_t *cryptoctx))
+			 g_mime_3_unused(GMimeCryptoContext *cryptoctx))
 {
     GError *err = NULL;
     GMimeDecryptResult *decrypt_result = NULL;
@@ -227,7 +227,7 @@ static mime_node_t *
 _mime_node_create (mime_node_t *parent, GMimeObject *part)
 {
     mime_node_t *node = talloc_zero (parent, mime_node_t);
-    notmuch_crypto_context_t *cryptoctx = NULL;
+    GMimeCryptoContext *cryptoctx = NULL;
 
     /* Set basic node properties */
     node->part = part;
@@ -265,7 +265,7 @@ _mime_node_create (mime_node_t *parent, GMimeObject *part)
 	|| (GMIME_IS_MULTIPART_SIGNED (part) && node->ctx->crypto->verify)) {
 	GMimeContentType *content_type = g_mime_object_get_content_type (part);
 	const char *protocol = g_mime_content_type_get_parameter (content_type, "protocol");
-	cryptoctx = _notmuch_crypto_get_context (node->ctx->crypto, protocol);
+	cryptoctx = _notmuch_crypto_get_gmime_context (node->ctx->crypto, protocol);
 	if (!cryptoctx)
 	    return NULL;
     }
diff --git a/notmuch-client.h b/notmuch-client.h
index 224912c5..62acc70e 100644
--- a/notmuch-client.h
+++ b/notmuch-client.h
@@ -32,7 +32,6 @@
 
 #include "gmime-extra.h"
 
-typedef GMimeCryptoContext notmuch_crypto_context_t;
 /* This is automatically included only since gmime 2.6.10 */
 #include <gmime/gmime-pkcs7-context.h>
 
@@ -76,8 +75,8 @@ typedef struct _notmuch_crypto {
     bool verify;
     bool decrypt;
 #if (GMIME_MAJOR_VERSION < 3)
-    notmuch_crypto_context_t* gpgctx;
-    notmuch_crypto_context_t* pkcs7ctx;
+    GMimeCryptoContext* gpgctx;
+    GMimeCryptoContext* pkcs7ctx;
     const char *gpgpath;
 #endif
 } _notmuch_crypto_t;
@@ -182,8 +181,8 @@ void
 notmuch_exit_if_unsupported_format (void);
 
 #if (GMIME_MAJOR_VERSION <3)
-notmuch_crypto_context_t *
-_notmuch_crypto_get_context (_notmuch_crypto_t *crypto, const char *protocol);
+GMimeCryptoContext *
+_notmuch_crypto_get_gmime_context (_notmuch_crypto_t *crypto, const char *protocol);
 #endif
 
 int
-- 
2.14.2

  parent reply	other threads:[~2017-10-10  5:49 UTC|newest]

Thread overview: 67+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-12 23:01 [PATCH 01/10] reorganize indexing of multipart/signed and multipart/encrypted Daniel Kahn Gillmor
2017-09-12 23:01 ` [PATCH 02/10] crypto: Move crypto.c into libutil Daniel Kahn Gillmor
2017-09-12 23:01 ` [PATCH 03/10] crypto: make shared crypto code behave library-like Daniel Kahn Gillmor
2017-09-12 23:01 ` [PATCH 04/10] tests: prepare for more crypto tests (using add_gnupg_home) Daniel Kahn Gillmor
2017-09-12 23:01 ` [PATCH 05/10] index: implement notmuch_indexopts_t with try_decrypt Daniel Kahn Gillmor
2017-09-12 23:01 ` [PATCH 06/10] crypto: index encrypted parts when indexopts try_decrypt is set Daniel Kahn Gillmor
2017-09-12 23:01 ` [PATCH 07/10] Define new config option index.try_decrypt Daniel Kahn Gillmor
2017-09-12 23:29   ` Daniel Kahn Gillmor
2017-09-12 23:01 ` [PATCH 08/10] add --try-decrypt=(true|false) to notmuch new Daniel Kahn Gillmor
2017-09-12 23:01 ` [PATCH 09/10] add --try-decrypt=(true|false) to notmuch insert Daniel Kahn Gillmor
2017-09-12 23:01 ` [PATCH 10/10] add --try-decrypt=(true|false) to notmuch reindex Daniel Kahn Gillmor
2017-09-15  5:53   ` cleartext-indexing Daniel Kahn Gillmor
2017-09-15  5:53     ` [PATCH v2 01/10] crypto: Move crypto.c into libutil Daniel Kahn Gillmor
2017-09-23 15:23       ` Jani Nikula
2017-09-15  5:53     ` [PATCH v2 02/10] crypto: make shared crypto code behave library-like Daniel Kahn Gillmor
2017-09-23 15:36       ` Jani Nikula
2017-10-10  3:33         ` Daniel Kahn Gillmor
2017-09-15  5:53     ` [PATCH v2 03/10] tests: prepare for more crypto tests (using add_gnupg_home) Daniel Kahn Gillmor
2017-09-23 15:38       ` Jani Nikula
2017-09-15  5:53     ` [PATCH v2 04/10] index: implement notmuch_indexopts_t with try_decrypt Daniel Kahn Gillmor
2017-09-23 16:10       ` Jani Nikula
2017-10-10  3:45         ` Daniel Kahn Gillmor
2017-10-14 12:40           ` Jani Nikula
2017-09-15  5:53     ` [PATCH v2 05/10] crypto: index encrypted parts when indexopts try_decrypt is set Daniel Kahn Gillmor
2017-09-23 16:05       ` Jani Nikula
2017-10-10  4:27         ` Daniel Kahn Gillmor
2017-09-15  5:53     ` [PATCH v2 06/10] config: indexing defaults will be stored in the database Daniel Kahn Gillmor
2017-09-15  5:53     ` [PATCH v2 07/10] config: define new option index.try_decrypt Daniel Kahn Gillmor
2017-09-23 16:17       ` Jani Nikula
2017-09-15  5:53     ` [PATCH v2 08/10] cli/new: add --try-decrypt=(true|false) Daniel Kahn Gillmor
2017-09-23 16:46       ` Jani Nikula
2017-09-15  5:53     ` [PATCH v2 09/10] cli/insert: " Daniel Kahn Gillmor
2017-09-15  5:53     ` [PATCH v2 10/10] cli/reindex: " Daniel Kahn Gillmor
2017-10-10  5:49     ` cleartext indexing, round 3 Daniel Kahn Gillmor
2017-10-10  5:49       ` [PATCH v3 01/15] crypto: rename notmuch_crypto_t to _notmuch_crypto_t Daniel Kahn Gillmor
2017-10-10  5:49       ` Daniel Kahn Gillmor [this message]
2017-10-10  5:49       ` [PATCH v3 03/15] crypto: _notmuch_crypto_cleanup should return void Daniel Kahn Gillmor
2017-10-10  5:49       ` [PATCH v3 04/15] crypto: move into libutil Daniel Kahn Gillmor
2017-10-12 10:54         ` David Bremner
2017-10-12 14:07           ` Daniel Kahn Gillmor
2017-10-12 21:07             ` David Bremner
2017-10-10  5:49       ` [PATCH v3 05/15] gmime-extra: remove duplicate GMimeAddressType typedef Daniel Kahn Gillmor
2017-10-10  5:49       ` [PATCH v3 06/15] crypto: make shared crypto code behave library-like Daniel Kahn Gillmor
2017-10-10  5:49       ` [PATCH v3 07/15] tests: prepare for more crypto tests (using add_gnupg_home) Daniel Kahn Gillmor
2017-10-10  5:49       ` [PATCH v3 08/15] index: implement notmuch_indexopts_t with try_decrypt Daniel Kahn Gillmor
2017-10-11  0:29         ` avoid double typedef Daniel Kahn Gillmor
2017-10-11  0:30           ` [PATCH v4 08/15] index: implement notmuch_indexopts_t with try_decrypt Daniel Kahn Gillmor
2017-10-12 11:18             ` David Bremner
2017-10-12 14:30               ` Daniel Kahn Gillmor
2017-10-11  6:22           ` avoid double typedef Tomi Ollila
2017-10-10  5:49       ` [PATCH v3 09/15] gmime-extra: drop compat layer for g_mime_multipart_encrypted_decrypt Daniel Kahn Gillmor
2017-10-14 14:02         ` David Bremner
2017-10-10  5:49       ` [PATCH v3 10/15] crypto: index encrypted parts when indexopts try_decrypt is set Daniel Kahn Gillmor
2017-10-13  1:08         ` David Bremner
2017-10-13 14:35           ` Daniel Kahn Gillmor
2017-10-13 15:19             ` David Bremner
2017-10-14 11:15             ` David Bremner
2017-10-10  5:49       ` [PATCH v3 11/15] config: indexing defaults will be stored in the database Daniel Kahn Gillmor
2017-10-14 18:08         ` David Bremner
2017-10-15  6:28           ` Daniel Kahn Gillmor
2017-10-10  5:49       ` [PATCH v3 12/15] config: define new option index.try_decrypt Daniel Kahn Gillmor
2017-10-10  5:49       ` [PATCH v3 13/15] cli/new: add --try-decrypt=(true|false) Daniel Kahn Gillmor
2017-10-10  5:49       ` [PATCH v3 14/15] cli/insert: " Daniel Kahn Gillmor
2017-10-10  5:49       ` [PATCH v3 15/15] cli/reindex: " Daniel Kahn Gillmor
2017-10-10 15:50       ` cleartext indexing, round 3 Jameson Graef Rollins
2017-10-10 16:47         ` Daniel Kahn Gillmor
2017-10-13  1:28       ` 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=20171010054916.23925-3-dkg@fifthhorseman.net \
    --to=dkg@fifthhorseman.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).