aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2013-08-01 20:00:17 +0800
committerMatthew Barnes <mbarnes@redhat.com>2013-08-01 20:12:03 +0800
commitca67414c22d003f5e005cc05689efdec38dcd4e7 (patch)
tree3aa0212a0efcec0c4c7e5fea6431d000e9cd44e7
parent9f2b63e96abe929368ca6d9b5eb8f4b0dd97fd8d (diff)
downloadgsoc2013-evolution-ca67414c22d003f5e005cc05689efdec38dcd4e7.tar.gz
gsoc2013-evolution-ca67414c22d003f5e005cc05689efdec38dcd4e7.tar.zst
gsoc2013-evolution-ca67414c22d003f5e005cc05689efdec38dcd4e7.zip
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.
-rw-r--r--em-format/e-mail-parser-inlinepgp-encrypted.c14
1 files changed, 12 insertions, 2 deletions
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);