Fix false warning when opening attached text/plain files (#1490241)

pull/264/head
Aleksander Machniak 10 years ago
parent b7c35d5bd9
commit 556d288754

@ -15,6 +15,7 @@ CHANGELOG Roundcube Webmail
- Fix bug where empty fieldmap config entries caused empty results of ldap search (#1490229) - 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 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 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 RELEASE 1.1-rc
-------------- --------------

@ -150,22 +150,22 @@ else if (strlen($part_id)) {
// accept text/plain with any extension // accept text/plain with any extension
if ($real_mimetype == 'text/plain' && $real_mimetype == $mimetype) { 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 // ignore differences in text/* mimetypes. Filetype detection isn't very reliable here
if ($real_ctype_primary == 'text' && strpos($mimetype, $real_ctype_primary) === 0) { else if ($real_ctype_primary == 'text' && strpos($mimetype, $real_ctype_primary) === 0) {
$real_mimetype = $mimetype; $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) // 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; $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 // fix mimetype for images wrongly declared as octet-stream
if ($mimetype == 'application/octet-stream' && strpos($real_mimetype, 'image/') === 0 && $valid_extension) { if ($mimetype == 'application/octet-stream' && strpos($real_mimetype, 'image/') === 0 && $valid_extension) {

Loading…
Cancel
Save