From 3167e58ff9ef331c52dc068ac4804eb694abded3 Mon Sep 17 00:00:00 2001 From: Thomas Bruederli Date: Wed, 3 Jun 2015 10:29:49 +0200 Subject: [PATCH] Pass encrypted draft and reply messages to Mailvelope editor; add toolbar icon for encryption mode toggeling --- program/js/app.js | 44 +++++++++++-- program/localization/en_US/messages.inc | 1 + program/steps/mail/compose.inc | 78 +++++++++++++++++++----- skins/larry/images/buttons.png | Bin 15699 -> 40319 bytes skins/larry/mail.css | 5 ++ skins/larry/styles.css | 8 +++ 6 files changed, 117 insertions(+), 19 deletions(-) diff --git a/program/js/app.js b/program/js/app.js index 36694b29d..09baeabea 100644 --- a/program/js/app.js +++ b/program/js/app.js @@ -3396,8 +3396,7 @@ function rcube_webmail() type: 'GET', url: this.url('get', { '_mbox': this.env.mailbox, '_uid': this.env.uid, '_part': this.env.pgp_mime_part }), error: function(o, status, err) { - ref.hide_message(msgkey); - ref.http_error(o, status, err, lock); + ref.http_error(o, status, err, msgid); }, success: function(data) { ref.mailvelope_display_container(selector, data, keyring, msgid); @@ -3406,11 +3405,31 @@ function rcube_webmail() } } else if (action == 'compose' && window.mailvelope) { - this.enable_command('compose-encrypted', true); + if (this.env.pgp_mime_message) { + // fetch PGP/Mime part and open load into Mailvelope editor + var lock = this.set_busy(true, this.get_label('loadingdata')); + $.ajax({ + type: 'GET', + url: this.url('get', this.env.pgp_mime_message), + error: function(o, status, err) { + ref.http_error(o, status, err, lock); + ref.enable_command('compose-encrypted', true); + }, + success: function(data) { + ref.set_busy(false, null, lock); + ref.compose_encrypted({ quotedMail: data }); + ref.enable_command('compose-encrypted', true); + } + }); + } + else { + // enable encrypted compose toggle + this.enable_command('compose-encrypted', true); + } } }; - // handler for the 'compose-encrypt' command + // handler for the 'compose-encrypted' command this.compose_encrypted = function(props) { var container = $('#' + this.env.composebody).parent(); @@ -3429,6 +3448,14 @@ function rcube_webmail() // embed Mailvelope editor container else { var options = { predefinedText: $('#' + this.env.composebody).val() }; + if (props.quotedMail) { + options = { quotedMail: props.quotedMail, quotedMailIndent: false }; + } + if (this.env.compose_mode == 'reply') { + options.quotedMailIndent = true; + options.quotedMailHeader = this.env.compose_reply_header; + } + mailvelope.createEditorContainer('#' + container.attr('id'), ref.mailvelope_keyring, options).then(function(editor) { ref.mailvelope_editor = editor; ref.compose_skip_unsavedcheck = true; @@ -3436,6 +3463,15 @@ function rcube_webmail() container.addClass('mailvelope'); $('#' + ref.env.composebody).hide(); + + // notify user about loosing attachments + if (ref.env.attachments && !$.isEmptyObject(ref.env.attachments)) { + alert(ref.get_label('encryptnoattachments')); + + $.each(ref.env.attachments, function(name, attach) { + ref.remove_from_attachment_list(name); + }); + } }).catch(function(err) { console.error(err); }); diff --git a/program/localization/en_US/messages.inc b/program/localization/en_US/messages.inc index be8a0d8f7..acb42823c 100644 --- a/program/localization/en_US/messages.inc +++ b/program/localization/en_US/messages.inc @@ -59,6 +59,7 @@ $messages['encryptedmessage'] = 'This is an encrypted message and can not be dis $messages['externalmessagedecryption'] = 'This is an encrypted message and can be decrypted with your browser extension.'; $messages['nopubkeyfor'] = 'No valid public key found for $email'; $messages['nopubkeyforsender'] = 'No valid public key found for your sender identity. Do you want to encrypt the message for the recipients only?'; +$messages['encryptnoattachments'] = 'Alraady uploaded attachments cannot be encrypted. Please re-add them in the encryption editor.'; $messages['nocontactsfound'] = 'No contacts found.'; $messages['contactnotfound'] = 'The requested contact was not found.'; $messages['contactsearchonly'] = 'Enter some search terms to find contacts'; diff --git a/program/steps/mail/compose.inc b/program/steps/mail/compose.inc index 1896e93d2..6989c3a8e 100644 --- a/program/steps/mail/compose.inc +++ b/program/steps/mail/compose.inc @@ -83,7 +83,8 @@ $OUTPUT->add_label('nosubject', 'nosenderwarning', 'norecipientwarning', 'nosubj 'messagesaved', 'converting', 'editorwarning', 'searching', 'uploading', 'uploadingmany', 'fileuploaderror', 'sendmessage', 'newresponse', 'responsename', 'responsetext', 'save', 'savingresponse', 'restoresavedcomposedata', 'restoremessage', 'delete', 'restore', 'ignore', - 'selectimportfile', 'messageissent', 'nopubkeyfor', 'nopubkeyforsender'); + 'selectimportfile', 'messageissent', 'loadingdata', 'nopubkeyfor', 'nopubkeyforsender', + 'encryptnoattachments'); $OUTPUT->set_pagetitle($RCMAIL->gettext('compose')); @@ -749,6 +750,21 @@ function rcmail_prepare_message_body() } foreach ($MESSAGE->parts as $part) { + if ($part->realtype == 'multipart/encrypted') { + // find the encrypted message payload part + foreach ($MESSAGE->mime_parts as $mime_id => $mpart) { + if ($mpart->mimetype == 'application/octet-stream' || !empty($mpart->filename)) { + $RCMAIL->output->set_env('pgp_mime_message', array( + '_mbox' => $RCMAIL->storage->get_folder(), '_uid' => $MESSAGE->uid, '_part' => $mime_id, + )); + $RCMAIL->output->set_env('compose_mode', $compose_mode); + $MESSAGE->pgp_mime = true; + break; + } + } + continue; + } + // skip no-content and attachment parts (#1488557) if ($part->type != 'content' || !$part->size || $MESSAGE->is_attachment($part)) { continue; @@ -771,14 +787,21 @@ function rcmail_prepare_message_body() } // compose reply-body - if ($compose_mode == RCUBE_COMPOSE_REPLY) + if ($compose_mode == RCUBE_COMPOSE_REPLY) { $body = rcmail_create_reply_body($body, $isHtml); + + if ($MESSAGE->pgp_mime) { + $RCMAIL->output->set_env('compose_reply_header', rcmail_get_reply_header($MESSAGE)); + } + } // forward message body inline - else if ($compose_mode == RCUBE_COMPOSE_FORWARD) + else if ($compose_mode == RCUBE_COMPOSE_FORWARD) { $body = rcmail_create_forward_body($body, $isHtml); + } // load draft message body - else if ($compose_mode == RCUBE_COMPOSE_DRAFT || $compose_mode == RCUBE_COMPOSE_EDIT) + else if ($compose_mode == RCUBE_COMPOSE_DRAFT || $compose_mode == RCUBE_COMPOSE_EDIT) { $body = rcmail_create_draft_body($body, $isHtml); + } } else { // new message $isHtml = rcmail_compose_editor_mode(); @@ -808,7 +831,7 @@ function rcmail_prepare_message_body() function rcmail_compose_part_body($part, $isHtml = false) { - global $RCMAIL, $MESSAGE, $LINE_LENGTH, $compose_mode; + global $RCMAIL, $COMPOSE, $MESSAGE, $LINE_LENGTH, $compose_mode; // Check if we have enough memory to handle the message in it // #1487424: we need up to 10x more memory than the body @@ -824,6 +847,14 @@ function rcmail_compose_part_body($part, $isHtml = false) return ''; } + // register this part as pgp encrypted + if (strpos($body, 'BEGIN PGP MESSAGE') !== false) { + $MESSAGE->pgp_mime = true; + $RCMAIL->output->set_env('pgp_mime_message', array( + '_mbox' => $RCMAIL->storage->get_folder(), '_uid' => $MESSAGE->uid, '_part' => $part->mime_id, + )); + } + if ($isHtml) { if ($part->ctype_secondary == 'html') { } @@ -990,16 +1021,7 @@ function rcmail_create_reply_body($body, $bodyIsHtml) { global $RCMAIL, $MESSAGE, $LINE_LENGTH; - // build reply prefix - $from = array_pop(rcube_mime::decode_address_list($MESSAGE->get_header('from'), 1, false, $MESSAGE->headers->charset)); - $prefix = $RCMAIL->gettext(array( - 'name' => 'mailreplyintro', - 'vars' => array( - 'date' => $RCMAIL->format_date($MESSAGE->headers->date, $RCMAIL->config->get('date_long')), - 'sender' => $from['name'] ? $from['name'] : rcube_utils::idn_to_utf8($from['mailto']), - ) - )); - + $prefix = rcmail_get_reply_header($MESSAGE); $reply_mode = intval($RCMAIL->config->get('reply_mode')); if (!$bodyIsHtml) { @@ -1043,6 +1065,19 @@ function rcmail_create_reply_body($body, $bodyIsHtml) return $prefix . $body . $suffix; } +function rcmail_get_reply_header($message) +{ + global $RCMAIL; + + $from = array_pop(rcube_mime::decode_address_list($message->get_header('from'), 1, false, $message->headers->charset)); + return $RCMAIL->gettext(array( + 'name' => 'mailreplyintro', + 'vars' => array( + 'date' => $RCMAIL->format_date($message->headers->date, $RCMAIL->config->get('date_long')), + 'sender' => $from['name'] ?: rcube_utils::idn_to_utf8($from['mailto']), + ) + )); +} function rcmail_create_forward_body($body, $bodyIsHtml) { @@ -1170,6 +1205,10 @@ function rcmail_write_compose_attachments(&$message, $bodyIsHtml) $cid_map = array(); $messages = array(); + if ($message->pgp_mime) { + return $cid_map; + } + foreach ((array)$message->mime_parts as $pid => $part) { if ($part->disposition == 'attachment' || ($part->disposition == 'inline' && $bodyIsHtml) || $part->filename) { // skip parts that aren't valid attachments @@ -1236,6 +1275,11 @@ function rcmail_write_inline_attachments(&$message) global $RCMAIL, $COMPOSE; $cid_map = array(); + + if ($message->pgp_mime) { + return $cid_map; + } + foreach ((array)$message->mime_parts as $pid => $part) { if (($part->content_id || $part->content_location) && $part->filename) { if ($attachment = rcmail_save_attachment($message, $pid)) { @@ -1263,6 +1307,10 @@ function rcmail_write_forward_attachments() $names = array(); $refs = array(); + if ($MESSAGE->pgp_mime) { + return; + } + $loaded_attachments = array(); foreach ((array)$COMPOSE['attachments'] as $attachment) { $loaded_attachments[$attachment['name'] . $attachment['mimetype']] = $attachment; diff --git a/skins/larry/images/buttons.png b/skins/larry/images/buttons.png index 713ac169aadc1e91f732ea65570adcba0955e260..bd3e29d898762dd5a9d6675cf26a660c980732fb 100644 GIT binary patch literal 40319 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 iframe[scrolling='no'] { position: relative; top: -12px; diff --git a/skins/larry/styles.css b/skins/larry/styles.css index e418e0a98..581c2567a 100644 --- a/skins/larry/styles.css +++ b/skins/larry/styles.css @@ -2160,6 +2160,14 @@ ul.proplist li { background-position: center -1932px; } +.toolbar a.button.encrypt { + background-position: center -2025px; +} + +.toolbar a.button.encrypt.selected { + background-position: center -2065px; +} + a.menuselector { display: inline-block; border: 1px solid #ababab;