Fix handling of uuencoded messages if messages_cache is enabled (#1490108)

pull/236/merge
Aleksander Machniak 10 years ago
parent d165d11012
commit 2268aa676d

@ -56,6 +56,7 @@ CHANGELOG Roundcube Webmail
- Fix displaying of HTML messages with absolutely positioned elements in Larry skin (#1490103) - 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 font style display issue in HTML messages with styled <span> elements (#1490101)
- Fix download of attachments that are part of TNEF message (#1490091) - 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 RELEASE 1.0.3
------------- -------------

@ -1245,13 +1245,15 @@ class rcube_imap_cache
private function message_object_prepare(&$msg, &$size = 0) private function message_object_prepare(&$msg, &$size = 0)
{ {
// Remove body too big // Remove body too big
if ($msg->body && ($length = strlen($msg->body))) { if (isset($msg->body)) {
$size += $length; $length = strlen($msg->body);
if ($size > $this->threshold * 1024) { if ($msg->body_modified || $size + $length > $this->threshold * 1024) {
$size -= $length;
unset($msg->body); unset($msg->body);
} }
else {
$size += $length;
}
} }
// Fix mimetype which might be broken by some code when message is displayed // Fix mimetype which might be broken by some code when message is displayed

@ -899,13 +899,6 @@ class rcube_message
break; 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]; $endpos = $m[0][1];
$begin_len = strlen($matches[0][0]); $begin_len = strlen($matches[0][0]);
$end_len = strlen($m[0][0]); $end_len = strlen($m[0][0]);
@ -916,6 +909,8 @@ class rcube_message
// remove attachment body from the message body // remove attachment body from the message body
$part->body = substr_replace($part->body, '', $startpos, $endpos + $end_len - $startpos); $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 // add attachments to the structure
$uupart = new rcube_message_part; $uupart = new rcube_message_part;

Loading…
Cancel
Save