From 556d288754c13141b42f0a4dd4889078265c6f45 Mon Sep 17 00:00:00 2001 From: Aleksander Machniak Date: Sun, 25 Jan 2015 17:39:59 +0100 Subject: Fix false warning when opening attached text/plain files (#1490241) --- CHANGELOG | 1 + program/steps/mail/get.inc | 20 ++++++++++---------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 53c24040a..17abd142a 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -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) { -- cgit v1.2.3