diff options
author | alecpl <alec@alec.pl> | 2011-02-09 12:46:46 +0000 |
---|---|---|
committer | alecpl <alec@alec.pl> | 2011-02-09 12:46:46 +0000 |
commit | 99897b7c4e52a5ff026c3828b84653f460f571f0 (patch) | |
tree | 77adf36cf7584a11ebb76f7aff26a652b0d36561 /program/include/rcube_message.php | |
parent | dcc790013f6644accc73496507c5ce77e236734d (diff) |
- Merged r4512, r4514, r4515
Diffstat (limited to 'program/include/rcube_message.php')
-rw-r--r-- | program/include/rcube_message.php | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/program/include/rcube_message.php b/program/include/rcube_message.php index 75b55fee0..5c0773815 100644 --- a/program/include/rcube_message.php +++ b/program/include/rcube_message.php @@ -478,10 +478,21 @@ class rcube_message if (!empty($mail_part->filename)) $this->attachments[] = $mail_part; } - // is a regular attachment (content-type name regexp according to RFC4288.4.2) + // regular attachment with valid content type + // (content-type name regexp according to RFC4288.4.2) else if (preg_match('/^[a-z0-9!#$&.+^_-]+\/[a-z0-9!#$&.+^_-]+$/i', $part_mimetype)) { if (!$mail_part->filename) $mail_part->filename = 'Part '.$mail_part->mime_id; + + $this->attachments[] = $mail_part; + } + // attachment with invalid content type + // replace malformed content type with application/octet-stream (#1487767) + else if ($mail_part->filename) { + $mail_part->ctype_primary = 'application'; + $mail_part->ctype_secondary = 'octet-stream'; + $mail_part->mimetype = 'application/octet-stream'; + $this->attachments[] = $mail_part; } } |