diff options
author | Aleksander Machniak <alec@alec.pl> | 2015-01-25 17:39:59 +0100 |
---|---|---|
committer | Aleksander Machniak <alec@alec.pl> | 2015-01-25 17:39:59 +0100 |
commit | 556d288754c13141b42f0a4dd4889078265c6f45 (patch) | |
tree | 9dfa052e907392cdac221c82f4efbc47d5eb6da3 | |
parent | b7c35d5bd9eb80040c971f2abea346aede6d3cac (diff) |
Fix false warning when opening attached text/plain files (#1490241)
-rw-r--r-- | CHANGELOG | 1 | ||||
-rw-r--r-- | program/steps/mail/get.inc | 20 |
2 files changed, 11 insertions, 10 deletions
@@ -15,6 +15,7 @@ CHANGELOG Roundcube Webmail - Fix bug where empty fieldmap config entries caused empty results of ldap search (#1490229) - Fix bug where drafts list wasn't refreshed after draft message was sent from another window (#1490238) - Fix keyboard navigation and css in datepicker widget across many Firefox versions +- Fix false warning when opening attached text/plain files (#1490241) RELEASE 1.1-rc -------------- diff --git a/program/steps/mail/get.inc b/program/steps/mail/get.inc index 150737a83..256af52b7 100644 --- a/program/steps/mail/get.inc +++ b/program/steps/mail/get.inc @@ -150,22 +150,22 @@ else if (strlen($part_id)) { // accept text/plain with any extension if ($real_mimetype == 'text/plain' && $real_mimetype == $mimetype) { - $file_extension = 'txt'; + $valid_extension = true; } - // ignore differences in text/* mimetypes. Filetype detection isn't very reliable here - if ($real_ctype_primary == 'text' && strpos($mimetype, $real_ctype_primary) === 0) { - $real_mimetype = $mimetype; + else if ($real_ctype_primary == 'text' && strpos($mimetype, $real_ctype_primary) === 0) { + $real_mimetype = $mimetype; + $valid_extension = true; } - - // get valid file extensions - $extensions = rcube_mime::get_mime_extensions($real_mimetype); - $valid_extension = (!$file_extension || in_array($file_extension, (array)$extensions)); - // ignore filename extension if mimeclass matches (#1489029) - if (!empty($_REQUEST['_mimeclass']) && $real_ctype_primary == $_REQUEST['_mimeclass']) { + else if (!empty($_REQUEST['_mimeclass']) && $real_ctype_primary == $_REQUEST['_mimeclass']) { $valid_extension = true; } + else { + // get valid file extensions + $extensions = rcube_mime::get_mime_extensions($real_mimetype); + $valid_extension = (!$file_extension || in_array($file_extension, (array)$extensions)); + } // fix mimetype for images wrongly declared as octet-stream if ($mimetype == 'application/octet-stream' && strpos($real_mimetype, 'image/') === 0 && $valid_extension) { |