crypto: drop pretense of notmuch_crypto_context_t

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().
This commit is contained in:
Daniel Kahn Gillmor 2017-10-10 01:49:03 -04:00 committed by David Bremner
parent 88f2a72ef1
commit 3e9857a0b9
3 changed files with 16 additions and 17 deletions

View file

@ -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) {

View file

@ -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;
}

View file

@ -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