Bug #61688
closed
Insufficient folder write permissions for offline storages
Added by Philipp Gampe about 10 years ago.
Updated about 6 years ago.
Category:
File Abstraction Layer (FAL)
Description
If a folder is inaccessible, it is correctly marked as offline. However it is still included in the file list module folder tree.
This triggers an exception when FAL tries to create the temporary folder.
Omit offline or unbrowsable storages in the folder tree.
To test, create a storage for a nonexisting folder and create a mountpoint for this folder. Now assign this mountpoint to your user and see the folder tree crash.
- Status changed from Accepted to Under Review
Patch set 1 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/32836
Patch set 2 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/32836
OK, here is what really happens.
The folder tree view asks the resource storage about the role of the folder for each mount, in order to find an icon for it.
The isRole()
method asks the storage for the processing folder to get the name of the processing folder to compare it with the current folder name.
There are problems on several levels here, while only (1) is fixed by my patch:
1) Offline and unbrowsable storages are shown. This is not needed, because accessing them will lead to an error any way.
2) The getProcessingFolder()
method actually tries to create the folder if it does not exist, even if the storage is offline and even if it might not be writeable at all.
3) The object is create on the fly instead of creating it with the storage object (constructor). It needs to be defined whether the processing folder must exist and if the existence can be determined at the time the storage object is created in memory. It needs to be defined too, what should happen if it does not exist and/or cannot be created.
4) Asking for an object where only the name of the folder needs to be know is an avoidable overhead. A method should be introduced to get the name directly or to ask the storage if any given identifier is the processing folder. I prefer the later.
To test my patch:
Create a storage and a file mount, add that mount to your user, mark it as offline and remove the associated folder from the disk. Then try to reload the folder tree.
- Sprint Focus set to On Location Sprint
- Status changed from Under Review to In Progress
- Status changed from In Progress to Under Review
Patch set 3 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/32836
Patch set 4 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/32836
Patch set 1 for branch TYPO3_6-2 of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/36397
Patch set 2 for branch TYPO3_6-2 of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/36397
- Status changed from Under Review to Resolved
- % Done changed from 0 to 100
- Sprint Focus deleted (
On Location Sprint)
- Status changed from Resolved to Closed
Also available in: Atom
PDF