diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2013-08-01 20:00:17 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2013-08-01 20:12:03 +0800 |
commit | ca67414c22d003f5e005cc05689efdec38dcd4e7 (patch) | |
tree | 3aa0212a0efcec0c4c7e5fea6431d000e9cd44e7 | |
parent | 9f2b63e96abe929368ca6d9b5eb8f4b0dd97fd8d (diff) | |
download | gsoc2013-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.c | 14 |
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); |