summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoralecpl <alec@alec.pl>2010-10-20 12:24:21 +0000
committeralecpl <alec@alec.pl>2010-10-20 12:24:21 +0000
commit8794f16c620c58eb6d6505c988ed6bbbbec8dec7 (patch)
tree9c811a7e09616c25d6e6e0c66a3ae4cbbee49102
parente0bd7054b7e566bf156e8afdc6d4c790fed0c0f2 (diff)
- Fix handling of attachments when Content-Disposition is not inline nor attachment (#1487051)
-rw-r--r--CHANGELOG1
-rw-r--r--program/include/rcube_message.php4
2 files changed, 4 insertions, 1 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 7f6c57bf8..b1502152d 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -36,6 +36,7 @@ CHANGELOG Roundcube Webmail
- Add ANNOTATEMORE extension support into IMAP classes (draft-daboo-imap-annotatemore)
- Add METADATA extension support into IMAP classes (RFC5464)
- Fix decoding of e-mail address strings in message headers (#1487068)
+- Fix handling of attachments when Content-Disposition is not inline nor attachment (#1487051)
RELEASE 0.4.2
-------------
diff --git a/program/include/rcube_message.php b/program/include/rcube_message.php
index ec1359c86..89d65eb1e 100644
--- a/program/include/rcube_message.php
+++ b/program/include/rcube_message.php
@@ -448,7 +448,9 @@ class rcube_message
}
// part is a file/attachment
else if (preg_match('/^(inline|attach)/', $mail_part->disposition) ||
- $mail_part->headers['content-id'] || (empty($mail_part->disposition) && $mail_part->filename)
+ $mail_part->headers['content-id'] ||
+ ($mail_part->filename &&
+ (empty($mail_part->disposition) || preg_match('/^[a-z0-9!#$&.+^_-]+$/i', $mail_part->disposition)))
) {
// skip apple resource forks
if ($message_ctype_secondary == 'appledouble' && $secondary_type == 'applefile')