mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-25 04:18:08 +01:00
cli/{show,reply}: skip over legacy-display parts
Make use of the previous changes to fast-forward past any legacy-display parts during "notmuch show" and "notmuch reply". Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
This commit is contained in:
parent
ff3d873f0b
commit
c61e22d5cb
2 changed files with 10 additions and 3 deletions
11
mime-node.c
11
mime-node.c
|
@ -333,7 +333,16 @@ _mime_node_set_up_part (mime_node_t *node, GMimeObject *part, int numchild)
|
||||||
node_verify (node, part);
|
node_verify (node, part);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
(void) _notmuch_message_crypto_potential_payload (node->ctx->msg_crypto, part, node->parent ? node->parent->part : NULL, numchild);
|
if (_notmuch_message_crypto_potential_payload (node->ctx->msg_crypto, part, node->parent ? node->parent->part : NULL, numchild) &&
|
||||||
|
node->ctx->msg_crypto->decryption_status == NOTMUCH_MESSAGE_DECRYPTED_FULL) {
|
||||||
|
GMimeObject *clean_payload = _notmuch_repair_crypto_payload_skip_legacy_display (part);
|
||||||
|
if (clean_payload != part) {
|
||||||
|
/* only one layer of recursion is possible here
|
||||||
|
* because there can be only a single cryptographic
|
||||||
|
* payload: */
|
||||||
|
return _mime_node_set_up_part (node, clean_payload, numchild);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -137,14 +137,12 @@ id:protected-header@crypto.notmuchmail.org
|
||||||
id:subjectless-protected-header@crypto.notmuchmail.org'
|
id:subjectless-protected-header@crypto.notmuchmail.org'
|
||||||
|
|
||||||
test_begin_subtest "when rendering protected headers, avoid rendering legacy-display part"
|
test_begin_subtest "when rendering protected headers, avoid rendering legacy-display part"
|
||||||
test_subtest_known_broken
|
|
||||||
output=$(notmuch show --format=json id:protected-with-legacy-display@crypto.notmuchmail.org)
|
output=$(notmuch show --format=json id:protected-with-legacy-display@crypto.notmuchmail.org)
|
||||||
test_json_nodes <<<"$output" \
|
test_json_nodes <<<"$output" \
|
||||||
'subject:[0][0][0]["headers"]["Subject"]="Interrupting Cow"' \
|
'subject:[0][0][0]["headers"]["Subject"]="Interrupting Cow"' \
|
||||||
'no_legacy_display:[0][0][0]["body"][0]["content"][1]["content-type"]="text/plain"'
|
'no_legacy_display:[0][0][0]["body"][0]["content"][1]["content-type"]="text/plain"'
|
||||||
|
|
||||||
test_begin_subtest "when replying, avoid rendering legacy-display part"
|
test_begin_subtest "when replying, avoid rendering legacy-display part"
|
||||||
test_subtest_known_broken
|
|
||||||
output=$(notmuch reply --format=json id:protected-with-legacy-display@crypto.notmuchmail.org)
|
output=$(notmuch reply --format=json id:protected-with-legacy-display@crypto.notmuchmail.org)
|
||||||
test_json_nodes <<<"$output" \
|
test_json_nodes <<<"$output" \
|
||||||
'no_legacy_display:["original"]["body"][0]["content"][1]["content-type"]="text/plain"'
|
'no_legacy_display:["original"]["body"][0]["content"][1]["content-type"]="text/plain"'
|
||||||
|
|
Loading…
Reference in a new issue