Bug #61688
closedInsufficient folder write permissions for offline storages
100%
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.
Updated by Gerrit Code Review about 10 years ago
- 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
Updated by Gerrit Code Review about 10 years ago
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
Updated by Philipp Gampe about 10 years ago
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.
Updated by Frans Saris almost 10 years ago
- Sprint Focus set to On Location Sprint
Updated by Frans Saris almost 10 years ago
- Status changed from Under Review to In Progress
Updated by Gerrit Code Review almost 10 years ago
- 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
Updated by Gerrit Code Review almost 10 years ago
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
Updated by Gerrit Code Review almost 10 years ago
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
Updated by Gerrit Code Review almost 10 years ago
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
Updated by Frans Saris almost 10 years ago
- Status changed from Under Review to Resolved
- % Done changed from 0 to 100
Applied in changeset fbb70dd7bbbaa6332833d92b6a122b794b272e76.
Updated by Anja Leichsenring almost 9 years ago
- Sprint Focus deleted (
On Location Sprint)