summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Kahn Gillmor <dkg@fifthhorseman.net>2017-10-10 01:49:10 -0400
committerDavid Bremner <david@tethera.net>2017-10-14 10:57:06 -0300
commitbcd6229d26c26e694b185fb8bf762bad606916c8 (patch)
treef3caaf497c20cb0aaffa91c446381f2730fe24c7
parentee5df7d7db895a427aa1e4343b2c8f794a0b2d73 (diff)
gmime-extra: drop compat layer for g_mime_multipart_encrypted_decrypt
In practice, we're going to see this function invoked differently depending on which gmime we build against. The compatibility layer forces our code into the lowest-common-denominator -- unable to make use of new features even when built against a newer version. Dropping the compatibility layer paves the way for clearer use of features from GMime 3.0 in future commits.
-rw-r--r--mime-node.c4
-rw-r--r--util/gmime-extra.h1
2 files changed, 4 insertions, 1 deletions
diff --git a/mime-node.c b/mime-node.c
index 02e3df48..d48be4c4 100644
--- a/mime-node.c
+++ b/mime-node.c
@@ -200,7 +200,11 @@ node_decrypt_and_verify (mime_node_t *node, GMimeObject *part,
node->decrypt_attempted = true;
node->decrypted_child = g_mime_multipart_encrypted_decrypt
+#if (GMIME_MAJOR_VERSION < 3)
(encrypteddata, cryptoctx, &decrypt_result, &err);
+#else
+ (encrypteddata, GMIME_DECRYPT_NONE, NULL, &decrypt_result, &err);
+#endif
if (! node->decrypted_child) {
fprintf (stderr, "Failed to decrypt part: %s\n",
err ? err->message : "no error explanation given");
diff --git a/util/gmime-extra.h b/util/gmime-extra.h
index e060bcc2..40bf1454 100644
--- a/util/gmime-extra.h
+++ b/util/gmime-extra.h
@@ -29,7 +29,6 @@ GMimeStream *g_mime_stream_stdout_new(void);
#define g_mime_init(flags) g_mime_init()
#define g_mime_message_add_recipient(m,t,n,a) g_mime_message_add_mailbox (m,t,n,a)
#define g_mime_message_set_subject(m,s) g_mime_message_set_subject(m,s,NULL)
-#define g_mime_multipart_encrypted_decrypt(mpe,ctx,out,err) g_mime_multipart_encrypted_decrypt(mpe, GMIME_DECRYPT_NONE, NULL, out, err)
#define g_mime_multipart_signed_verify(mps,ctx,err) g_mime_multipart_signed_verify(mps, GMIME_ENCRYPT_NONE, err)
#define g_mime_object_write_to_stream(o,s) g_mime_object_write_to_stream (o,NULL,s)
#define g_mime_object_set_header(o,h,v) g_mime_object_set_header (o,h,v,NULL)