From: Daniel Kahn Gillmor Date: Sat, 25 May 2019 18:04:04 +0000 (-0400) Subject: cli: expose message-wide crypto status from mime-node X-Git-Tag: archive/debian/0.29_rc0-1~28 X-Git-Url: https://git.cworth.org/git?p=notmuch;a=commitdiff_plain;h=2c08beb2546156940e30526fc6759f4ee74b4fed cli: expose message-wide crypto status from mime-node 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. --- diff --git a/mime-node.c b/mime-node.c index e33336bb..66ff7446 100644 --- a/mime-node.c +++ b/mime-node.c @@ -34,6 +34,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 d762d3cc..a82cb431 100644 --- a/notmuch-client.h +++ b/notmuch-client.h @@ -439,6 +439,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,