diff options
author | Not Zed <NotZed@Ximian.com> | 2005-08-19 13:38:22 +0800 |
---|---|---|
committer | Michael Zucci <zucchi@src.gnome.org> | 2005-08-19 13:38:22 +0800 |
commit | 64c94ae9ce11ad1c94c0361244b468df8f758745 (patch) | |
tree | 2cce9155c795dac503cb160487432a158af48936 /mail/em-format-html.c | |
parent | cb37c563afea6d1f7680fa845076992c749ee024 (diff) | |
download | gsoc2013-evolution-64c94ae9ce11ad1c94c0361244b468df8f758745.tar.gz gsoc2013-evolution-64c94ae9ce11ad1c94c0361244b468df8f758745.tar.zst gsoc2013-evolution-64c94ae9ce11ad1c94c0361244b468df8f758745.zip |
put the s/mime message back, awaiting string approval for a change
2005-08-19 Not Zed <NotZed@Ximian.com>
* em-format.c (emf_multipart_encrypted): put the s/mime message
back, awaiting string approval for a change otherwise.
2005-08-18 Not Zed <NotZed@Ximian.com>
* em-format-html-display.c (efhd_message_add_bar): dont add
attachment bar if it is disabled.
(efhd_attachment_button): dont add attachments if there is no bar.
* em-format.c (emf_inlinepgp_signed, emf_inlinepgp_encrypted): fix
the error messages for consistency. We dont need to check
content-type, since we only get called with the right one.
(emf_multipart_encrypted): fix up wrong s/mime error.
* em-format-html.c (efh_inlinepgp_signed)
(efh_inlinepgp_encrypted): moved to em-format.c; otherwise this
will break replying, etc.
** See #271894.
* em-format.c (emf_multipart_encrypted): use the content object's
content-type to check types.
svn path=/trunk/; revision=30161
Diffstat (limited to 'mail/em-format-html.c')
-rw-r--r-- | mail/em-format-html.c | 114 |
1 files changed, 0 insertions, 114 deletions
diff --git a/mail/em-format-html.c b/mail/em-format-html.c index 5e9b2626a9..7f06969297 100644 --- a/mail/em-format-html.c +++ b/mail/em-format-html.c @@ -48,7 +48,6 @@ #include <camel/camel-mime-filter.h> #include <camel/camel-mime-filter-tohtml.h> #include <camel/camel-mime-filter-enriched.h> -#include <camel/camel-mime-filter-pgp.h> #include <camel/camel-mime-filter-basic.h> #include <camel/camel-gpg-context.h> #include <camel/camel-cipher-context.h> @@ -660,117 +659,6 @@ efh_format_secure(EMFormat *emf, CamelStream *stream, CamelMimePart *part, Camel camel_stream_printf(stream, "</td></tr></table>"); } } - -static void -efh_inlinepgp_signed(EMFormatHTML *efh, CamelStream *stream, CamelMimePart *ipart, EMFormatHandler *info) -{ - - CamelCipherContext *cipher; - CamelCipherValidity *valid; - CamelException *ex; - CamelMimePart *opart=NULL; - CamelContentType *type; - CamelStreamFilter *filtered_stream; - CamelStream *ostream; - CamelDataWrapper *dw; - CamelMimeFilterPgp *pgp_filter; - - /* Check we're passed valid input */ - type = camel_mime_part_get_content_type(ipart); - if (!camel_content_type_is(type, "application", "x-inlinepgp-signed")) { - em_format_format_error((EMFormat *)efh, stream, - "Invalid mime type passed to inline PGP format"); - return; - } - - ex = camel_exception_new(); - cipher = camel_gpg_context_new (((EMFormat *)efh)->session); - /* Verify the signature of the message */ - valid = camel_cipher_verify(cipher, ipart, ex); - if (!valid) { - /* Display an error */ - em_format_format_error((EMFormat *)efh, stream, ex->desc ? ex->desc : - _("Unknown error verifying signed messaage")); - camel_exception_free(ex); - camel_object_unref(cipher); - return; - } - - /* Setup output stream */ - ostream = camel_stream_mem_new(); - filtered_stream = camel_stream_filter_new_with_stream(ostream); - - /* Add PGP header / footer filter */ - pgp_filter = (CamelMimeFilterPgp *)camel_mime_filter_pgp_new(); - camel_stream_filter_add(filtered_stream, (CamelMimeFilter *)pgp_filter); - camel_object_unref(pgp_filter); - - /* Pass through the filters that have been setup */ - dw = camel_medium_get_content_object((CamelMedium *)ipart); - camel_data_wrapper_decode_to_stream(dw, (CamelStream *)filtered_stream); - camel_stream_flush((CamelStream *)filtered_stream); - camel_object_unref(filtered_stream); - - /* Extract new part and display it as text/plain */ - dw = camel_data_wrapper_new(); - camel_data_wrapper_construct_from_stream(dw, ostream); - camel_data_wrapper_set_mime_type(dw, "text/plain"); - opart = camel_mime_part_new(); - camel_medium_set_content_object((CamelMedium *)opart, dw); - camel_mime_part_set_content_type(opart, "text/plain"); - - /* Pass it off to the real formatter */ - em_format_format_secure((EMFormat *)efh, stream, opart, valid); - - /* Clean Up */ - camel_object_unref(dw); - camel_object_unref(opart); - camel_object_unref(ostream); - camel_object_unref(cipher); - camel_exception_free(ex); -} - -static void -efh_inlinepgp_encrypted(EMFormatHTML *efh, CamelStream *stream, CamelMimePart *ipart, EMFormatHandler *info) -{ - CamelCipherContext *cipher; - CamelCipherValidity *valid; - CamelException *ex; - CamelMimePart *opart; - CamelContentType *type; - - /* Check we're passed valid input */ - type = camel_mime_part_get_content_type(ipart); - if (!camel_content_type_is(type, "application", "x-inlinepgp-encrypted")) { - em_format_format_error((EMFormat *)efh, stream, - "Invalid mime type passed to inline PGP format encrypted"); - return; - } - - cipher = camel_gpg_context_new (((EMFormat *)efh)->session); - ex = camel_exception_new(); - opart = camel_mime_part_new(); - /* Decrypt the message */ - valid = camel_cipher_decrypt (cipher, ipart, opart, ex); - if (!valid) { - /* Display an error */ - em_format_format_error((EMFormat *)efh, stream, ex->desc ? ex->desc : - _("Unknown error decrypting messaage")); - camel_exception_free(ex); - camel_object_unref(cipher); - camel_object_unref(opart); - return; - } - - /* Pass it off to the real formatter */ - em_format_format_secure((EMFormat *)efh, stream, opart, valid); - - /* Clean Up */ - camel_object_unref(opart); - camel_object_unref (cipher); - camel_exception_free (ex); -} - static void efh_text_plain(EMFormatHTML *efh, CamelStream *stream, CamelMimePart *part, EMFormatHandler *info) @@ -1227,8 +1115,6 @@ static EMFormatHandler type_builtin_table[] = { { "message/external-body", (EMFormatFunc)efh_message_external }, { "message/delivery-status", (EMFormatFunc)efh_message_deliverystatus }, { "multipart/related", (EMFormatFunc)efh_multipart_related }, - { "application/x-inlinepgp-signed", (EMFormatFunc)efh_inlinepgp_signed }, - { "application/x-inlinepgp-encrypted", (EMFormatFunc)efh_inlinepgp_encrypted }, /* This is where one adds those busted, non-registered types, that some idiot mailer writers out there decide to pull out |