? ? ? ? Pending

User tests: Successful: Unsuccessful:

avatar zero-24
zero-24
17 May 2017

Pull Request for Issue #16086

Summary of Changes

If you have installed 3.7.1 and try to upload using com_media a file which is not a image you got an error that you can't upload it.

I have now:

  • Improved the checks
  • show the failing mime to the use
  • make sure that images are checked with the image functions and other files with the other checks
  • implemented a fallback for images
  • fixed a longstanding issuse with finfo_open (FILEINFO_MIME vs. FILEINFO_MIME_TYPE)

Testing Instructions

  • install 3.7.1
  • try to upload a PDF file.
  • it fails
  • try to upload a jpg file
  • it works
  • apply this patch
  • try the PDF and the image again
  • it works now

Now go to the options and don't allow uploading jpg images and PDF files (by removing the jpg & PDF mime from the allowed mime types

  • try to upload a jpg again
  • it should not work but now show the failing mime type. (image/jpg)
  • do the same for a PDF
  • it should also show the failing mime.

Expected result

If allowed the upload should work if not it should show the mime we detected to the user.

Actual result

non image files can't be uploaded using the media manger

Documentation Changes Required

none.

Votes

# of Users Experiencing Issue
1/1
Average Importance Score
5.00

avatar zero-24 zero-24 - open - 17 May 2017
avatar zero-24 zero-24 - change - 17 May 2017
Status New Pending
avatar joomla-cms-bot joomla-cms-bot - change - 17 May 2017
Category Administration Language & Strings Libraries
avatar zero-24 zero-24 - change - 17 May 2017
The description was changed
avatar zero-24 zero-24 - edited - 17 May 2017
avatar zero-24 zero-24 - change - 17 May 2017
Labels Added: ? ?
3a34785 17 May 2017 avatar zero-24 drone
avatar zero-24
zero-24 - comment - 17 May 2017

Should be fixed now thanks @Quy !

avatar PhilETaylor
PhilETaylor - comment - 17 May 2017

@rdeutz Joomla 3.7.2 please

avatar PhilETaylor PhilETaylor - test_item - 17 May 2017 - Tested successfully
avatar Quy
Quy - comment - 17 May 2017

Uploaded a PDF file and got the error Invalid mime type detected. and in the PHP error log:

PHP Notice:  Undefined variable: mime in C:\xampp\htdocs\joomla371\libraries\cms\helper\media.php on line 92
PHP Notice:  Undefined variable: mime in C:\xampp\htdocs\joomla371\libraries\cms\helper\media.php on line 98
avatar N6REJ
N6REJ - comment - 18 May 2017

following

avatar infograf768
infograf768 - comment - 18 May 2017

Except for the cs #16091 (comment) this works for me

avatar franz-wohlkoenig
franz-wohlkoenig - comment - 18 May 2017

I have tested this item successfully on efc334f


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/16091.

avatar franz-wohlkoenig franz-wohlkoenig - test_item - 18 May 2017 - Tested successfully
avatar franz-wohlkoenig
franz-wohlkoenig - comment - 18 May 2017

set RTC, @infograf768?

avatar infograf768
infograf768 - comment - 18 May 2017

Waiting for
$mime = (isset($imagesize['mime'])) ? $imagesize['mime'] : false;
to be corrected to
$mime = isset($imagesize['mime']) ? $imagesize['mime'] : false;

avatar wilsonge
wilsonge - comment - 18 May 2017

Quy's php notices need to be investigated before this can go RTC - clearly in some cases this isn't working fully

avatar zero-24 zero-24 - change - 18 May 2017
Labels Added: ?
avatar zero-24
zero-24 - comment - 18 May 2017

@Quy

This should be fixed with: 298959e

But this shows that you have both checker not enabled which is a problem.

avatar zero-24
zero-24 - comment - 18 May 2017

All issues mentiond above should be fixed now please test.

avatar infograf768
infograf768 - comment - 18 May 2017

I have tested this item successfully on 672e183


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/16091.

avatar infograf768 infograf768 - test_item - 18 May 2017 - Tested successfully
avatar franz-wohlkoenig
franz-wohlkoenig - comment - 18 May 2017

I have tested this item successfully on 672e183


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/16091.

avatar franz-wohlkoenig franz-wohlkoenig - test_item - 18 May 2017 - Tested successfully
avatar wilsonge
wilsonge - comment - 18 May 2017

@Quy can you give this a test again please?

avatar franz-wohlkoenig
franz-wohlkoenig - comment - 18 May 2017

@wilsonge can you give a Go if RTC-ready?

avatar wilsonge
wilsonge - comment - 18 May 2017

If this fixes the issues @Quy had then it's RTC ready :)

avatar franz-wohlkoenig
franz-wohlkoenig - comment - 18 May 2017

@Quy can you give a Go for RTC if issues are fixed?

avatar Quy
Quy - comment - 18 May 2017

My testing machine does not have functions mime_content_type and finfo_open, therefore, no mime type is determined (false). The PHP notices are fixed. I will test it on a live server.

avatar Quy
Quy - comment - 18 May 2017

But this shows that you have both checker not enabled which is a problem.

Yes, this is the case with my XAMPP install, but not on the live server. This PR should be fine.

avatar Quy
Quy - comment - 18 May 2017

Don't RTC yet as there are minor changes to be made.

avatar infograf768
infograf768 - comment - 19 May 2017

We still have some typos in comments

0c89e50 19 May 2017 avatar brianteeman type
avatar brianteeman
brianteeman - comment - 19 May 2017

I spotted one typo and fixed it at 0c89e50 i didn't immediately see any others

avatar zero-24
zero-24 - comment - 19 May 2017

Thanks for the corrections.

avatar infograf768 infograf768 - change - 19 May 2017
Status Pending Ready to Commit
Labels
avatar infograf768
infograf768 - comment - 19 May 2017

RTC as the last changes only concerned typos in comments.


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/16091.

avatar wilsonge wilsonge - change - 19 May 2017
Status Ready to Commit Fixed in Code Base
Closed_Date 0000-00-00 00:00:00 2017-05-19 14:05:47
Closed_By wilsonge
Labels Added: ?
avatar wilsonge wilsonge - close - 19 May 2017
avatar wilsonge wilsonge - merge - 19 May 2017
avatar zero-24
zero-24 - comment - 19 May 2017

Thanks. I'm very sorry that I broke that with my first patch.

avatar EndeavorC
EndeavorC - comment - 20 May 2017

Would someone please confirm that the changes in the media.php file correct the issue. I performed the code changes as stated in the fix and it did not resolve this issue for my site. For the site I support the users have editor (front end) access only, trying to upload an image from the front end fails with the invalid mime type error. I did not specify the language files but they were updated as well.


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/16091.

avatar zero-24
zero-24 - comment - 20 May 2017

Hmm. What kind of error do you get if any mime could be detected we show it now to you. (after the changes) can you please confirm that you have atleast on of the modules installed? Please also share the image you tried to upload so we can reproduce and test. Thanks

avatar EndeavorC
EndeavorC - comment - 20 May 2017

I receive the following errors when logged on with a user that has editor permissions with any jpg file, I have not tried other file types:

Error
Illegal mime type detected: image/jpeg

Warning
Unable to Upload File.

I am able to upload jpg files from the administrator (back end) of the website. I have attached the file with the PHP information for the server.

Unfortunately for my site this bug is a show stopper, I had to upload the 3.7.0 files to replace the affected files for our volunteers to work.

Please let me know if you need any other information.

Thank you

systeminfo-2017-05-20.txt


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/16091.

avatar zero-24
zero-24 - comment - 20 May 2017

I receive the following errors when logged on with a user that has editor permissions with any jpg file, > I have not tried other file types:

Error
Illegal mime type detected: image/jpeg

Please check the Legal MIME Types setting from the com_media options in the backend. And post what is is this field.

System -> Global Configuration -> Media -> Legal MIME Types.

I am able to upload jpg files from the administrator (back end) of the website. I have attached the file with the PHP information for the server.

hmm that sounds not correct but it looks like the file is missing here.

avatar EndeavorC
EndeavorC - comment - 20 May 2017

image/jpeg,image/gif,image/png,image/bmp,application/x-shockwave-flash,application/msword,application/excel,application/pdf,application/powerpoint,text/plain,application/x-zip


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/16091.

avatar zero-24
zero-24 - comment - 20 May 2017

I performed the code changes as stated in the fix and it did not resolve this issue for my site.

Just to be sure how did you apply the changes? I hope by a complete file replace for the media file? As I can't find a way to get your result by your configuration.

Please try to replace your media file with this: https://raw.githubusercontent.com/joomla/joomla-cms/staging/libraries/cms/helper/media.php

avatar EndeavorC
EndeavorC - comment - 20 May 2017

I went to the GitHub link; view the entire file contents for each file, copy/paste into a text editor (textwrangler), save the file as the same name, rename the existing file then upload the new file.


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/16091.

avatar wojsmol
wojsmol - comment - 20 May 2017

@EndeavorC Have you used raw view?

avatar zero-24
zero-24 - comment - 20 May 2017

@EndeavorC ok i have finaly found something that could be the issue.

Please run the following SQL

select * from `#__extensions` where `element` = `com_media`;

And post the result here.

avatar EndeavorC
EndeavorC - comment - 20 May 2017

Hello,

When I run the above SQL query in myPHPAdmin I get the following:

Error
SQL query: Documentation

select * from #__extensions where element = com_media LIMIT 0, 25

MySQL said: Documentation

#1146 - Table '.#__extensions' doesn't exist

Sorry this is not much help


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/16091.

avatar zero-24
zero-24 - comment - 20 May 2017

Yes you need to replace #__ with your database prefix

avatar EndeavorC
EndeavorC - comment - 20 May 2017

Error
SQL query: Documentation

select * from <prefix>_extensions where element = com_media LIMIT 0, 25
MySQL said: Documentation

#1054 - Unknown column 'com_media' in 'where clause'


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/16091.

avatar EndeavorC
EndeavorC - comment - 20 May 2017

If I view the com_media table I have the following, not sure if this is what you are looking for:

name: com_media

type: component

element: com_media

manifest_cache:

{"name":"com_media","type":"component","creationDate":"April 2006","author":"Joomla! Project","copyright":"(C) 2005 - 2017 Open Source Matters. All rights reserved.","authorEmail":"admin@joomla.org","authorUrl":"www.joomla.org","version":"3.0.0","description":"COM_MEDIA_XML_DESCRIPTION","group":"","filename":"media"}

params:

{"upload_extensions":"bmp,csv,doc,gif,ico,jpg,jpeg,odg,odp,ods,odt,pdf,png,ppt,swf,txt,xcf,xls,BMP,CSV,DOC,GIF,ICO,JPG,JPEG,ODG,ODP,ODS,ODT,PDF,PNG,PPT,SWF,TXT,XCF,XLS","upload_maxsize":"10","file_path":"images","image_path":"images","restrict_uploads":"1","check_mime":"1","image_extensions":"bmp,gif,jpg,png","ignore_extensions":"","upload_mime":"image/jpeg,image/gif,image/png,image/bmp,application/x-shockwave-flash,application/msword,application/excel,application/pdf,application/powerpoint,text/plain,application/x-zip","upload_mime_illegal":"text/html"}


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/16091.

avatar zero-24
zero-24 - comment - 20 May 2017

This is what I was looking for thanks. Can you please go to the com_media options and save them again. And than try uploading a image from the frontend again?

If this still don't work please send me a backup + the file you try to upload to tobias.zulauf[at]community.joomla.org as i'm running out of ideas what the issue could be. And I can not reproduce the problems.

avatar EndeavorC
EndeavorC - comment - 20 May 2017

Saving the options did not solve the issue, what type of backup are you asking for?

avatar zero-24
zero-24 - comment - 20 May 2017

file and database you can clear the content table if needed. So I can debug the issue.

avatar gwsdesk
gwsdesk - comment - 22 May 2017

If I understand all properly I can mention that I have tested this item successfully on 672e183

avatar EndeavorC
EndeavorC - comment - 22 May 2017

What permissions are you testing with for the user account? I am using an account with publisher. If I replace the media.php file with the one from 3.7.0 it works but not the updated one here or the one that was installed with 3.7.1.

avatar sedonasky
sedonasky - comment - 23 May 2017

I updated to 3.7.2 but still cannot upload PDFs. I cleared the cache, etc. and tried to upload with Super Admin permissions. I still get this error (so clients are still very unhappy).

Error
Invalid mime type detected.

avatar zero-24
zero-24 - comment - 23 May 2017

@sedonasky

Error
Invalid mime type detected.

this means that finfo_open and mime_content_type did not work or are not available. Can you please check that they are installed and enabled on your server?

avatar gwsdesk
gwsdesk - comment - 23 May 2017

I cannot replicate this on our servers https://gws-host.com/systems-technology

Imho this is a server issue/settings and not related to Joomla

avatar Quy
Quy - comment - 23 May 2017

this means that finfo_open and mime_content_type did not work or are not available. Can you please check that they are installed and enabled on your server?

Maybe include in the error message that finfo_open and mime_content_type could not be found and to contact their hosting provider.

avatar gwsdesk
gwsdesk - comment - 23 May 2017

@Quy which would mean that for every specific hosting config with disabled functions we would have to create exemptions/messages? Does that make sense?

avatar jen4web
jen4web - comment - 23 May 2017

I am having the same problem. Site is hosted with Rochen, PHP 7.0.19. Site is upgraded to 3.7.2, and I am uploading a PDF (131K) as a super user.

avatar zero-24
zero-24 - comment - 23 May 2017

Yes please check that one or both php functions are enabled.

avatar fperillo
fperillo - comment - 23 May 2017

I confirm this patch is not working on 3.7.1 and 3.7.2, due to mime_content_type

PHP Fatal error: Call to undefined function mime_content_type() in - on line 1

OpenSuse 12.3 has php5-fileinfo extension module that is not installed on the server...

avatar zero-24
zero-24 - comment - 23 May 2017

I hope The mime type fatal error is not shown to the user?

But yes if both methods are not there there is no upload allowed as we cant check the mime types which is required for Security reasons.

avatar fperillo
fperillo - comment - 23 May 2017

I understand, and I really don't know Joomla developers guidelines and, believe me, I don't want to be rude, but after a hot phone call with one user...
according to
https://downloads.joomla.org/technical-requirements
there is no need to install fileinfo package and adding this requirements you added external dependencies that not everybody can fulfill.
I and others installed php as required, and now it is not enough...

PS: I found a similar problem with gzdecode... in this case package php5-zlib is installed but this function is not present..

avatar brianteeman
brianteeman - comment - 23 May 2017

@fperillo fileinfo - This extension is enabled by default as of PHP 5.3.0. (http://php.net/manual/en/fileinfo.installation.php)

Joomla cannot be expected to tell you every php extension that needs to be enabled especially if it is enabled by default.

avatar EndeavorC
EndeavorC - comment - 23 May 2017

My hosting company verified that both are installed but I am still unable to upload image files with 3.7.1 or the updated files. If I use the 3.7.0 files I am able to upload image files. I have not tried PDF files as we use another option for document.

This is becoming very frustrating, the past 2 updates have had serious bugs and/or changes that have greatly impacted the volunteers that use the site.


From: Brian Teeman notifications@github.com
Sent: Tuesday, May 23, 2017 5:29:29 PM
To: joomla/joomla-cms
Cc: EndeavorC; Mention
Subject: Re: [joomla/joomla-cms] fix mime checkes (#16091)

@fperillohttps://github.com/fperillo fileinfo - This extension is enabled by default as of PHP 5.3.0. (http://php.net/manual/en/fileinfo.installation.php)

Joomla cannot be expected to tell you every php extension that needs to be enabled especially if it is enabled by default.


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub#16091 (comment), or mute the threadhttps://github.com/notifications/unsubscribe-auth/Abe3gQPnxRazydiNkaTC8Mep2XP0VRTFks5r80-5gaJpZM4NeUZi.

avatar brianteeman
brianteeman - comment - 23 May 2017

We are all volunteers as well

I see from the system info report that you posted before that you are using the ark editor on your site. If I understand your reports correctly you are able to upload images through the administrator but your editors can not at the front end. Are the editors using the ARK editor or the default tinymce editor? If they are using ARK can you try with the TinyMCe editor. I am not passing any blame here i am just trying to gather all the facts so that we can try to help you

avatar EndeavorC
EndeavorC - comment - 24 May 2017

I have tried TinyMCE and ArkEditor from the front end with the same result, for some reason it does not work on the front end. I am not laying any blame but trying to provide what little troubleshooting or helpful information I may be able to provide.


From: Brian Teeman notifications@github.com
Sent: Tuesday, May 23, 2017 5:47:16 PM
To: joomla/joomla-cms
Cc: EndeavorC; Mention
Subject: Re: [joomla/joomla-cms] fix mime checkes (#16091)

We are all volunteers as well

I see from the system info report that you posted before that you are using the ark editor on your site. If I understand your reports correctly you are able to upload images through the administrator but your editors can not at the front end. Are the editors using the ARK editor or the default tinymce editor? If they are using ARK can you try with the TinyMCe editor. I am not passing any blame here i am just trying to gather all the facts so that we can try to help you


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub#16091 (comment), or mute the threadhttps://github.com/notifications/unsubscribe-auth/Abe3gWawQeYSkGp9nPJpl3LrcjYkmO1xks5r81PkgaJpZM4NeUZi.

avatar jen4web
jen4web - comment - 24 May 2017

I have been uploading files through the Media Manager.

I reported this to Rochen, who confirmed that finfo_open and mime_content_type were installed, available, and working correctly.

Their response was this: "Well there seems to be compatibility issue with mime_content_type on Joomla version and PHP v7.0, If I switch the PHP version to v5.6 it is working fine.

It appears the patch provided isn't working on 3.7.1 and 3.7.2, due to mime_content_type. Thanks!"

Previously I was running PHP 7.0.19.

avatar brianteeman
brianteeman - comment - 24 May 2017

Thanks for the info about php 7.0 - that will hopefully help track it down

But as this issue is closed it wont be seen by most people so can I please ask you to open a new issue with this information

avatar gwsdesk
gwsdesk - comment - 24 May 2017

I am sorry but I cannot replicate this on our servers (PHP 7.1.14). Neither in default media manager nor in /TinyMCEJCE. I can upload pdf's either from frontend or admin without problems and if pdf's disabled (in media options) I do get the proper message (extension not supported)

However: The pdf's show in the file system with FTP (after upload in the media manager but they do not show after upload in the media manager itself in the administrator (they are uploaded as stated since they show in the file manager with ftp) That only happens when uploaded in this case with Tiny/JCE but they show when uploaded in the admin panel in the media manager

so by using the media manager upload they show but when upload with any editor they don't show despite being listed in the file system (FTP)

avatar zero-24
zero-24 - comment - 24 May 2017

Thanks. The PDFs are not supported in the frontend image form. (different issue).

As stated above and here #16238 it looks like a server / hosting issue.

Here you can find a PR with a better message incase your hosting did disable both checkers:
#16246

I'm going to lock this issue now. If there are still issues please see #16238 or open a new issue. Thanks.

Add a Comment

Login with GitHub to post a comment