From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Date: Tue, 10 Oct 2017 05:49:10 +0000 (-0400)
Subject: gmime-extra: drop compat layer for g_mime_multipart_encrypted_decrypt
X-Git-Tag: 0.26_rc0~109
X-Git-Url: https://git.cworth.org/git?a=commitdiff_plain;h=bcd6229d26c26e694b185fb8bf762bad606916c8;p=notmuch

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

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)