Aleksander Machniak
2012-08-15 de9497cea760849a05f52848b9a670a7006b97d6
Fix line separator in exported messages (#1488603)
5 files modified
19 ■■■■■ changed files
CHANGELOG 1 ●●●● patch | view | raw | blame | history
program/include/rcube_imap.php 7 ●●●● patch | view | raw | blame | history
program/include/rcube_imap_generic.php 4 ●●●● patch | view | raw | blame | history
program/include/rcube_storage.php 5 ●●●● patch | view | raw | blame | history
program/steps/mail/viewsource.inc 2 ●●● patch | view | raw | blame | history
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)
program/include/rcube_imap.php
@@ -2128,14 +2128,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);
    }
program/include/rcube_imap_generic.php
@@ -2455,7 +2455,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;
@@ -2572,7 +2572,7 @@
                        continue;
                    $line = convert_uudecode($line);
                // default
                } else {
                } else if ($formatted) {
                    $line = rtrim($line, "\t\r\n\0\x0B") . "\n";
                }
program/include/rcube_storage.php
@@ -505,8 +505,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);
    /**
program/steps/mail/viewsource.inc
@@ -47,7 +47,7 @@
    header("Content-Disposition: attachment; filename=\"$filename\"");
  }
  $RCMAIL->storage->print_raw_body($uid);
  $RCMAIL->storage->print_raw_body($uid, empty($_GET['_save']));
}
else
{