From cd122462aa816e8fa407682c39d44a9410adc978 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Sun, 19 Jun 2016 11:19:11 +0200 Subject: [PATCH] Fix errors on files/dir permissions on dolfilemanager. --- htdocs/core/filemanagerdol/connectors/php/basexml.php | 2 ++ .../core/filemanagerdol/connectors/php/commands.php | 10 +++++----- .../core/filemanagerdol/connectors/php/connector.php | 3 ++- htdocs/core/filemanagerdol/connectors/php/io.php | 11 +++++++---- 4 files changed, 16 insertions(+), 10 deletions(-) diff --git a/htdocs/core/filemanagerdol/connectors/php/basexml.php b/htdocs/core/filemanagerdol/connectors/php/basexml.php index a14b843b465..f1fe5365e7a 100644 --- a/htdocs/core/filemanagerdol/connectors/php/basexml.php +++ b/htdocs/core/filemanagerdol/connectors/php/basexml.php @@ -102,6 +102,8 @@ function SendError($number, $text) { SetXmlHeaders(); + dol_syslog('Error: '.$number.' '.$text, LOG_ERR); + // Create the XML document header echo '<?xml version="1.0" encoding="utf-8" ?>' ; diff --git a/htdocs/core/filemanagerdol/connectors/php/commands.php b/htdocs/core/filemanagerdol/connectors/php/commands.php index 0449635aaac..3f02b9f39fb 100644 --- a/htdocs/core/filemanagerdol/connectors/php/commands.php +++ b/htdocs/core/filemanagerdol/connectors/php/commands.php @@ -266,15 +266,15 @@ function FileUpload($resourceType, $currentFolder, $sCommand, $CKEcallback = '') break ; } - $permissions = 0777; - + $permissions = '0777'; if ( isset( $Config['ChmodOnUpload'] ) && $Config['ChmodOnUpload'] ) { - $permissions = $Config['ChmodOnUpload'] ; + $permissions = (string) $Config['ChmodOnUpload'] ; } - + $permissionsdec = octdec($permissions); + dol_syslog("commands.php permission = ".$permissions." ".$permissionsdec." ".decoct($permissionsdec)); $oldumask = umask(0); - chmod($sFilePath, $permissions); + chmod($sFilePath, $permissionsdec); umask($oldumask); } diff --git a/htdocs/core/filemanagerdol/connectors/php/connector.php b/htdocs/core/filemanagerdol/connectors/php/connector.php index 23d4eb79d77..2f3c6f64388 100644 --- a/htdocs/core/filemanagerdol/connectors/php/connector.php +++ b/htdocs/core/filemanagerdol/connectors/php/connector.php @@ -55,8 +55,9 @@ function DoResponse() // Check if it is an allowed command if (! IsAllowedCommand($sCommand)) + { SendError(1, 'The "' . $sCommand . '" command isn\'t allowed'); - + } // Check if it is an allowed type. if (! IsAllowedType($sResourceType)) SendError(1, 'Invalid type specified'); diff --git a/htdocs/core/filemanagerdol/connectors/php/io.php b/htdocs/core/filemanagerdol/connectors/php/io.php index 72aea0e0eb0..731509b6e10 100644 --- a/htdocs/core/filemanagerdol/connectors/php/io.php +++ b/htdocs/core/filemanagerdol/connectors/php/io.php @@ -181,14 +181,17 @@ function CreateServerFolder($folderPath, $lastFolder = null) } else { - $permissions = 0777 ; - if ( isset( $Config['ChmodOnFolderCreate'] ) ) + $permissions = '0777'; + if ( isset( $Config['ChmodOnFolderCreate'] ) && $Config['ChmodOnFolderCreate']) { - $permissions = $Config['ChmodOnFolderCreate'] ; + $permissions = (string) $Config['ChmodOnFolderCreate']; } + $permissionsdec = octdec($permissions); + $permissionsdec |= octdec('0111'); // Set x bit required for directories + dol_syslog("io.php permission = ".$permissions." ".$permissionsdec." ".decoct($permissionsdec)); // To create the folder with 0777 permissions, we need to set umask to zero. $oldumask = umask(0); - mkdir($folderPath, $permissions); + mkdir($folderPath, $permissionsdec); umask($oldumask); } -- GitLab