From 8794f16c620c58eb6d6505c988ed6bbbbec8dec7 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Wed, 20 Oct 2010 08:24:21 -0400
Subject: [PATCH] - Fix handling of attachments when Content-Disposition is not inline nor attachment (#1487051)

---
 CHANGELOG                         |    1 +
 program/include/rcube_message.php |    4 +++-
 2 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index 7f6c57b..b150215 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -36,6 +36,7 @@
 - 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 ec1359c..89d65eb 100644
--- a/program/include/rcube_message.php
+++ b/program/include/rcube_message.php
@@ -448,7 +448,9 @@
                 }
                 // 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')

--
Gitblit v1.9.1