From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from localhost (localhost [127.0.0.1]) by arlo.cworth.org (Postfix) with ESMTP id 6B4886DE034D for ; Thu, 10 May 2018 22:56:03 -0700 (PDT) X-Virus-Scanned: Debian amavisd-new at cworth.org X-Spam-Flag: NO X-Spam-Score: -0.019 X-Spam-Level: X-Spam-Status: No, score=-0.019 tagged_above=-999 required=5 tests=[AWL=-0.019, RCVD_IN_DNSWL_NONE=-0.0001] autolearn=disabled Received: from arlo.cworth.org ([127.0.0.1]) by localhost (arlo.cworth.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id MBx1oZKQVOn8 for ; Thu, 10 May 2018 22:56:02 -0700 (PDT) Received: from che.mayfirst.org (che.mayfirst.org [162.247.75.118]) by arlo.cworth.org (Postfix) with ESMTPS id 1A2086DE0280 for ; Thu, 10 May 2018 22:56:01 -0700 (PDT) Received: from fifthhorseman.net (unknown [38.109.115.130]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by che.mayfirst.org (Postfix) with ESMTPSA id 3644AF99A for ; Fri, 11 May 2018 01:55:58 -0400 (EDT) Received: by fifthhorseman.net (Postfix, from userid 1000) id CD7F320EE6; Fri, 11 May 2018 01:55:52 -0400 (EDT) From: Daniel Kahn Gillmor To: Notmuch Mail Subject: [PATCH 05/20] cli: expose message-wide crypto status from mime-node Date: Fri, 11 May 2018 01:55:29 -0400 Message-Id: <20180511055544.13676-6-dkg@fifthhorseman.net> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180511055544.13676-1-dkg@fifthhorseman.net> References: <20180511055544.13676-1-dkg@fifthhorseman.net> X-BeenThere: notmuch@notmuchmail.org X-Mailman-Version: 2.1.26 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: Fri, 11 May 2018 05:56:03 -0000 The mime node context (a per-message context) gains a cryptographic status object, and the mime_node_t object itself can return a view on that status to an interested party. The status is not yet populated, and for now we can keep that view read-only, so that it can only be populated/modified during MIME tree traversal. --- mime-node.c | 7 +++++++ notmuch-client.h | 3 +++ 2 files changed, 10 insertions(+) diff --git a/mime-node.c b/mime-node.c index 74f40417..cbff95d1 100644 --- a/mime-node.c +++ b/mime-node.c @@ -31,6 +31,7 @@ typedef struct mime_node_context { GMimeStream *stream; GMimeParser *parser; GMimeMessage *mime_message; + _notmuch_message_crypto_t *msg_crypto; /* Context provided by the caller. */ _notmuch_crypto_t *crypto; @@ -54,6 +55,12 @@ _mime_node_context_free (mime_node_context_t *res) return 0; } +const _notmuch_message_crypto_t* +mime_node_get_message_crypto_status (mime_node_t *node) +{ + return node->ctx->msg_crypto; +} + notmuch_status_t mime_node_open (const void *ctx, notmuch_message_t *message, _notmuch_crypto_t *crypto, mime_node_t **root_out) diff --git a/notmuch-client.h b/notmuch-client.h index 0985a7b0..dfc7c047 100644 --- a/notmuch-client.h +++ b/notmuch-client.h @@ -448,6 +448,9 @@ mime_node_child (mime_node_t *parent, int child); mime_node_t * mime_node_seek_dfs (mime_node_t *node, int n); +const _notmuch_message_crypto_t* +mime_node_get_message_crypto_status (mime_node_t *node); + typedef enum dump_formats { DUMP_FORMAT_AUTO, DUMP_FORMAT_BATCH_TAG, -- 2.17.0