From ca67414c22d003f5e005cc05689efdec38dcd4e7 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Thu, 1 Aug 2013 14:00:17 +0200 Subject: Bug 705194 - Failure to decrypt inline encrypted GPG messages Commit 514736f27efeac6d5ad42e055ebabb423d243fb2 in 3.9.5 broke inline PGP encrypted messages, because the parser was treating the encrypted message content as an attachment even though the content type is just text/plain. This ensures the message content is treated correctly. --- em-format/e-mail-parser-inlinepgp-encrypted.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'em-format/e-mail-parser-inlinepgp-encrypted.c') diff --git a/em-format/e-mail-parser-inlinepgp-encrypted.c b/em-format/e-mail-parser-inlinepgp-encrypted.c index 1c0cd58e6e..ae008dca02 100644 --- a/em-format/e-mail-parser-inlinepgp-encrypted.c +++ b/em-format/e-mail-parser-inlinepgp-encrypted.c @@ -98,10 +98,20 @@ empe_inlinepgp_encrypted_parse (EMailParserExtension *extension, /* this ensures to show the 'opart' as inlined, if possible */ if (mime_type && g_ascii_strcasecmp (mime_type, "application/octet-stream") == 0) { - const gchar *snoop = e_mail_part_snoop_type (opart); + const gchar *snoop; - if (snoop) + snoop = e_mail_part_snoop_type (opart); + + if (snoop != NULL) { camel_data_wrapper_set_mime_type (dw, snoop); + + /* Set the MIME type on the 'opart' itself as well. + * If it's "text/plain", then we want the TextPlain + * parser extension to treat it as "text/plain" and + * NOT wrap it as an attachment. */ + camel_data_wrapper_set_mime_type ( + CAMEL_DATA_WRAPPER (opart), snoop); + } } e_mail_part_preserve_charset_in_content_type (part, opart); -- cgit v1.2.3