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().
#include "notmuch-client.h"
#if (GMIME_MAJOR_VERSION < 3)
/* Create a GPG context (GMime 2.6) */
#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)
{
create_gpg_context (_notmuch_crypto_t *crypto)
{
- notmuch_crypto_context_t *gpgctx;
+ GMimeCryptoContext *gpgctx;
if (crypto->gpgctx)
return crypto->gpgctx;
if (crypto->gpgctx)
return crypto->gpgctx;
}
/* Create a PKCS7 context (GMime 2.6) */
}
/* Create a PKCS7 context (GMime 2.6) */
-static notmuch_crypto_context_t *
+static GMimeCryptoContext *
create_pkcs7_context (_notmuch_crypto_t *crypto)
{
create_pkcs7_context (_notmuch_crypto_t *crypto)
{
- notmuch_crypto_context_t *pkcs7ctx;
+ GMimeCryptoContext *pkcs7ctx;
if (crypto->pkcs7ctx)
return crypto->pkcs7ctx;
if (crypto->pkcs7ctx)
return crypto->pkcs7ctx;
}
static const struct {
const char *protocol;
}
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",
} protocols[] = {
{
.protocol = "application/pgp-signature",
/* for the specified protocol return the context pointer (initializing
* if needed) */
/* 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) {
size_t i;
if (! protocol) {
/* Verify a signed mime node (GMime 2.6) */
static void
node_verify (mime_node_t *node, GMimeObject *part,
/* 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))
/* Decrypt and optionally verify an encrypted mime node (GMime 2.6) */
static void
node_decrypt_and_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;
{
GError *err = NULL;
GMimeDecryptResult *decrypt_result = NULL;
_mime_node_create (mime_node_t *parent, GMimeObject *part)
{
mime_node_t *node = talloc_zero (parent, 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;
/* Set basic node properties */
node->part = 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");
|| (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;
}
if (!cryptoctx)
return NULL;
}
-typedef GMimeCryptoContext notmuch_crypto_context_t;
/* This is automatically included only since gmime 2.6.10 */
#include <gmime/gmime-pkcs7-context.h>
/* This is automatically included only since gmime 2.6.10 */
#include <gmime/gmime-pkcs7-context.h>
bool verify;
bool decrypt;
#if (GMIME_MAJOR_VERSION < 3)
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;
const char *gpgpath;
#endif
} _notmuch_crypto_t;
notmuch_exit_if_unsupported_format (void);
#if (GMIME_MAJOR_VERSION <3)
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);