Aleksander Machniak
2014-10-22 2268aa676d4f21f0f26b4c802c6fb9c2c631d206
Fix handling of uuencoded messages if messages_cache is enabled (#1490108)
3 files modified
20 ■■■■■ changed files
CHANGELOG 1 ●●●● patch | view | raw | blame | history
program/lib/Roundcube/rcube_imap_cache.php 10 ●●●●● patch | view | raw | blame | history
program/lib/Roundcube/rcube_message.php 9 ●●●● patch | view | raw | blame | history
CHANGELOG
@@ -56,6 +56,7 @@
- Fix displaying of HTML messages with absolutely positioned elements in Larry skin (#1490103)
- Fix font style display issue in HTML messages with styled <span> elements (#1490101)
- Fix download of attachments that are part of TNEF message (#1490091)
- Fix handling of uuencoded messages if messages_cache is enabled (#1490108)
RELEASE 1.0.3
-------------
program/lib/Roundcube/rcube_imap_cache.php
@@ -1245,13 +1245,15 @@
    private function message_object_prepare(&$msg, &$size = 0)
    {
        // Remove body too big
        if ($msg->body && ($length = strlen($msg->body))) {
            $size += $length;
        if (isset($msg->body)) {
            $length = strlen($msg->body);
            if ($size > $this->threshold * 1024) {
                $size -= $length;
            if ($msg->body_modified || $size + $length > $this->threshold * 1024) {
                unset($msg->body);
            }
            else {
                $size += $length;
            }
        }
        // Fix mimetype which might be broken by some code when message is displayed
program/lib/Roundcube/rcube_message.php
@@ -899,13 +899,6 @@
                break;
            }
            // update message content-type
            if ($part->mimetype != 'multipart/mixed') {
                $part->ctype_primary   = 'multipart';
                $part->ctype_secondary = 'mixed';
                $part->mimetype        = $part->ctype_primary . '/' . $part->ctype_secondary;
            }
            $endpos    = $m[0][1];
            $begin_len = strlen($matches[0][0]);
            $end_len   = strlen($m[0][0]);
@@ -916,6 +909,8 @@
            // remove attachment body from the message body
            $part->body = substr_replace($part->body, '', $startpos, $endpos + $end_len - $startpos);
            // mark body as modified so it will not be cached by rcube_imap_cache
            $part->body_modified = true;
            // add attachments to the structure
            $uupart = new rcube_message_part;