Bug #67516 [Opn->Fbk]: wrong mimetypes with finfo_file(filename, FILEINFO_MIME_TYPE)

From: Date: Wed, 07 Sep 2016 13:40:40 +0000
Subject: Bug #67516 [Opn->Fbk]: wrong mimetypes with finfo_file(filename, FILEINFO_MIME_TYPE)
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-203851@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=67516&edit=1 ID: 67516 Updated by: cmb@php.net Reported by: spam2 at rhsoft dot net Summary: wrong mimetypes with finfo_file(filename, FILEINFO_MIME_TYPE) -Status: Open +Status: Feedback Type: Bug Package: Filesystem function related Operating System: Linux PHP Version: 7.0.11 -Assigned To: +Assigned To: cmb Block user comment: N Private report: N New Comment: I can confirm that even latest master reports "application/octet-sream" for "php-mimtype-bug.gif" with the bundled magic. > well, in a perfect world on would be able to update > 'data_file.c' with the script in the source tree before compile > PHP, in the real world the file is updates, php builds but it > don't work I can't reproduce this (generating a new data_file.c from Debian Jessie's magic.mgc, compiling and using finfo works fine for me). Anyhow, please open another ticket with regard to this issue. However, it shouldn't be necessary to compile with a custom magic.mgc, because you could pass a custom magic.mgc directly as second parameter to finfo_open(). Would that work for you, i.e. would that produce the expected "image/gif"? Previous Comments: ------------------------------------------------------------------------ [2016-09-07 09:31:27] spam2 at rhsoft dot net well, in a perfect world on would be able to update 'data_file.c' with the script in the source tree before compile PHP, in the real world the file is updates, php builds but it don't work what about someone takes afte rmore than a year a look why https://access.thelounge.net/harry/php-mimetype-bug.gif is recognized as application/octet-stream instead image/gif and considers to update the mime database? i don't get all the excuses for not use the system libmagic - for open_basedir and streams-support one would need nothing else than a tiny wrapper doing that all with a tempfile which ins finally feeded to the system libmagic instead fork it completly _______________________________________ %prep %setup -q -n php-%{version} %patch1 -p1 # generate 'data_file.c' from bundeled libmagic with current system data /usr/bin/php ext/fileinfo/create_data_file.php /usr/share/misc/magic.mgc > ext/fileinfo/data_file.c _______________________________________ [harry@rh:/data/lounge-daten/php-mimtype-bug]$ php mime.php /mnt/data/lounge-daten/php-mimtype-bug/1.gif /usr/bin/file -b --mime-type image/gif finfo_file(filename, FILEINFO_MIME_TYPE) Warning: finfo_open(): Failed to load magic database at '(null)'. in /mnt/data/lounge-daten/php-mimtype-bug/mime.php on line 15 Warning: finfo_file() expects parameter 1 to be resource, boolean given in /mnt/data/lounge-daten/php-mimtype-bug/mime.php on line 16 Warning: finfo_close() expects parameter 1 to be resource, boolean given in /mnt/data/lounge-daten/php-mimtype-bug/mime.php on line 17 ------------------------------------------------------------------------ [2016-09-06 20:21:13] spam2 at rhsoft dot net libmagic: 522 file-5.25-6.fc24.x86_64 file-5.22-1.fc21 2015-02-10 06:52:41 file-5.25-6.fc24 2016-02-03 22:20:33 and there where redhat bugfixes in the meantime about wrong detected files (some of them reported by me) PHP never has seen ------------------------------------------------------------------------ [2016-09-06 20:09:36] spam2 at rhsoft dot net well, if it would be reasonable updated or at lest support the systems magic-data, with PHP 7.0.11RC1 still the same bugs as 2 years ago [harry@srv-rhsoft:/data/lounge-daten/php-mimtype-bug]$ php mime.php /mnt/data/lounge-daten/php-mimtype-bug/1.gif /usr/bin/file -b --mime-type image/gif finfo_file(filename, FILEINFO_MIME_TYPE) application/octet-stream ------------------------------------------------------------------------ [2015-07-13 11:47:21] nikic@php.net @rhsoft PHP uses a patched libmagic primarily to a) integrate with PHP filesystem APIs, including things like stream wrappers, but more importantly also open_basedir restrictions etc and b) to use our per-request allocator. If you're interested in what the differences are, have a look at https://github.com/php/php-src/blob/master/ext/fileinfo/libmagic.patch. ------------------------------------------------------------------------ [2015-07-13 11:25:42] spam2 at rhsoft dot net as said i build PHP from the unpatched upstream sources, so the libmagic is bundeled and that exists from 5.5.13 until 5.6.11 while the file-package from Fedora (cli command file) recognizes it correctly, hence i even wrote admin scripts calling the file-cli from PHP the problem is that at least for Fedora the distributions file-package becomes often updates in case of bugs and wrong recognized samples and PHP is always behind :-( ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at https://bugs.php.net/bug.php?id=67516 -- Edit this bug report at https://bugs.php.net/bug.php?id=67516&edit=1

« previous php.bugs (#203851) next »