diff options
author | Daniel Kahn Gillmor <dkg@fifthhorseman.net> | 2020-03-19 01:41:44 -0400 |
---|---|---|
committer | David Bremner <david@tethera.net> | 2020-03-22 22:20:52 -0300 |
commit | 7de3d77d2d31abaea78e70f4da9d9f2a5ef84a58 (patch) | |
tree | 470ba4fc566fe7c3e9c1cb0b4f66b99dcc88f6b9 | |
parent | 98e9bda17f09e8ed45371b708477b6990f36a619 (diff) |
mime-node: rename decrypted_child to unwrapped_child
When walking the MIME tree, we might need to extract a new MIME
object. Thus far, we've only done it when decrypting
multipart/encrypted messages, but PKCS#7 (RFC 8551, S/MIME) has
several other transformations that warrant a comparable form of
unwrapping.
Make this member re-usable for PKCS#7 unwrappings as well as
multipart/encrypted decryptions.
This change is just a naming change, it has no effect on function.
Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
-rw-r--r-- | mime-node.c | 10 | ||||
-rw-r--r-- | notmuch-client.h | 6 |
2 files changed, 9 insertions, 7 deletions
diff --git a/mime-node.c b/mime-node.c index e531078c..2a823dfd 100644 --- a/mime-node.c +++ b/mime-node.c @@ -227,19 +227,19 @@ node_decrypt_and_verify (mime_node_t *node, GMimeObject *part) GMimeMultipartEncrypted *encrypteddata = GMIME_MULTIPART_ENCRYPTED (part); notmuch_message_t *message = NULL; - if (! node->decrypted_child) { + if (! node->unwrapped_child) { for (mime_node_t *parent = node; parent; parent = parent->parent) if (parent->envelope_file) { message = parent->envelope_file; break; } - node->decrypted_child = _notmuch_crypto_decrypt (&node->decrypt_attempted, + node->unwrapped_child = _notmuch_crypto_decrypt (&node->decrypt_attempted, node->ctx->crypto->decrypt, message, encrypteddata, &decrypt_result, &err); } - if (! node->decrypted_child) { + if (! node->unwrapped_child) { fprintf (stderr, "Failed to decrypt part: %s\n", err ? err->message : "no error explanation given"); goto DONE; @@ -380,8 +380,8 @@ mime_node_child (mime_node_t *parent, int child) return NULL; if (GMIME_IS_MULTIPART (parent->part)) { - if (child == GMIME_MULTIPART_ENCRYPTED_CONTENT && parent->decrypted_child) - sub = parent->decrypted_child; + if (child == GMIME_MULTIPART_ENCRYPTED_CONTENT && parent->unwrapped_child) + sub = parent->unwrapped_child; else sub = g_mime_multipart_get_part ( GMIME_MULTIPART (parent->part), child); diff --git a/notmuch-client.h b/notmuch-client.h index 74690054..89e15ba6 100644 --- a/notmuch-client.h +++ b/notmuch-client.h @@ -395,8 +395,10 @@ struct mime_node { struct mime_node_context *ctx; /* Internal: For successfully decrypted multipart parts, the - * decrypted part to substitute for the second child. */ - GMimeObject *decrypted_child; + * decrypted part to substitute for the second child; or, for + * PKCS#7 parts, the part returned after removing/processing the + * PKCS#7 transformation */ + GMimeObject *unwrapped_child; /* Internal: The next child for depth-first traversal and the part * number to assign it (or -1 if unknown). */ |