User tests: Successful: Unsuccessful:
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
Status | New | ⇒ | Pending |
Category | ⇒ | Libraries |
Labels |
Added:
?
|
Status | Pending | ⇒ | Needs Review |
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.
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.
@SniperSister the views of JSST please
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
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.
Closed as stated above.
Status | Needs Review | ⇒ | Closed |
Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2018-01-05 12:37:04 |
Closed_By | ⇒ | brianteeman |
Thanks @SniperSister
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