Forbidden file extension - TIF Win/Unix GD2/ImageMagic Forbidden file extension - TIF Win/Unix GD2/ImageMagic
 

News:

cpg1.5.48 Security release - upgrade mandatory!
The Coppermine development team is releasing a security update for Coppermine in order to counter a recently discovered vulnerability. It is important that all users who run version cpg1.5.46 or older update to this latest version as soon as possible.
[more]

Main Menu

Forbidden file extension - TIF Win/Unix GD2/ImageMagic

Started by Matula, September 13, 2006, 02:05:31 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Matula

Having a problem uploading only TIF files (as either single-upload or batch). I have coppermine ver. 1.4.9 running under Apache on both Windows XP Pro and Fedora Core 3. I have coppermine running great with either GD2 or ImageMagic (I have them both working and can choose between them) also running on both platforms. All other formats work fine, It's just the TIF files giving me an issue. Under single-upload I get the "Forbidden file extension" error.

The TIF and TIFF formats are both listed under the "cpg149_filetypes" table. The interesting thing is that they are listed as content type "document" instead of "image". Changing the content type to one or the other does not fix the upload problem. The TIF files themselves are fine. I can use ImageMagic to convert to other formats, and the files load fine into PhotoShop 7. The files are only 640x480 ~ 134k uncompressed.

Under Batch Add, I get the "PB" result.

Upload directory settings are recursive 777 for the unix system (directories and files).

Relevant Config Information:


Allowed image types                   = ALL
Method for resizing images            = Image Magick or GD2
Path to ImageMagick 'convert' utility = /usr/local/bin/
Command line options for ImageMagick  = -antialias


Debug Information Follows:

USER:
------------------
Array
(
    [ID] => 381dafa836fb4baa03cbd19614859e59
    [am] => 1
    [lang] => english
    [liv] => Array
        (
            [0] => 32
            [1] => 14
            [2] => 30
            [3] => 29
            [4] => 33
        )

    [search] => Array
        (
            [search] => tif
            [album] => search
            [title] => on
            [newer_than] =>
            [caption] => on
            [older_than] =>
            [keywords] => on
            [type] => AND
            [params] => Array
                (
                    [title] => on
                    [caption] => on
                    [keywords] => on
                )

        )

    [theme] => igames
)

==========================
USER DATA:
------------------
Array
(
    [user_id] => 1
    [user_name] => matula
    [groups] => Array
        (
            [0] => 1
        )

    [disk_max] => 0
    [disk_min] => 0
    [can_rate_pictures] => 0
    [can_send_ecards] => 1
    [ufc_max] => 3
    [ufc_min] => 3
    [custom_user_upload] => 0
    [num_file_upload] => 5
    [num_URI_upload] => 1
    [can_post_comments] => 0
    [can_upload_pictures] => 1
    [can_create_albums] => 0
    [has_admin_access] => 1
    [pub_upl_need_approval] => 0
    [priv_upl_need_approval] => 0
    [group_name] => Administrators
    [upload_form_config] => 3
    [group_quota] => 0
    [can_see_all_albums] => 1
    [group_id] => 1
)

==========================
Queries:
------------------
Array
(
    [0] => SELECT extension, mime, content, player FROM cpg149_filetypes; (0.002s)
    [1] => select * from cpg149_plugins order by priority asc; (0.001s)
    [2] => delete from `coppermine`.cpg149_sessions where time<1158102145 and remember=0; (0.001s)
    [3] => delete from `coppermine`.cpg149_sessions where time<1156896145; (0.001s)
    [4] => select user_id from `coppermine`.cpg149_sessions where session_id=md5("669d7d47476711d85020f315971e9b65cb3d7d00387b1c0cac838396fc9bec7b"); (0.001s)
    [5] => select user_id as id, user_password as password from `coppermine`.cpg149_users where user_id=1 (0.001s)
    [6] => SELECT u.user_id AS id, u.user_name AS username, u.user_password AS password, u.user_group+100 AS group_id FROM `coppermine`.cpg149_users AS u INNER JOIN `coppermine`.cpg149_usergroups AS g ON u.user_group=g.group_id WHERE u.user_id='1' (0.001s)
    [7] => SELECT user_group_list FROM `coppermine`.cpg149_users AS u WHERE user_id='1' and user_group_list <> ''; (0.001s)
    [8] => SELECT MAX(group_quota) as disk_max, MIN(group_quota) as disk_min, MAX(can_rate_pictures) as can_rate_pictures, MAX(can_send_ecards) as can_send_ecards, MAX(upload_form_config) as ufc_max, MIN(upload_form_config) as ufc_min, MAX(custom_user_upload) as custom_user_upload, MAX(num_file_upload) as num_file_upload, MAX(num_URI_upload) as num_URI_upload, MAX(can_post_comments) as can_post_comments, MAX(can_upload_pictures) as can_upload_pictures, MAX(can_create_albums) as can_create_albums, MAX(has_admin_access) as has_admin_access, MIN(pub_upl_need_approval) as pub_upl_need_approval, MIN( priv_upl_need_approval) as  priv_upl_need_approval FROM cpg149_usergroups WHERE group_id in (1) (0.001s)
    [9] => SELECT group_name FROM  cpg149_usergroups WHERE group_id= 1 (0.001s)
    [10] => update `coppermine`.cpg149_sessions set time='1158105745' where session_id=md5('669d7d47476711d85020f315971e9b65cb3d7d00387b1c0cac838396fc9bec7b'); (0.001s)
    [11] => SELECT user_favpics FROM cpg149_favpics WHERE user_id = 1 (0.001s)
    [12] => DELETE FROM cpg149_banned WHERE expiry < '2006-09-12 19:02:26' (0.001s)
    [13] => SELECT * FROM cpg149_banned WHERE (ip_addr='10.36.80.10' OR ip_addr='10.36.80.10' OR user_id=1) AND brute_force=0 (0.001s)
    [14] => SELECT aid, title FROM cpg149_albums WHERE category < 10000 ORDER BY title (0.001s)
    [15] => SELECT aid, title FROM cpg149_albums WHERE category='10001' ORDER BY title (0.001s)
    [16] => SELECT COUNT(*) FROM cpg149_pictures WHERE approved = 'NO' (0.001s)
)

==========================
GET :
------------------
Array
(
)

==========================
POST :
------------------
Array
(
    [URI_array] => Array
        (
            [0] =>
        )

    [control] => phase_1
)

==========================
VERSION INFO :
------------------
PHP version: 4.4.2 - OK
------------------
mySQL version: 4.1.20-standard
------------------
Coppermine version: 1.4.9(stable)
==========================
Module: GD
------------------
GD Version: bundled (2.0.28 compatible)
FreeType Support: 1
FreeType Linkage: with freetype
T1Lib Support:
GIF Read Support: 1
GIF Create Support: 1
JPG Support: 1
PNG Support: 1
WBMP Support: 1
XBM Support: 1
JIS-mapped Japanese Font Support:

==========================
Module: mysql
------------------
MySQL Supportenabled
Active Persistent Links 0
Active Links 1
Client API version 4.1.20
MYSQL_MODULE_TYPE external
MYSQL_SOCKET /tmp/mysql.sock
MYSQL_INCLUDE -I/usr/local/mysql/include
MYSQL_LIBS -L/usr/local/mysql/lib -lmysqlclient -L/usr/lib -lz
==========================
Module: zlib
------------------
ZLib Support enabled
Compiled Version 1.2.1.2
Linked Version 1.2.3
==========================
Server restrictions (safe mode)?
------------------
Directive | Local Value | Master Value
safe_mode | Off | Off
safe_mode_exec_dir | no value | no value
safe_mode_gid | Off | Off
safe_mode_include_dir | no value | no value
safe_mode_exec_dir | no value | no value
sql.safe_mode | Off | Off
disable_functions | no value | no value
file_uploads | On | On
include_path | .:/php/includes:/usr/local/lib/php | .:/php/includes:/usr/local/lib/php
open_basedir | no value | no value
==========================
email
------------------
Directive | Local Value | Master Value
sendmail_from | no value | no value
sendmail_path | /usr/sbin/sendmail -t -i | /usr/sbin/sendmail -t -i
SMTP | localhost | localhost
smtp_port | 25 | 25
==========================
Size and Time
------------------
Directive | Local Value | Master Value
max_execution_time | 30 | 30
max_input_time | 60 | 60
upload_max_filesize | 150M | 150M
post_max_size | 150M | 150M
==========================
Page generated in 0.341 seconds - 17 queries in 0.018 seconds - Album set : ; Meta set: ;



I've checked the Documentation and searched the forums. Any help would be appreciated.

- Larry Matula

eruss

When logged in as Admin:

Click Config

Go to Files and thumbnails advanced settings

Do you see tif listed in the field Allowed document types?

Sami

- Make sure that those images are in RGB format, you can't use CMYK
- Post a link and a non-admin account for test
‍I don't answer to PM with support question
Please post your issue to related board

Joachim Müller

GD can't handle TIF. Only ImageMagick may be able to handle it.
TIF is uncompressed and not suitable for the use on a webserver / the internet, I recommend converting it on your client into a suitable format (jpeg).

Matula

Eruss

You suggestion to upload as a "document" instead of an "image" works (although not as the designers intended). This makes sense given that the database "cpg149_filetypes" table lists the content type as "document" and just accepts the data block as data stream, it then receives the expected "File" thumbnail. However the content is an image and is one of the supported document types. As I said above, ImageMagic can directly convert it/them without incident, and even changing the content type in the database does not produce the expected results. ImageMagic (both windows and Unix) works regardless of the platform. I need to find out why Coppermine is having a problem with only the TIF/TIFF format and not the other supported types.

bmossavari

The images are in RGB format. I cannot provide a test account as the systems are on an intranet behind the firewall (no, I can't place them into the DMZ).

GauGau

Ummm.. Yes, I know that GD does not support TIF/TIFF. As I said above, I have both GD2 AND ImageMagic running on both the Windows AND Unix systems. I specifically mentioned that to avoid the "Did you read the freaking Manual/FAQ/Search the forum?" (RTFM) answers. TIF is not just an uncompressed format, as it also supports LZW, ZIP, JPEG, RLE, Etc. TIF files can work just fine on the webserver, as the browser clients just use the "QuickTime" (or other) plug-in and they can see the image directly in their browser. Our Coppermine instance is being used as an image searching/storing database by our Marketing folks. It seems that the Print Media folks use the TIF format extensively because it's lossless. Converting all those images into JPEG with the resulting loss in degradation is just not an option. Besides all of that, the TIF/TIFF format is supported. I just need to find out why it's not working in any of my instances.

Everyone else

Is anyone successfully uploading TIF files to Coppermine ver. 1.4.9 using ImageMagic on either the Windows or Unix platforms? If so, I would very much like you to look at my debug information above to see if I'm missing anything simple.

Nibbler

I did some testing. Setting .tif as an image type allows the file to be uploaded and processed by imagemagick. My browser can't display .tif files so I can't view them in Coppermine. What do you want to happen?

Matula

Nibbler

At this point I'm inclined to agree with your tag line (about sedation). Sorry that this is so long-winded, but I think the answer is in my explaination, I just can't see it. Yesterday, I took the recommendation from "Eruss" above about using the "document" type instead of the "image" type. At least I could then get the images into the database. I then created thumbnail jpg images for each of the TIF files, and that seemed to work as a temporary work around. The thumbnails allowed the users to see a representation of the image, and when they clicked on the thumbnail, the "Quicktime" plugin loaded the TIF image into a seperate browser window where they could save the TIF image to their local system.

Wondering if I missed something after reading your post, I went back to the database and changed the content type back to "image" and tried to upload a file. This time, the file uploaded! I went back to take a look and noticed a few things. One of the things I forgot to do was to remove the TIF extention from the "Allowed document types" in the config. So the config file tells coppermine it's a "document" and takes the upload. I hit continue to add the file details. I noticed that there was an attempted thumbnail created (a small black rectangle). From the album view of the TIF file, no thumbnail was visible, however, ImageMagic created one as expected (a TIF thumbnail, with a TIF extention). Remember that the content was changed to "image" in the filetypes table. I FTP'd the TIF thumbnail to my winXP machine, and load it into PhotoShop. It was a perfectly normal TIF image. I convert it to a JPG file using the JPG extention and FTP the file back into the same directory. Taking a look at the album view, there is no thumbnail. Clicking on the TIF link for the full-sized file brings up the Javascript window pop-up, and no image. Damn, I thought I was getting somewhere. At this point, I've had enough. I go back into the database and set the content back to "document" (at least it was functional that way). I go back to the album view, and there is my thumbnail (the converted JPG file). I click on the link, and "Quicktime" loads the image into the browser.

I know there is a lot of verbage here, but bear with me OK? Lets recap:

  • I can't get past the upload, because Coppermine doesn't like the TIF extention (as an image).

  • If I add the TIF extention to the config file's "Allowed document types", I can get past the upload portion.

  • At this point the content type in the filetypes table seems to come into play. As a content type of "image", ImageMagic creates the thumbnail as expected.

  • The large TIF and thumbnail (TIF) entries are in the database and in the expected uploads directory. Now the thumbnail display is an issue for the browser. The "Quicktime" plugin does not display the thumbnail TIF in the browser as expected within Coppermine. The content type in the database is still "image". If I point the browser directly at the thumbnail, Quicktime renders it correctly and it looks fine. Clicking on the "Click to view full size image" link gives me an empty popup window (no large TIF file). If I paste the full URL from the popup window's source code, into another window (by-passing the coppermine display), the Quicktime plugin display's the full image just fine.

  • Now I change the content type in the filetypes table to "document". This is where the browser's display properties change again.

  • Now Coppermine thinks the image is just a file document, and in album view it loads the JPG thumbnail, not the TIF thumbnail. Everything looks fine. The URL for the TIF file image points to the image directly (not using the javascript popup window). Clicking this link loads the TIF into a browser window where the Quicktime plugin takes over and displays the image properly.

  • This same behaviour happens in both Firefox and IE.

A couple of questions/suggestions (mostly to the Coppermine folks):

  • If the TIF format is supported, what plugin should one use to display the TIF thumbnail in a browser?

  • I notice the normal behaviour (in coppermine) is to create a thumbnail of the same format as the original (i.e. a PNG thumbnail is created from a PNG file). Why not just create all thumbnails in JPG format?

  • Can anyone else recreate these same issues by changing the content type between "document" and "image"?

P.S. - I love this product, and I really want to make it work well. None of the other programs (purchased or open-source) even come close (IMHO).

Nibbler

What browser plugin to use depends on your browser and your operating system, so we can't really recommend anything. Creating all thumbnails in jpeg format is more complicated than it sounds. I was able to replicate your issues with the filetypes. TIF files fall into a gap between images and movies that is difficult to allow for. I expect a CPG plugin could be created to resolve the issue.

Matula

Nibbler

That's OK. I just wanted to make sure it wasn't me.  ;D

The "document" content works well for us. I can create the thumbnails manually and upload them later. It's a bummer that the ECards only work with images though (that's the error I got when trying to send an ecard of a TIF image). I guess it uses the intermediate image. Our Marketing folks really liked that feature. I think the feature would still work well with the added option to choose to send the thumbnail instead.

Thanks. You helped more than you know.

- Matula

adrianbj

If anyone is still interested in the uploading of TIFs and for that matter other image filetypes that Imagemagick supports (ie PSD), I have hacked my Coppermine gallery so that it automatically makes thumbnail and normal preview versions in JPG format, while maintaining the fullsize image in its native format. This is great for offering up lossless high resolution images for download, without the in browser display problems currently experienced. I have also modified my gallery so that the fullsize version is forced to download, rather than display inline. The hack also ensures these JPG versions are deleted along with the main image in the event that someone deletes a file.

Please note that it requires Imagemagick rather than GD, and I have made no attempts to ensure error free operation if someone were to try the hack without Imagemagick selected in the Coppermine config options.

There are quite a lot of changes that must be made to 6 Coppermine files, as well as editing of the file_types table in the database, so please let me know if there is any interest before I bother to post it - I link to a new post in the appropriate Mod board if I do.

Adrian

aeioyou1

Adrianbj,

I am very interested in your work. I am in marketing and want to make pdfs, tifs, eps as well as regular image files available for media people to download and place in advertisements and put on promotional items.

tesala

Hi, My name is tesala.

I join now to the conversation because I am having the same problems that Matula with the jpg. Adrian I am very interested in knowing as you have achieved that it turns the thumbnails Tif into Jpg, could you help me also?

Joachim Müller

@all: the usage of TIF on the internet doesn't make sense in the first place. As I suggested above: convert tif files on your client before uploading them.

@tesala: if you have issues uploading jpeg files, you shouldn't have replied to this thread in the first place, but start your own thread after having read the uploading troubleshooting section of the docs and doing as suggested there. In fact, you should start your own thread anyway along with a reference to this thread.

@adrianbj: please reply to this thread and post your solution. If you can't/won't, I'll lock this thread.

@all: don't clutter this thread by asking even more questions as long as the only person who could possibly look into this (adrianbj) doesn't reply. Don't send PMs!

adrianbj

I will post my hack - just been a little swamped of late.
Adrian