From 957ac142e3c80db3b86df4f0db3b82cfa8856206 Mon Sep 17 00:00:00 2001 From: Thomas Bruederli <thomas@roundcube.net> Date: Wed, 15 Aug 2012 09:42:41 -0400 Subject: [PATCH] Merge branch 'master' of github.com:roundcube/roundcubemail --- CHANGELOG | 1 + program/include/rcube_imap.php | 7 +++++-- program/include/rcube_storage.php | 5 ++++- program/steps/mail/viewsource.inc | 2 +- program/include/rcube_imap_generic.php | 4 ++-- 5 files changed, 13 insertions(+), 6 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 37170fc..4cbaa6e 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -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) diff --git a/program/include/rcube_imap.php b/program/include/rcube_imap.php index 461ecb0..5dd9c12 100644 --- a/program/include/rcube_imap.php +++ b/program/include/rcube_imap.php @@ -2138,14 +2138,17 @@ /** * 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); } diff --git a/program/include/rcube_imap_generic.php b/program/include/rcube_imap_generic.php index 8d956f2..915a11a 100644 --- a/program/include/rcube_imap_generic.php +++ b/program/include/rcube_imap_generic.php @@ -2377,7 +2377,7 @@ 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 @@ continue; $line = convert_uudecode($line); // default - } else { + } else if ($formatted) { $line = rtrim($line, "\t\r\n\0\x0B") . "\n"; } diff --git a/program/include/rcube_storage.php b/program/include/rcube_storage.php index 1075b0f..768a26d 100644 --- a/program/include/rcube_storage.php +++ b/program/include/rcube_storage.php @@ -502,8 +502,11 @@ /** * 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); /** diff --git a/program/steps/mail/viewsource.inc b/program/steps/mail/viewsource.inc index 59ccb38..c560d7d 100644 --- a/program/steps/mail/viewsource.inc +++ b/program/steps/mail/viewsource.inc @@ -44,7 +44,7 @@ header("Content-Disposition: attachment; filename=\"$filename\""); } - $RCMAIL->storage->print_raw_body($uid); + $RCMAIL->storage->print_raw_body($uid, empty($_GET['_save'])); } else { -- Gitblit v1.9.1