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 208556DE101C for ; Wed, 24 Apr 2019 11:31:24 -0700 (PDT) X-Virus-Scanned: Debian amavisd-new at cworth.org X-Spam-Flag: NO X-Spam-Score: -0.151 X-Spam-Level: X-Spam-Status: No, score=-0.151 tagged_above=-999 required=5 tests=[AWL=0.050, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] 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 64nbk_XI8MhR for ; Wed, 24 Apr 2019 11:31:23 -0700 (PDT) Received: from che.mayfirst.org (che.mayfirst.org [162.247.75.118]) by arlo.cworth.org (Postfix) with ESMTPS id 71A956DE0F42 for ; Wed, 24 Apr 2019 11:31:23 -0700 (PDT) DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/simple; d=fifthhorseman.net; i=@fifthhorseman.net; q=dns/txt; s=2019; t=1556130682; h=from : to : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding : from; bh=f+Kz5Ony3VpZgkf2fTg8pP0QsNf/x95xgtqK6yTUmCI=; b=XX7Wup77FOk1aRJHHk0M2aPJ4HZZalsNOaOkda2XsBVZeUIEX7qTr1Gm spTSNV3iGRvxq9KjUtk3y1yZi2WPAA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=fifthhorseman.net; i=@fifthhorseman.net; q=dns/txt; s=2019rsa; t=1556130682; h=from : to : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding : from; bh=f+Kz5Ony3VpZgkf2fTg8pP0QsNf/x95xgtqK6yTUmCI=; b=qk+6VIZCjy9lxKaeXRTqmVYOQ5VZNpTbBb9Kf+86aPv9lY1ZWjDt2uBg c0zbfYS4KgivMSJdp70evExRhLDSMacUu+o/YaRVVHvHF2CRa4sDiXqqiY tOu9H016iCy9ttxZbJR5jXZHeLBrJFaoc9gZecRbSC7iwhdpN4pdrGPiEG 1uRSxZBtobB+67ZBFPjViTAiMpvtbRnrduCrKaMdYsX4rzZdAWhOg6xQwX 3lncJfMxlIrFd8n69k+715UvnB9okw8W6ieWzhk9rkUCTsfL1YzGzcHpPT GNpta44RJFqIyUwlrpQPvABfMjyuFRTJf0CpbTPdIFPZPdu6rFW3vA== 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 11E10F99D for ; Wed, 24 Apr 2019 14:31:22 -0400 (EDT) Received: by fifthhorseman.net (Postfix, from userid 1000) id 58AF12075A; Wed, 24 Apr 2019 14:31:18 -0400 (EDT) From: Daniel Kahn Gillmor To: Notmuch Mail Subject: [PATCH 2/4] cli: expose message-wide crypto status from mime-node Date: Wed, 24 Apr 2019 14:31:11 -0400 Message-Id: <20190424183113.29242-3-dkg@fifthhorseman.net> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190424183113.29242-1-dkg@fifthhorseman.net> References: <20190424183113.29242-1-dkg@fifthhorseman.net> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: notmuch@notmuchmail.org X-Mailman-Version: 2.1.29 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, 24 Apr 2019 18:31:24 -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 1bfb479b..272d23fb 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 6c84ecc0..3497e5b0 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.20.1