From 556d288754c13141b42f0a4dd4889078265c6f45 Mon Sep 17 00:00:00 2001 From: Aleksander Machniak <alec@alec.pl> Date: Sun, 25 Jan 2015 11:39:59 -0500 Subject: [PATCH] Fix false warning when opening attached text/plain files (#1490241) --- CHANGELOG | 1 + program/steps/mail/get.inc | 28 ++++++++++++++-------------- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 53c2404..17abd14 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -15,6 +15,7 @@ - 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 150737a..256af52 100644 --- a/program/steps/mail/get.inc +++ b/program/steps/mail/get.inc @@ -150,22 +150,22 @@ // accept text/plain with any extension if ($real_mimetype == 'text/plain' && $real_mimetype == $mimetype) { - $file_extension = 'txt'; - } - - // 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; - } - - // 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']) { $valid_extension = true; } + // ignore differences in text/* mimetypes. Filetype detection isn't very reliable here + else if ($real_ctype_primary == 'text' && strpos($mimetype, $real_ctype_primary) === 0) { + $real_mimetype = $mimetype; + $valid_extension = true; + } + // ignore filename extension if mimeclass matches (#1489029) + 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) { -- Gitblit v1.9.1