Fix line separator in exported messages (#1488603)

pull/20/head
Aleksander Machniak 12 years ago
parent 14c4677eed
commit de9497cea7

@ -1,6 +1,7 @@
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 href="javascript:" wasn't secured (#1488613)
- Fix impossible to create message with empty plain text part (#1488610)

@ -2128,14 +2128,17 @@ class rcube_imap extends rcube_storage
/**
* 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()) {
return;
}
$this->conn->handlePartBody($this->folder, $uid, true, NULL, NULL, true);
$this->conn->handlePartBody($this->folder, $uid, true, null, null, true, null, $formatted);
}

@ -2455,7 +2455,7 @@ class rcube_imap_generic
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)) {
return false;
@ -2572,7 +2572,7 @@ class rcube_imap_generic
continue;
$line = convert_uudecode($line);
// default
} else {
} else if ($formatted) {
$line = rtrim($line, "\t\r\n\0\x0B") . "\n";
}

@ -505,8 +505,11 @@ abstract class rcube_storage
/**
* 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);
/**

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

Loading…
Cancel
Save