mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-24 11:58:10 +01:00
crypto: Make _notmuch_crypto_decrypt take a GMimeObject
As we prepare to handle S/MIME-encrypted PKCS#7 EnvelopedData (which is not multipart), we don't want to be limited to passing only GMimeMultipartEncrypted MIME parts to _notmuch_crypto_decrypt. There is no functional change here, just a matter of adjusting how we pass arguments internally. Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
This commit is contained in:
parent
1b9f4a9863
commit
2b108728c4
4 changed files with 9 additions and 10 deletions
|
@ -369,7 +369,7 @@ _index_content_type (notmuch_message_t *message, GMimeObject *part)
|
|||
|
||||
static void
|
||||
_index_encrypted_mime_part (notmuch_message_t *message, notmuch_indexopts_t *indexopts,
|
||||
GMimeMultipartEncrypted *part,
|
||||
GMimeObject *part,
|
||||
_notmuch_message_crypto_t *msg_crypto);
|
||||
|
||||
static void
|
||||
|
@ -439,7 +439,7 @@ _index_mime_part (notmuch_message_t *message,
|
|||
g_mime_multipart_get_part (multipart, i));
|
||||
if (i == GMIME_MULTIPART_ENCRYPTED_CONTENT) {
|
||||
_index_encrypted_mime_part (message, indexopts,
|
||||
GMIME_MULTIPART_ENCRYPTED (part),
|
||||
part,
|
||||
msg_crypto);
|
||||
} else {
|
||||
if (i != GMIME_MULTIPART_ENCRYPTED_VERSION) {
|
||||
|
@ -551,7 +551,7 @@ _index_mime_part (notmuch_message_t *message,
|
|||
static void
|
||||
_index_encrypted_mime_part (notmuch_message_t *message,
|
||||
notmuch_indexopts_t *indexopts,
|
||||
GMimeMultipartEncrypted *encrypted_data,
|
||||
GMimeObject *encrypted_data,
|
||||
_notmuch_message_crypto_t *msg_crypto)
|
||||
{
|
||||
notmuch_status_t status;
|
||||
|
@ -603,7 +603,7 @@ _index_encrypted_mime_part (notmuch_message_t *message,
|
|||
g_object_unref (decrypt_result);
|
||||
}
|
||||
GMimeObject *toindex = clear;
|
||||
if (_notmuch_message_crypto_potential_payload (msg_crypto, clear, GMIME_OBJECT (encrypted_data), GMIME_MULTIPART_ENCRYPTED_CONTENT) &&
|
||||
if (_notmuch_message_crypto_potential_payload (msg_crypto, clear, encrypted_data, GMIME_MULTIPART_ENCRYPTED_CONTENT) &&
|
||||
msg_crypto->decryption_status == NOTMUCH_MESSAGE_DECRYPTED_FULL) {
|
||||
toindex = _notmuch_repair_crypto_payload_skip_legacy_display (clear);
|
||||
if (toindex != clear)
|
||||
|
|
|
@ -253,7 +253,6 @@ node_decrypt_and_verify (mime_node_t *node, GMimeObject *part)
|
|||
GError *err = NULL;
|
||||
GMimeDecryptResult *decrypt_result = NULL;
|
||||
notmuch_status_t status;
|
||||
GMimeMultipartEncrypted *encrypteddata = GMIME_MULTIPART_ENCRYPTED (part);
|
||||
notmuch_message_t *message = NULL;
|
||||
|
||||
if (! node->unwrapped_child) {
|
||||
|
@ -266,7 +265,7 @@ node_decrypt_and_verify (mime_node_t *node, GMimeObject *part)
|
|||
node->unwrapped_child = _notmuch_crypto_decrypt (&node->decrypt_attempted,
|
||||
node->ctx->crypto->decrypt,
|
||||
message,
|
||||
encrypteddata, &decrypt_result, &err);
|
||||
part, &decrypt_result, &err);
|
||||
if (node->unwrapped_child)
|
||||
set_unwrapped_child_destructor (node);
|
||||
}
|
||||
|
|
|
@ -34,7 +34,7 @@ GMimeObject *
|
|||
_notmuch_crypto_decrypt (bool *attempted,
|
||||
notmuch_decryption_policy_t decrypt,
|
||||
notmuch_message_t *message,
|
||||
GMimeMultipartEncrypted *part,
|
||||
GMimeObject *part,
|
||||
GMimeDecryptResult **decrypt_result,
|
||||
GError **err)
|
||||
{
|
||||
|
@ -55,7 +55,7 @@ _notmuch_crypto_decrypt (bool *attempted,
|
|||
}
|
||||
if (attempted)
|
||||
*attempted = true;
|
||||
ret = g_mime_multipart_encrypted_decrypt (part,
|
||||
ret = g_mime_multipart_encrypted_decrypt (GMIME_MULTIPART_ENCRYPTED (part),
|
||||
GMIME_DECRYPT_NONE,
|
||||
notmuch_message_properties_value (list),
|
||||
decrypt_result, err);
|
||||
|
@ -81,7 +81,7 @@ _notmuch_crypto_decrypt (bool *attempted,
|
|||
GMimeDecryptFlags flags = GMIME_DECRYPT_NONE;
|
||||
if (decrypt == NOTMUCH_DECRYPT_TRUE && decrypt_result)
|
||||
flags |= GMIME_DECRYPT_EXPORT_SESSION_KEY;
|
||||
ret = g_mime_multipart_encrypted_decrypt (part, flags, NULL,
|
||||
ret = g_mime_multipart_encrypted_decrypt (GMIME_MULTIPART_ENCRYPTED (part), flags, NULL,
|
||||
decrypt_result, err);
|
||||
return ret;
|
||||
}
|
||||
|
|
|
@ -18,7 +18,7 @@ GMimeObject *
|
|||
_notmuch_crypto_decrypt (bool *attempted,
|
||||
notmuch_decryption_policy_t decrypt,
|
||||
notmuch_message_t *message,
|
||||
GMimeMultipartEncrypted *part,
|
||||
GMimeObject *part,
|
||||
GMimeDecryptResult **decrypt_result,
|
||||
GError **err);
|
||||
|
||||
|
|
Loading…
Reference in a new issue