aboutsummaryrefslogtreecommitdiffstats
path: root/lib/private/Files/Cache
Commit message (Collapse)AuthorAgeFilesLines
...
| * only request free space once for external sharesRobin Appelman2022-04-041-1/+1
| | | | | | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
| * don't overwrite the etag from storage backends that already provide "good" etagsRobin Appelman2022-04-042-2/+7
| | | | | | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* | Merge pull request #31816 from ↵Joas Schilling2022-04-041-0/+1
|\ \ | | | | | | | | | | | | nextcloud/bugfix/noid/deduplicate-storage-id-before-reusing Deduplicate storage ids in list before reusing
| * | Deduplicate storage ids in list before reusingJoas Schilling2022-04-041-0/+1
| |/ | | | | | | Signed-off-by: Joas Schilling <coding@schilljs.com>
* | Merge pull request #31776 from nextcloud/storage-id-cache-bi-directionalRobin Appelman2022-04-042-16/+32
|\ \ | |/ |/| cache storage id mapping both ways
| * cache storage id mapping both waysRobin Appelman2022-03-312-16/+32
| | | | | | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* | Adapt more code to migration to LoggerInterfaceCôme Chilliet2022-03-241-2/+3
| | | | | | | | Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
* | Migrate from ILogger to LoggerInterface in lib/privateCôme Chilliet2022-03-242-6/+5
|/ | | | Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
* some file scanner performance improvementsRobin Appelman2022-03-171-3/+2
| | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* return dummy availability if storage is not found in cacheRobin Appelman2022-02-251-2/+5
| | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* Switch logical operatorsacsfer2021-12-031-4/+4
| | | Unless there is a good reason to keep actual ones 👀
* background scan the source storage when a background scan on a storage jail ↵Robin Appelman2021-12-021-12/+25
| | | | | | is triggered Signed-off-by: Robin Appelman <robin@icewind.nl>
* Fix ArrayAccess and JsonSerializable return typesCôme Chilliet2021-11-231-3/+7
| | | | | | First round of modifications for PHP 8.1 Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
* Normalize directory entries in Encoding wrapperVincent Petry2021-11-171-1/+4
| | | | | | | | | | | | Directory entry file names are now normalized in getMetaData(), getDirectoryContents() and opendir(). This makes the scanner work properly as it assumes pre-normalized names. In case the names were not normalized, the scanner will now skip the entries and display a warning when applicable. Signed-off-by: Vincent Petry <vincent@nextcloud.com>
* Move storage encoding compatibility warning logicVincent Petry2021-11-171-2/+8
| | | | | | | | | | | The encoding check for file names is now happening the Scanner, and an event will be emitted only if the storage doesn't contain the encoding compatibility wrapper. The event is listened to by the occ scan command to be able to display a warning in case of file name mismatches when they have NFD encoding. Signed-off-by: Vincent Petry <vincent@nextcloud.com>
* Normalize file name before existence check in scannerVincent Petry2021-11-171-0/+1
| | | | | | | | | | | | The scanner would not find a NFD-encoded file name in an existing file list that is normalized. This normalizes the file name before scanning. Fixes issues where scanning repeatedly would make NFD files flicker in and out of existence in the file cache. Signed-off-by: Vincent Petry <vincent@nextcloud.com>
* properly handle cases where cache wrappers block accessRobin Appelman2021-11-012-3/+4
| | | | | | `CacheWrapper::formatCacheEntry` can return false for files that should be filtered out Signed-off-by: Robin Appelman <robin@icewind.nl>
* Merge pull request #29281 from vijfhoek/masterJohn Molakvoæ2021-11-012-6/+14
|\
| * Move query outside the loop and reduce chunk size to 1000Sijmen Schoon2021-10-172-12/+14
| | | | | | | | | | | | | | This involved changing CacheQueryBuilder\whereParentIn to take a parameter name, renaming the function accordingly. Signed-off-by: Sijmen Schoon <me@sijmenschoon.nl>
| * Limit parameter count per query in Cache.removeChildrenSijmen Schoon2021-10-171-8/+14
| | | | | | | | Signed-off-by: Sijmen Schoon <me@sijmenschoon.nl>
* | Merge pull request #29115 from ↵Carl Schwan2021-10-281-1/+1
|\ \ | | | | | | | | | | | | nextcloud/work/carl/correct-permissions-when-copying Fix permissions when copying from ObjectStorage
| * | Fix permissions when copying from ObjectStorageCarl Schwan2021-10-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make sure that when a user copy a file from a directory they don't have all permissions to a directory where they have more permissions, the permissions are correctly set to the one from the parent taget folder. This was caused by the ObjectStoreStorage::copyFromStorage using the jailed storage and cache entry instead of the unjailed one like other storages (the local one). Steps to reproduce + Use object storage + Create a groupfolder with one group having full permission and another one who can just read files. + With an user who is in the second group, copy a file from the groupfolder to the home folder of this user. + The file in the home folder of the user will be read only and can't be deleted even though it is in their home folder and they are the owner. In oc_filecache, the permissions stored for this file are 1 (READ) Signed-off-by: Carl Schwan <carl@carlschwan.eu>
* | | more reliable return value for Watcher::checkUpdateRobin Appelman2021-10-151-1/+8
| |/ |/| | | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* | generate a better optimized query for path prefix search filtersRobin Appelman2021-08-262-9/+17
|/ | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* Merge pull request #28476 from nextcloud/search-jail-insensitiveVincent Petry2021-08-242-3/+5
|\ | | | | use case insensitive like when limiting search to jail
| * use case insensitive like when limiting search to jailRobin Appelman2021-08-172-3/+5
| | | | | | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* | use getGetUnjailedRoot to determine if jailed search needs the path filterRobin Appelman2021-08-231-1/+1
| | | | | | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* | Remove some mentions of ownCloud from our api documentationCarl Schwan2021-07-291-2/+2
|/ | | | Signed-off-by: Carl Schwan <carl@carlschwan.eu>
* dont apply jail search filter is on the rootRobin Appelman2021-07-261-11/+15
| | | | | | the extra '/' breaks things and the filter wouldn't do anything anyway except making the databases job harder Signed-off-by: Robin Appelman <robin@icewind.nl>
* inject SearchBuilderRobin Appelman2021-06-143-14/+5
| | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* split of query building bits from searchhelperRobin Appelman2021-06-142-196/+242
| | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* update tests and fix some edge cases around new searchRobin Appelman2021-06-141-1/+5
| | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* some cleanup and documentationRobin Appelman2021-06-141-4/+6
| | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* perform file search in a single queryRobin Appelman2021-06-143-9/+11
| | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* use searchoperation for storage filter instead of db expressionRobin Appelman2021-06-145-29/+40
| | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* rework search api to allow searching on multiple caches at onceRobin Appelman2021-06-147-243/+215
| | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* Update php licensesJohn Molakvoæ (skjnldsv)2021-06-0420-28/+8
| | | | Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
* properly use limit and offset for search in Jail wrapperRobin Appelman2021-05-211-7/+2
| | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* better cleanup of filecache when deleting an external storageRobin Appelman2021-05-191-0/+40
| | | | | | this way it can delete the cache entries even with per-user credentials Signed-off-by: Robin Appelman <robin@icewind.nl>
* Log when a storage is marked as unavailableMorris Jobke2021-03-251-0/+4
| | | | Signed-off-by: Morris Jobke <hey@morrisjobke.de>
* Catch invalid cache source storage pathJohn Molakvoæ (skjnldsv)2021-03-241-0/+4
| | | | Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
* only require user to be set in a query that handles tagsRobin Appelman2021-03-181-4/+8
| | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* Merge pull request #26013 from nextcloud/object-store-copy-cache-idRobin Appelman2021-03-163-35/+51
|\ | | | | Return the fileid from `copyFromCache` and use it instead of doing an extra query
| * verify that cache entry is validRobin Appelman2021-03-121-0/+3
| | | | | | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
| * also implement for FailedCache and NullCacheRobin Appelman2021-03-121-0/+5
| | | | | | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
| * add ICopyFromCache trait to expose existing implementationRobin Appelman2021-03-122-35/+43
| | | | | | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* | Merge pull request #25136 from nextcloud/cachejail-search-filterVincent Petry2021-03-153-17/+103
|\ \ | |/ |/| do cachejail search filtering in sql
| * adjust testsRobin Appelman2021-01-261-1/+1
| | | | | | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
| * fix search in nested jailsRobin Appelman2021-01-261-19/+35
| | | | | | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
| * fix cachjail searching for rootRobin Appelman2021-01-262-3/+17
| | | | | | | | Signed-off-by: Robin Appelman <robin@icewind.nl>