mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-24 20:08:10 +01:00
crypto: Avoid explicit handling of GMimeCryptoContext in gmime 3
gmime 3.0 knows how to select the correct GMimeCryptoContext automatically, so a bunch of the code in notmuch can be dropped in that case. The #ifdef removal of the crypto stuff is better than #define aliasing in gmime-extra.h for this stuff. When built against gmime 3.0: * it reduces compiled code, and * it avoids initializing unused gpgme contexts (based on a patch from dkg)
This commit is contained in:
parent
606e320e47
commit
66c9b11bb0
2 changed files with 9 additions and 1 deletions
8
crypto.c
8
crypto.c
|
@ -19,7 +19,7 @@
|
|||
*/
|
||||
|
||||
#include "notmuch-client.h"
|
||||
|
||||
#if (GMIME_MAJOR_VERSION < 3)
|
||||
/* Create a GPG context (GMime 2.6) */
|
||||
static notmuch_crypto_context_t *
|
||||
create_gpg_context (notmuch_crypto_t *crypto)
|
||||
|
@ -132,3 +132,9 @@ notmuch_crypto_cleanup (notmuch_crypto_t *crypto)
|
|||
|
||||
return 0;
|
||||
}
|
||||
#else
|
||||
int notmuch_crypto_cleanup (unused(notmuch_crypto_t *crypto))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -240,6 +240,7 @@ _mime_node_create (mime_node_t *parent, GMimeObject *part)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
#if (GMIME_MAJOR_VERSION < 3)
|
||||
if ((GMIME_IS_MULTIPART_ENCRYPTED (part) && node->ctx->crypto->decrypt)
|
||||
|| (GMIME_IS_MULTIPART_SIGNED (part) && node->ctx->crypto->verify)) {
|
||||
GMimeContentType *content_type = g_mime_object_get_content_type (part);
|
||||
|
@ -248,6 +249,7 @@ _mime_node_create (mime_node_t *parent, GMimeObject *part)
|
|||
if (!cryptoctx)
|
||||
return NULL;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Handle PGP/MIME parts */
|
||||
if (GMIME_IS_MULTIPART_ENCRYPTED (part) && node->ctx->crypto->decrypt) {
|
||||
|
|
Loading…
Reference in a new issue