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
===========================
- 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)

@ -2138,14 +2138,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);
}

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

@ -502,8 +502,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);
/**

@ -44,7 +44,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