diff -Nru FCKeditor_2.6-virgin/editor/filemanager/browser/default/frmupload.html FCKeditor_2.6-patched/editor/filemanager/browser/default/frmupload.html --- FCKeditor_2.6-virgin/editor/filemanager/browser/default/frmupload.html 2008-03-20 13:02:52.000000000 +0000 +++ FCKeditor_2.6-patched/editor/filemanager/browser/default/frmupload.html 2008-04-08 14:42:45.000000000 +0100 @@ -83,6 +83,9 @@ case 202 : alert( 'Invalid file' ) ; break ; + case 204 : + alert( 'Invalid filename - it did not match a required pattern' ) ; + break ; default : alert( 'Error on file upload. Error number: ' + errorNumber ) ; break ; diff -Nru FCKeditor_2.6-virgin/editor/filemanager/connectors/php/commands.php FCKeditor_2.6-patched/editor/filemanager/connectors/php/commands.php --- FCKeditor_2.6-virgin/editor/filemanager/connectors/php/commands.php 2008-02-25 16:43:22.000000000 +0000 +++ FCKeditor_2.6-patched/editor/filemanager/connectors/php/commands.php 2008-04-08 14:48:42.000000000 +0100 @@ -206,6 +206,13 @@ while ( true ) { + // Check filename is valid against any regexp + $arRegexp = (isSet ($Config['Regexp']) && array_key_exists ($resourceType, $Config['Regexp']) ? $Config['Regexp'][$resourceType] : false); + if ($arRegexp && !ereg( $arRegexp, RemoveExtension( $sOriginalFileName ))) { + $sErrorNumber = '204'; + break; + } + $sFilePath = $sServerDir . $sFileName ; if ( is_file( $sFilePath ) ) diff -Nru FCKeditor_2.6-virgin/editor/filemanager/connectors/php/config.php FCKeditor_2.6-patched/editor/filemanager/connectors/php/config.php --- FCKeditor_2.6-virgin/editor/filemanager/connectors/php/config.php 2008-03-25 15:28:24.000000000 +0000 +++ FCKeditor_2.6-patched/editor/filemanager/connectors/php/config.php 2008-04-08 14:44:19.000000000 +0100 @@ -122,6 +122,7 @@ $Config['AllowedExtensions']['File'] = array('7z', 'aiff', 'asf', 'avi', 'bmp', 'csv', 'doc', 'fla', 'flv', 'gif', 'gz', 'gzip', 'jpeg', 'jpg', 'mid', 'mov', 'mp3', 'mp4', 'mpc', 'mpeg', 'mpg', 'ods', 'odt', 'pdf', 'png', 'ppt', 'pxd', 'qt', 'ram', 'rar', 'rm', 'rmi', 'rmvb', 'rtf', 'sdc', 'sitd', 'swf', 'sxc', 'sxw', 'tar', 'tgz', 'tif', 'tiff', 'txt', 'vsd', 'wav', 'wma', 'wmv', 'xls', 'xml', 'zip') ; $Config['DeniedExtensions']['File'] = array() ; +$Config['Regexp']['File'] = '' ; $Config['FileTypesPath']['File'] = $Config['UserFilesPath'] . 'file/' ; $Config['FileTypesAbsolutePath']['File']= ($Config['UserFilesAbsolutePath'] == '') ? '' : $Config['UserFilesAbsolutePath'].'file/' ; $Config['QuickUploadPath']['File'] = $Config['UserFilesPath'] ; @@ -129,6 +130,7 @@ $Config['AllowedExtensions']['Image'] = array('bmp','gif','jpeg','jpg','png') ; $Config['DeniedExtensions']['Image'] = array() ; +$Config['Regexp']['Image'] = '' ; $Config['FileTypesPath']['Image'] = $Config['UserFilesPath'] . 'image/' ; $Config['FileTypesAbsolutePath']['Image']= ($Config['UserFilesAbsolutePath'] == '') ? '' : $Config['UserFilesAbsolutePath'].'image/' ; $Config['QuickUploadPath']['Image'] = $Config['UserFilesPath'] ; @@ -136,6 +138,7 @@ $Config['AllowedExtensions']['Flash'] = array('swf','flv') ; $Config['DeniedExtensions']['Flash'] = array() ; +$Config['Regexp']['Flash'] = '' ; $Config['FileTypesPath']['Flash'] = $Config['UserFilesPath'] . 'flash/' ; $Config['FileTypesAbsolutePath']['Flash']= ($Config['UserFilesAbsolutePath'] == '') ? '' : $Config['UserFilesAbsolutePath'].'flash/' ; $Config['QuickUploadPath']['Flash'] = $Config['UserFilesPath'] ; @@ -143,6 +146,7 @@ $Config['AllowedExtensions']['Media'] = array('aiff', 'asf', 'avi', 'bmp', 'fla', 'flv', 'gif', 'jpeg', 'jpg', 'mid', 'mov', 'mp3', 'mp4', 'mpc', 'mpeg', 'mpg', 'png', 'qt', 'ram', 'rm', 'rmi', 'rmvb', 'swf', 'tif', 'tiff', 'wav', 'wma', 'wmv') ; $Config['DeniedExtensions']['Media'] = array() ; +$Config['Regexp']['Media'] = '' ; $Config['FileTypesPath']['Media'] = $Config['UserFilesPath'] . 'media/' ; $Config['FileTypesAbsolutePath']['Media']= ($Config['UserFilesAbsolutePath'] == '') ? '' : $Config['UserFilesAbsolutePath'].'media/' ; $Config['QuickUploadPath']['Media'] = $Config['UserFilesPath'] ; diff -Nru FCKeditor_2.6-virgin/editor/filemanager/connectors/test.html FCKeditor_2.6-patched/editor/filemanager/connectors/test.html --- FCKeditor_2.6-virgin/editor/filemanager/connectors/test.html 2008-03-26 08:35:08.000000000 +0000 +++ FCKeditor_2.6-patched/editor/filemanager/connectors/test.html 2008-04-08 14:43:00.000000000 +0100 @@ -117,6 +117,9 @@ case 202 : alert( 'Invalid file' ) ; break ; + case 204 : + alert( 'Invalid filename - it did not match a required pattern' ) ; + break ; default : alert( 'Error on file upload. Error number: ' + errorNumber ) ; break ; diff -Nru FCKeditor_2.6-virgin/editor/filemanager/connectors/uploadtest.html FCKeditor_2.6-patched/editor/filemanager/connectors/uploadtest.html --- FCKeditor_2.6-virgin/editor/filemanager/connectors/uploadtest.html 2008-03-26 08:35:08.000000000 +0000 +++ FCKeditor_2.6-patched/editor/filemanager/connectors/uploadtest.html 2008-04-08 14:43:11.000000000 +0100 @@ -111,6 +111,9 @@ case 203 : alert( "Security error. You probably don't have enough permissions to upload. Please check your server." ) ; break ; + case 204 : + alert( 'Invalid filename - it did not match a required pattern' ) ; + break ; default : alert( 'Error on file upload. Error number: ' + errorNumber ) ; break ;