Fix line separator in exported messages (#1488603)

pull/19/head
Aleksander Machniak 12 years ago
parent c086978f6a
commit fb2f825cd9

@ -1,6 +1,7 @@
CHANGELOG Roundcube Webmail CHANGELOG Roundcube Webmail
=========================== ===========================
- Fix line separator in exported messages (#1488603)
- Fix XSS issue where plain signatures wasn't secured in HTML mode (#1488613) - Fix XSS issue where plain signatures wasn't secured in HTML mode (#1488613)
- Fix XSS issue where href="javascript:" wasn't secured (#1488613) - Fix XSS issue where href="javascript:" wasn't secured (#1488613)
- Fix impossible to create message with empty plain text part (#1488610) - Fix impossible to create message with empty plain text part (#1488610)

@ -2138,14 +2138,17 @@ class rcube_imap extends rcube_storage
/** /**
* Sends the whole message source to stdout * Sends the whole message source to stdout
*
* @param int $uid Message UID
* @param bool $formatted Enables line-ending formatting
*/ */
public function print_raw_body($uid) public function print_raw_body($uid, $formatted = true)
{ {
if (!$this->check_connection()) { if (!$this->check_connection()) {
return; return;
} }
$this->conn->handlePartBody($this->folder, $uid, true, NULL, NULL, true); $this->conn->handlePartBody($this->folder, $uid, true, null, null, true, null, $formatted);
} }

@ -2377,7 +2377,7 @@ class rcube_imap_generic
return $this->handlePartBody($mailbox, $id, $is_uid, $part); return $this->handlePartBody($mailbox, $id, $is_uid, $part);
} }
function handlePartBody($mailbox, $id, $is_uid=false, $part='', $encoding=NULL, $print=NULL, $file=NULL) function handlePartBody($mailbox, $id, $is_uid=false, $part='', $encoding=NULL, $print=NULL, $file=NULL, $formatted=true)
{ {
if (!$this->select($mailbox)) { if (!$this->select($mailbox)) {
return false; return false;
@ -2494,7 +2494,7 @@ class rcube_imap_generic
continue; continue;
$line = convert_uudecode($line); $line = convert_uudecode($line);
// default // default
} else { } else if ($formatted) {
$line = rtrim($line, "\t\r\n\0\x0B") . "\n"; $line = rtrim($line, "\t\r\n\0\x0B") . "\n";
} }

@ -502,8 +502,11 @@ abstract class rcube_storage
/** /**
* Sends the whole message source to stdout * Sends the whole message source to stdout
*
* @param int $uid Message UID
* @param bool $formatted Enables line-ending formatting
*/ */
abstract function print_raw_body($uid); abstract function print_raw_body($uid, $formatted = true);
/** /**

@ -44,7 +44,7 @@ if ($uid = get_input_value('_uid', RCUBE_INPUT_GET))
header("Content-Disposition: attachment; filename=\"$filename\""); header("Content-Disposition: attachment; filename=\"$filename\"");
} }
$RCMAIL->storage->print_raw_body($uid); $RCMAIL->storage->print_raw_body($uid, empty($_GET['_save']));
} }
else else
{ {

Loading…
Cancel
Save