[PATCH v3 02/15] crypto: drop pretense of notmuch_crypto_context_t

Daniel Kahn Gillmor dkg at fifthhorseman.net
Mon Oct 9 22:49:03 PDT 2017


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



More information about the notmuch mailing list