You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Joomla\Component\Joomlaupdate\Administrator\Model\UpdateModel in Joomla 4.0.5 "cleans" the temp directory from the global configuration but does this in a VERY AGGRESSIVE way which causes some site installations to fail their upgrades.
The issue is that some dotted and/or hidden paths cause the cleaned path to be empty and for Joomla to fall into an infinite loop.
Steps to reproduce the issue
There are a few ways to demonstrate the issue:
Install Joomla 4.0.4 on suitable server and perform upgrade to 4.0.5
1.a. This must be done on a *nix server where the subdomain path looks like /var/www/vhosts/website.net/subdomain.website.net (the dotted path is important!).
1.b. Install Joomla in a hidden folder such as ._hideMe
1.c. check that the tmp directory is something like /var/www/vhosts/website.net/subdomain.website.net/._hideMe/tmp
1.d. Try to upgrade Joomla to 4.0.5
Set hidden tmp directory subdomain site and perform upgrade to 4.0..5
2.a. This must be done on a *nix server where the subdomain path looks like /var/www/vhosts/website.net/subdomain.website.net (the dotted path is important!).
2.b. Install Joomla as normal
2.c. Use a hidden path for the tmp directory something like /var/www/vhosts/website.net/subdomain.website.net/._hideMe/tmp - you will need to create these folders on the server
2.d. Try to upgrade Joomla to 4.0.5
Simpler demonstration of the cause of the problem
3.a. Install special module from https://www.yoursites.net/mod_tempdir.zip and set it to display on your Joomla 4.0.5+ site
3.b. configure the advanced tab of the module with a temp directory such as /var/www/vhosts/website.net/subdomain.website.net/._hideMe/tmp
3.c view the module in the frontend
Expected result
Joomla upgrade succeeds
Joomla upgrade succeeds
You should see module output such as
Cleaned module based temp directory /var/www/vhosts/website.net/subdomain.website.net/._hideMe/tmp
Uncleaned module based temp directory /var/www/vhosts/website.net/subdomain.website.net/._hideMe/tmp
Actual result
Upgrade fails with infinite recursion error in filesystem library
Upgrade fails with infinite recursion error in filesystem library
You actually see module output such as
Cleaned module based temp directory /var/www/vhosts/website.net/subdomain.website.net/._hideMe/tmp
Uncleaned module based temp directory
In other words the cleaned path is empty
The text was updated successfully, but these errors were encountered:
Joomla\Component\Joomlaupdate\Administrator\Model\UpdateModel in Joomla 4.0.5 "cleans" the temp directory from the global configuration but does this in a VERY AGGRESSIVE way which causes some site installations to fail their upgrades.
The issue is that some dotted and/or hidden paths cause the cleaned path to be empty and for Joomla to fall into an infinite loop.
Steps to reproduce the issue
There are a few ways to demonstrate the issue:
1.a. This must be done on a *nix server where the subdomain path looks like /var/www/vhosts/website.net/subdomain.website.net (the dotted path is important!).
1.b. Install Joomla in a hidden folder such as ._hideMe
1.c. check that the tmp directory is something like /var/www/vhosts/website.net/subdomain.website.net/._hideMe/tmp
1.d. Try to upgrade Joomla to 4.0.5
2.a. This must be done on a *nix server where the subdomain path looks like /var/www/vhosts/website.net/subdomain.website.net (the dotted path is important!).
2.b. Install Joomla as normal
2.c. Use a hidden path for the tmp directory something like /var/www/vhosts/website.net/subdomain.website.net/._hideMe/tmp - you will need to create these folders on the server
2.d. Try to upgrade Joomla to 4.0.5
3.a. Install special module from https://www.yoursites.net/mod_tempdir.zip and set it to display on your Joomla 4.0.5+ site
3.b. configure the advanced tab of the module with a temp directory such as /var/www/vhosts/website.net/subdomain.website.net/._hideMe/tmp
3.c view the module in the frontend
Expected result
Cleaned module based temp directory /var/www/vhosts/website.net/subdomain.website.net/._hideMe/tmp
Uncleaned module based temp directory /var/www/vhosts/website.net/subdomain.website.net/._hideMe/tmp
Actual result
Cleaned module based temp directory /var/www/vhosts/website.net/subdomain.website.net/._hideMe/tmp
Uncleaned module based temp directory
In other words the cleaned path is empty
The text was updated successfully, but these errors were encountered: