From ffbeef54470bf58de30a5d6ad835e64f640d20fc Mon Sep 17 00:00:00 2001 From: Jameson Graef Rollins Date: Thu, 24 May 2012 15:40:41 +1700 Subject: [PATCH] [PATCH v4 5/7] cli: modify mime_node_context to use the new crypto struct --- c3/8567a54f40d8cd9e55ec43421925c37fae8f46 | 138 ++++++++++++++++++++++ 1 file changed, 138 insertions(+) create mode 100644 c3/8567a54f40d8cd9e55ec43421925c37fae8f46 diff --git a/c3/8567a54f40d8cd9e55ec43421925c37fae8f46 b/c3/8567a54f40d8cd9e55ec43421925c37fae8f46 new file mode 100644 index 000000000..d3bd72608 --- /dev/null +++ b/c3/8567a54f40d8cd9e55ec43421925c37fae8f46 @@ -0,0 +1,138 @@ +Return-Path: +X-Original-To: notmuch@notmuchmail.org +Delivered-To: notmuch@notmuchmail.org +Received: from localhost (localhost [127.0.0.1]) + by olra.theworths.org (Postfix) with ESMTP id EBA77431FD5 + for ; Wed, 23 May 2012 15:40:52 -0700 (PDT) +X-Virus-Scanned: Debian amavisd-new at olra.theworths.org +X-Spam-Flag: NO +X-Spam-Score: -2.3 +X-Spam-Level: +X-Spam-Status: No, score=-2.3 tagged_above=-999 required=5 + tests=[RCVD_IN_DNSWL_MED=-2.3] autolearn=disabled +Received: from olra.theworths.org ([127.0.0.1]) + by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024) + with ESMTP id ppf6v7FiQA2E for ; + Wed, 23 May 2012 15:40:51 -0700 (PDT) +Received: from outgoing-mail.its.caltech.edu (outgoing-mail.its.caltech.edu + [131.215.239.19]) + by olra.theworths.org (Postfix) with ESMTP id 6A712431FBD + for ; Wed, 23 May 2012 15:40:50 -0700 (PDT) +Received: from fire-doxen.imss.caltech.edu (localhost [127.0.0.1]) + by fire-doxen-postvirus (Postfix) with ESMTP id 84FFE32805C + for ; Wed, 23 May 2012 15:40:49 -0700 (PDT) +X-Spam-Scanned: at Caltech-IMSS on fire-doxen by amavisd-new +Received: from finestructure.net (unknown [137.151.175.56]) + (Authenticated sender: jrollins) + by fire-doxen-submit (Postfix) with ESMTP id 9734A32807F + for ; Wed, 23 May 2012 15:40:47 -0700 (PDT) +Received: by finestructure.net (Postfix, from userid 1000) + id 074711F2; Wed, 23 May 2012 15:40:46 -0700 (PDT) +From: Jameson Graef Rollins +To: Notmuch Mail +Subject: [PATCH v4 5/7] cli: modify mime_node_context to use the new crypto + struct +Date: Wed, 23 May 2012 15:40:41 -0700 +Message-Id: <1337812843-14986-6-git-send-email-jrollins@finestructure.net> +X-Mailer: git-send-email 1.7.10 +In-Reply-To: <1337812843-14986-5-git-send-email-jrollins@finestructure.net> +References: <1337812843-14986-1-git-send-email-jrollins@finestructure.net> + <1337812843-14986-2-git-send-email-jrollins@finestructure.net> + <1337812843-14986-3-git-send-email-jrollins@finestructure.net> + <1337812843-14986-4-git-send-email-jrollins@finestructure.net> + <1337812843-14986-5-git-send-email-jrollins@finestructure.net> +X-BeenThere: notmuch@notmuchmail.org +X-Mailman-Version: 2.1.13 +Precedence: list +List-Id: "Use and development of the notmuch mail system." + +List-Unsubscribe: , + +List-Archive: +List-Post: +List-Help: +List-Subscribe: , + +X-List-Received-Date: Wed, 23 May 2012 22:40:53 -0000 + +This simplifies some more interfaces and gets rid of another #ifdef. +--- + mime-node.c | 18 ++++++++---------- + 1 file changed, 8 insertions(+), 10 deletions(-) + +diff --git a/mime-node.c b/mime-node.c +index ba3a01b..a838224 100644 +--- a/mime-node.c ++++ b/mime-node.c +@@ -33,8 +33,7 @@ typedef struct mime_node_context { + GMimeMessage *mime_message; + + /* Context provided by the caller. */ +- GMimeCryptoContext *cryptoctx; +- notmuch_bool_t decrypt; ++ notmuch_crypto_t *crypto; + } mime_node_context_t; + + static int +@@ -109,8 +108,7 @@ mime_node_open (const void *ctx, notmuch_message_t *message, + goto DONE; + } + +- mctx->cryptoctx = crypto->gpgctx; +- mctx->decrypt = crypto->decrypt; ++ mctx->crypto = crypto; + + /* Create the root node */ + root->part = GMIME_OBJECT (mctx->mime_message); +@@ -186,7 +184,7 @@ _mime_node_create (mime_node_t *parent, GMimeObject *part) + + /* Handle PGP/MIME parts */ + if (GMIME_IS_MULTIPART_ENCRYPTED (part) +- && node->ctx->cryptoctx && node->ctx->decrypt) { ++ && node->ctx->crypto->gpgctx && node->ctx->crypto->decrypt) { + if (node->nchildren != 2) { + /* this violates RFC 3156 section 4, so we won't bother with it. */ + fprintf (stderr, "Error: %d part(s) for a multipart/encrypted " +@@ -199,10 +197,10 @@ _mime_node_create (mime_node_t *parent, GMimeObject *part) + #ifdef GMIME_ATLEAST_26 + GMimeDecryptResult *decrypt_result = NULL; + node->decrypted_child = g_mime_multipart_encrypted_decrypt +- (encrypteddata, node->ctx->cryptoctx, &decrypt_result, &err); ++ (encrypteddata, node->ctx->crypto->gpgctx, &decrypt_result, &err); + #else + node->decrypted_child = g_mime_multipart_encrypted_decrypt +- (encrypteddata, node->ctx->cryptoctx, &err); ++ (encrypteddata, node->ctx->crypto->gpgctx, &err); + #endif + if (node->decrypted_child) { + node->decrypt_success = node->verify_attempted = TRUE; +@@ -220,7 +218,7 @@ _mime_node_create (mime_node_t *parent, GMimeObject *part) + (err ? err->message : "no error explanation given")); + } + } +- } else if (GMIME_IS_MULTIPART_SIGNED (part) && node->ctx->cryptoctx) { ++ } else if (GMIME_IS_MULTIPART_SIGNED (part) && node->ctx->crypto->gpgctx) { + if (node->nchildren != 2) { + /* this violates RFC 3156 section 5, so we won't bother with it. */ + fprintf (stderr, "Error: %d part(s) for a multipart/signed message " +@@ -229,7 +227,7 @@ _mime_node_create (mime_node_t *parent, GMimeObject *part) + } else { + #ifdef GMIME_ATLEAST_26 + node->sig_list = g_mime_multipart_signed_verify +- (GMIME_MULTIPART_SIGNED (part), node->ctx->cryptoctx, &err); ++ (GMIME_MULTIPART_SIGNED (part), node->ctx->crypto->gpgctx, &err); + node->verify_attempted = TRUE; + + if (!node->sig_list) +@@ -245,7 +243,7 @@ _mime_node_create (mime_node_t *parent, GMimeObject *part) + * In GMime 2.6, they're both non-const, so we'll be able + * to clean up this asymmetry. */ + GMimeSignatureValidity *sig_validity = g_mime_multipart_signed_verify +- (GMIME_MULTIPART_SIGNED (part), node->ctx->cryptoctx, &err); ++ (GMIME_MULTIPART_SIGNED (part), node->ctx->crypto->gpgctx, &err); + node->verify_attempted = TRUE; + node->sig_validity = sig_validity; + if (sig_validity) { +-- +1.7.10 + -- 2.26.2