]> git.cworth.org Git - notmuch/commitdiff
cli: expose message-wide crypto status from mime-node
authorDaniel Kahn Gillmor <dkg@fifthhorseman.net>
Sat, 25 May 2019 18:04:04 +0000 (14:04 -0400)
committerDavid Bremner <david@tethera.net>
Sun, 26 May 2019 11:20:23 +0000 (08:20 -0300)
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
notmuch-client.h

index e33336bbb32e8ed11cdc58f88369e675652bd250..66ff744671fb3def8cae892fbe4e755f5a58f09d 100644 (file)
@@ -34,6 +34,7 @@ typedef struct mime_node_context {
     GMimeStream *stream;
     GMimeParser *parser;
     GMimeMessage *mime_message;
     GMimeStream *stream;
     GMimeParser *parser;
     GMimeMessage *mime_message;
+    _notmuch_message_crypto_t *msg_crypto;
 
     /* Context provided by the caller. */
     _notmuch_crypto_t *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;
 }
 
     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)
 notmuch_status_t
 mime_node_open (const void *ctx, notmuch_message_t *message,
                _notmuch_crypto_t *crypto, mime_node_t **root_out)
index d762d3cc5cfc3a24bd17c98365672588f4913c5d..a82cb43106132d70a1bf6f4d6630aa9095934c1b 100644 (file)
@@ -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);
 
 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,
 typedef enum dump_formats {
     DUMP_FORMAT_AUTO,
     DUMP_FORMAT_BATCH_TAG,