Fix HTML part detection when encapsulated inside multipart/signed (#1489372)

pull/136/head
Aleksander Machniak 11 years ago
parent ff6de99ae4
commit 5a2d2a6f75

@ -1,6 +1,7 @@
CHANGELOG Roundcube Webmail CHANGELOG Roundcube Webmail
=========================== ===========================
- Fix HTML part detection when encapsulated inside multipart/signed (#1489372)
- Fix text wrapping issue with long unwrappable lines (#1489371) - Fix text wrapping issue with long unwrappable lines (#1489371)
- Add spellchecker backend for the After the Deadline service - Add spellchecker backend for the After the Deadline service
- Replace markdown-style [1] link indexes in plain text email bodies - Replace markdown-style [1] link indexes in plain text email bodies

@ -195,8 +195,6 @@ class rcube_message
/** /**
* Determine if the message contains a HTML part. This must to be * Determine if the message contains a HTML part. This must to be
* a real part not an attachment (or its part) * a real part not an attachment (or its part)
* This must to be
* a real part not an attachment (or its part)
* *
* @param bool $enriched Enables checking for text/enriched parts too * @param bool $enriched Enables checking for text/enriched parts too
* *
@ -214,14 +212,15 @@ class rcube_message
$level = explode('.', $part->mime_id); $level = explode('.', $part->mime_id);
// Check if the part belongs to higher-level's alternative/related // Check if the part belongs to higher-level's multipart part
// this can be alternative/related/signed/encrypted, but not mixed
while (array_pop($level) !== null) { while (array_pop($level) !== null) {
if (!count($level)) { if (!count($level)) {
return true; return true;
} }
$parent = $this->mime_parts[join('.', $level)]; $parent = $this->mime_parts[join('.', $level)];
if ($parent->mimetype != 'multipart/alternative' && $parent->mimetype != 'multipart/related') { if (!preg_match('/^multipart\/(alternative|related|signed|encrypted)$/', $parent->mimetype)) {
continue 2; continue 2;
} }
} }

Loading…
Cancel
Save