Uploaded filenames too long Uploaded filenames too long
 

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

Uploaded filenames too long

Started by artoonie, June 24, 2008, 10:51:21 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

artoonie

I've searched, but couldn't find any direct answers on this, so I thought I'd post my little mod:

Open:
upload.php

Find:

        // Create a unique name for the uploaded file
        $nr = 0;
        $picture_name = $matches[1] . '.' . $matches[2];
        while (file_exists($dest_dir . $picture_name)) {
            $picture_name = $matches[1] . '~' . $nr++ . '.' . $matches[2];
        }


Replace:

        // Create a unique name for the uploaded file
        $nr = 0;
$matches[1] = substr($matches[1],0,15); // If the filename is too long, shorten
        $picture_name = $matches[1] . '.' . $matches[2];
        while (file_exists($dest_dir . $picture_name)) {
            $picture_name = $matches[1] . '~' . $nr++ . '.' . $matches[2];
        }



EOM;







All this does is add the following line:
$matches[1] = substr($matches[1],0,15); // If the filename is too long, shorten
to make the filename a maximum of 15 characters.
I don't know if it's the most efficient way, but it seems to work fine.


It'd be nice if something similar could be included in a future version, perhaps even with a config-option for how the max filename size.







Hope this helps someone out there,
Toonie

artoonie

Note: do this for db_input.php as well, if that file is in use (meaning, if you have the single-upload form enabled).

Joachim Müller

@moderators: do not move this thread to the mods board - it doesn't qualify as real mod.

@artoonie: thanks for your readiness to share. However, you have to make sure that another file with an identical name doesn't already exist. Additionally, coppermine has several methods of uploading, so you're have to take care of this issue in several places.

@Hein: I undid your edit/move. Please don't re-move.

Joachim