aboutsummaryrefslogtreecommitdiffstats
path: root/mail/mail-format.c
diff options
context:
space:
mode:
authorJeffrey Stedfast <fejj@ximian.com>2002-06-27 05:14:09 +0800
committerJeffrey Stedfast <fejj@src.gnome.org>2002-06-27 05:14:09 +0800
commit47400a031c1baef26a00584095ae647bc58dcecf (patch)
treeba062ffc93420ef045434d6507003e2eddd170c1 /mail/mail-format.c
parent26fb05c8cb7db57e500945ee5546e52363f2e4a6 (diff)
downloadgsoc2013-evolution-47400a031c1baef26a00584095ae647bc58dcecf.tar
gsoc2013-evolution-47400a031c1baef26a00584095ae647bc58dcecf.tar.gz
gsoc2013-evolution-47400a031c1baef26a00584095ae647bc58dcecf.tar.bz2
gsoc2013-evolution-47400a031c1baef26a00584095ae647bc58dcecf.tar.lz
gsoc2013-evolution-47400a031c1baef26a00584095ae647bc58dcecf.tar.xz
gsoc2013-evolution-47400a031c1baef26a00584095ae647bc58dcecf.tar.zst
gsoc2013-evolution-47400a031c1baef26a00584095ae647bc58dcecf.zip
Don't allow the pgp type to be anything except NONE or GPG.
2002-06-26 Jeffrey Stedfast <fejj@ximian.com> * mail-config.c (config_read): Don't allow the pgp type to be anything except NONE or GPG. * mail-preferences.c (mail_preferences_apply): Don't allow someone to use anything other than GnuPG. * mail-crypto.c (mail_crypto_get_pgp_cipher_context): No need to handle pgp5 or pgp6 types anymore since we are no longer supporting them. Ding dong the witch is dead! * mail-format.c (handle_multipart_encrypted): Rewritten to use camel_multipart_encrypted_decrypt. * mail-crypto.c (mail_crypto_pgp_mime_part_verify): Removed. (mail_crypto_pgp_mime_part_encrypt): Removed. (mail_crypto_pgp_mime_part_decrypt): Are we seeing a trend yet? svn path=/trunk/; revision=17301
Diffstat (limited to 'mail/mail-format.c')
-rw-r--r--mail/mail-format.c29
1 files changed, 15 insertions, 14 deletions
diff --git a/mail/mail-format.c b/mail/mail-format.c
index 4eeca49f44..39d6ec7f84 100644
--- a/mail/mail-format.c
+++ b/mail/mail-format.c
@@ -1742,20 +1742,24 @@ static gboolean
handle_multipart_encrypted (CamelMimePart *part, const char *mime_type,
MailDisplay *md, GtkHTML *html, GtkHTMLStream *stream)
{
- CamelDataWrapper *wrapper;
CamelMimePart *mime_part;
+ CamelCipherContext *cipher;
+ CamelDataWrapper *wrapper;
CamelException ex;
-
- wrapper = camel_medium_get_content_object (CAMEL_MEDIUM (part));
-
- g_return_val_if_fail (CAMEL_IS_MULTIPART (wrapper), FALSE);
+ gboolean handled;
/* Currently we only handle RFC2015-style PGP encryption. */
if (!camel_pgp_mime_is_rfc2015_encrypted (part))
return handle_multipart_mixed (part, mime_type, md, html, stream);
+ wrapper = camel_medium_get_content_object (CAMEL_MEDIUM (part));
+
+ g_assert (CAMEL_IS_MULTIPART (wrapper));
+
camel_exception_init (&ex);
- mime_part = mail_crypto_pgp_mime_part_decrypt (part, &ex);
+ cipher = mail_crypto_get_pgp_cipher_context (NULL);
+ mime_part = camel_multipart_encrypted_decrypt (part, cipher, &ex);
+ camel_object_unref (cipher);
if (camel_exception_is_set (&ex)) {
char *error;
@@ -1767,15 +1771,12 @@ handle_multipart_encrypted (CamelMimePart *part, const char *mime_type,
camel_exception_clear (&ex);
return TRUE;
- } else {
- /* replace the encrypted part with the decrypted part */
- camel_medium_set_content_object (CAMEL_MEDIUM (part),
- camel_medium_get_content_object (CAMEL_MEDIUM (mime_part)));
- camel_object_unref (CAMEL_OBJECT (mime_part));
-
- /* and continue on our merry way... */
- return format_mime_part (part, md, html, stream);
}
+
+ handled = format_mime_part (mime_part, md, html, stream);
+ camel_object_unref (mime_part);
+
+ return handled;
}
static gboolean