aboutsummaryrefslogtreecommitdiff
path: root/mime-node.c
diff options
context:
space:
mode:
authorDavid Bremner <david@tethera.net>2015-08-16 17:33:21 +0200
committerDavid Bremner <david@tethera.net>2015-08-26 20:01:45 -0300
commit005c2f0df17de8afdf9f67b923d26f2358236171 (patch)
tree92c803b40732cb353da299cbbd3cd46a9f71e0b4 /mime-node.c
parentcb08a2ee019e52dc29ba393d139fce8d7282c632 (diff)
cli/lib: remove support for GMime 2.4
It's becoming a maintenance burden to do anything things with the crypto glue code twice, once for 2.4 and once for 2.6. I don't have any 2.4 version available to test on my development machine anymore, so the 2.4 specific code paths are likely not very well tested.
Diffstat (limited to 'mime-node.c')
-rw-r--r--mime-node.c83
1 files changed, 0 insertions, 83 deletions
diff --git a/mime-node.c b/mime-node.c
index fd9e4a45..e96e6639 100644
--- a/mime-node.c
+++ b/mime-node.c
@@ -129,8 +129,6 @@ DONE:
return status;
}
-#ifdef GMIME_ATLEAST_26
-
/* Signature list destructor (GMime 2.6) */
static int
_signature_list_free (GMimeSignatureList **proxy)
@@ -205,87 +203,6 @@ node_decrypt_and_verify (mime_node_t *node, GMimeObject *part,
g_error_free (err);
}
-#else /* GMIME_ATLEAST_26 */
-
-/* Signature validity destructor (GMime 2.4) */
-static int
-_signature_validity_free (GMimeSignatureValidity **proxy)
-{
- g_mime_signature_validity_free (*proxy);
- return 0;
-}
-
-/* Set up signature validity destructor (GMime 2.4) */
-static void
-set_signature_validity_destructor (mime_node_t *node,
- GMimeSignatureValidity *sig_validity)
-{
- GMimeSignatureValidity **proxy = talloc (node, GMimeSignatureValidity *);
- if (proxy) {
- *proxy = sig_validity;
- talloc_set_destructor (proxy, _signature_validity_free);
- }
-}
-
-/* Verify a signed mime node (GMime 2.4) */
-static void
-node_verify (mime_node_t *node, GMimeObject *part,
- notmuch_crypto_context_t *cryptoctx)
-{
- GError *err = NULL;
- GMimeSignatureValidity *sig_validity;
-
- node->verify_attempted = TRUE;
- sig_validity = g_mime_multipart_signed_verify
- (GMIME_MULTIPART_SIGNED (part), cryptoctx, &err);
- node->sig_validity = sig_validity;
- if (sig_validity) {
- set_signature_validity_destructor (node, sig_validity);
- } else {
- fprintf (stderr, "Failed to verify signed part: %s\n",
- err ? err->message : "no error explanation given");
- }
-
- if (err)
- g_error_free (err);
-}
-
-/* Decrypt and optionally verify an encrypted mime node (GMime 2.4) */
-static void
-node_decrypt_and_verify (mime_node_t *node, GMimeObject *part,
- notmuch_crypto_context_t *cryptoctx)
-{
- GError *err = NULL;
- GMimeMultipartEncrypted *encrypteddata = GMIME_MULTIPART_ENCRYPTED (part);
-
- node->decrypt_attempted = TRUE;
- node->decrypted_child = g_mime_multipart_encrypted_decrypt
- (encrypteddata, cryptoctx, &err);
- if (! node->decrypted_child) {
- fprintf (stderr, "Failed to decrypt part: %s\n",
- err ? err->message : "no error explanation given");
- goto DONE;
- }
-
- node->decrypt_success = TRUE;
- node->verify_attempted = TRUE;
-
- /* The GMimeSignatureValidity returned here is a const, unlike the
- * one returned by g_mime_multipart_signed_verify() in
- * node_verify() above, so the destructor is not needed.
- */
- node->sig_validity = g_mime_multipart_encrypted_get_signature_validity (encrypteddata);
- if (! node->sig_validity)
- fprintf (stderr, "Failed to verify encrypted signed part: %s\n",
- err ? err->message : "no error explanation given");
-
- DONE:
- if (err)
- g_error_free (err);
-}
-
-#endif /* GMIME_ATLEAST_26 */
-
static mime_node_t *
_mime_node_create (mime_node_t *parent, GMimeObject *part)
{