I#2356 - PGP-MIME: Show decrypted protected header as Subject in preview

Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/2356
This commit is contained in:
Milan Crha
2023-05-10 10:04:31 +02:00
parent 7ce3a034ec
commit cd4e1f4feb
2 changed files with 23 additions and 6 deletions

View File

@ -48,6 +48,7 @@ empe_mp_mixed_maybe_update_message_info_headers (EMailParser *parser,
GCancellable *cancellable)
{
EMailPartList *part_list;
CamelMimeMessage *message;
CamelFolder *folder;
const gchar *message_uid;
@ -65,6 +66,10 @@ empe_mp_mixed_maybe_update_message_info_headers (EMailParser *parser,
if (!part_list)
return;
message = e_mail_part_list_get_message (part_list);
if (message)
camel_mime_message_set_subject (message, subject);
folder = e_mail_part_list_get_folder (part_list);
message_uid = e_mail_part_list_get_message_uid (part_list);
@ -185,8 +190,18 @@ empe_mp_mixed_parse (EMailParserExtension *extension,
/* The multipart/mixed contains some of the original headers */
subject = camel_medium_get_header (CAMEL_MEDIUM (part), "Subject");
if (subject)
if (subject) {
gchar *tmp = NULL;
if (strchr (subject, '\n')) {
tmp = camel_header_unfold (subject);
subject = tmp;
}
empe_mp_mixed_maybe_update_message_info_headers (parser, part_id->str, subject, cancellable);
g_free (tmp);
}
}
ct = camel_mime_part_get_content_type (subpart);

View File

@ -2693,16 +2693,18 @@ forward_non_attached (EMsgComposer *composer,
forward subject, because both rely on that account. */
set_up_new_composer (composer, NULL, folder, message, uid, FALSE);
subject = emcu_generate_forward_subject (composer, message, NULL);
table = e_msg_composer_get_header_table (composer);
e_composer_header_table_set_subject (table, subject);
g_free (subject);
forward = quoting_text (QUOTING_FORWARD, composer);
text = em_utils_message_to_html_ex (session, message, forward, flags, NULL, NULL, NULL, &validity_found, &part_list);
e_msg_composer_add_attachments_from_part_list (composer, part_list, FALSE);
/* Read the Subject after EMFormatter, because it can update
it from an encrypted part */
subject = emcu_generate_forward_subject (composer, message, NULL);
table = e_msg_composer_get_header_table (composer);
e_composer_header_table_set_subject (table, subject);
g_free (subject);
if (text != NULL) {
e_msg_composer_set_body_text (composer, text, TRUE);