? Pending

User tests: Successful: Unsuccessful:

avatar deimos7007
deimos7007
8 Nov 2017

Pull Request for Issue #18523
Summary of Changes

Added conversion CAPITAL letters to lowercase for $path and $obd(open_basedir path) variables in Windows (because windows is case insensitive)
Testing Instructions
Windows, Php 56, additional information about system in issue tracker
Try to change open_basedir value in php.ini to value with CAPITAL letters
Try CAPITAL national symbols
Expected result

No issues
Actual result

modules/additional languages cannot be installed if open_basedir in php.ini contains CAPITAL letters.
Documentation Changes Required

No

avatar deimos7007 deimos7007 - open - 8 Nov 2017
avatar deimos7007 deimos7007 - change - 8 Nov 2017
Status New Pending
avatar joomla-cms-bot joomla-cms-bot - change - 8 Nov 2017
Category Libraries
avatar deimos7007 deimos7007 - change - 8 Nov 2017
The description was changed
avatar deimos7007 deimos7007 - edited - 8 Nov 2017
avatar deimos7007 deimos7007 - change - 8 Nov 2017
The description was changed
avatar deimos7007 deimos7007 - edited - 8 Nov 2017
avatar brianteeman
brianteeman - comment - 8 Nov 2017

This really seems wrong to me. It should be solved by making sure that the folder name matches the folder defined in the php.ini

avatar deimos7007 deimos7007 - change - 8 Nov 2017
Labels Added: ?
avatar franz-wohlkoenig franz-wohlkoenig - change - 8 Nov 2017
Status Pending Needs Review
avatar mbabker
mbabker - comment - 8 Nov 2017

Agree with Brian here, this does not look like a valid fix to me, especially as it relates to what is supposed to be a security setting.

avatar maestrosite
maestrosite - comment - 9 Nov 2017

Hello!

As wrote in \Joomla\CMS\Installer\Adapter\ModuleAdapter::loadLanguage
source path is defined via ? JPATH_ADMINISTRATOR : JPATH_SITE constants.

As wrote in defines-files both constants are defined via JPATH_BASE.

As wrote in /index.php, /administrator/index.php, etc.
constant JPATH_BASE is defined via DIR

define('JPATH_BASE', DIR);

Commiter show simple example #18523 (comment)
when external data DIR and open_basedir value contain path in different register case.
In this case real windows paths is C:/Inetpub/vhosts/q.w10-52-37-138.qa.plesk.ru\ and C:\Windows\Temp\

So, this patch nothing affect except windows paths while windows stay case insensitive.

avatar brianteeman
brianteeman - comment - 5 Jan 2018

@SniperSister the views of JSST please

avatar SniperSister
SniperSister - comment - 5 Jan 2018
  1. the current patch has a rather nasty side effect: you won't be able to create folders with uppercase letters in it, when you are using the JFolder::create on Windows - that's a BC breaking change in my opinion and shouldn't be implemented like this anyway

  2. I don't see a benefit in weaking the strictness of the compare only to allow people to enter a wrong (yeeeees, I know, Win is not case sensitive, but still the path is technically wrong) openbasedir setting.

avatar brianteeman
brianteeman - comment - 5 Jan 2018

Closed as stated above.

avatar brianteeman brianteeman - change - 5 Jan 2018
Status Needs Review Closed
Closed_Date 0000-00-00 00:00:00 2018-01-05 12:37:04
Closed_By brianteeman
avatar brianteeman brianteeman - close - 5 Jan 2018
avatar brianteeman
brianteeman - comment - 5 Jan 2018

Thanks @SniperSister

Add a Comment

Login with GitHub to post a comment