Commit Graph

497 Commits

Author SHA1 Message Date
Carl Schwan df4e6bab69 Merge pull request #29115 from nextcloud/work/carl/correct-permissions-when-copying
Fix permissions when copying from ObjectStorage
2021-10-28 14:38:20 +02:00
Carl Schwan bfa60aaf27 Fix permissions when copying from ObjectStorage
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>
2021-10-28 13:29:50 +02:00
Sijmen Schoon 34600c78bb Move query outside the loop and reduce chunk size to 1000
This involved changing CacheQueryBuilder\whereParentIn to take a
parameter name, renaming the function accordingly.

Signed-off-by: Sijmen Schoon <me@sijmenschoon.nl>
2021-10-17 20:57:28 +02:00
Sijmen Schoon c959bf2b42 Limit parameter count per query in Cache.removeChildren
Signed-off-by: Sijmen Schoon <me@sijmenschoon.nl>
2021-10-17 19:10:58 +02:00
Robin Appelman 55346b5d6c more reliable return value for Watcher::checkUpdate
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-10-15 16:03:18 +02:00
Robin Appelman 7351059326 generate a better optimized query for path prefix search filters
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-08-26 19:07:52 +02:00
Vincent Petry e32d293346 Merge pull request #28476 from nextcloud/search-jail-insensitive
use case insensitive like when limiting search to jail
2021-08-24 08:59:35 +02:00
Robin Appelman c688703117 use getGetUnjailedRoot to determine if jailed search needs the path filter
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-08-23 16:27:53 +02:00
Robin Appelman c48f9ffcdd use case insensitive like when limiting search to jail
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-08-17 13:51:45 +02:00
Carl Schwan 28970563a2 Remove some mentions of ownCloud from our api documentation
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2021-07-29 15:56:30 +02:00
Robin Appelman 97aadbe46c dont apply jail search filter is on the root
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>
2021-07-26 17:44:52 +02:00
Robin Appelman 362cb2a11f inject SearchBuilder
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-06-14 16:23:08 +02:00
Robin Appelman 66e10718c6 split of query building bits from searchhelper
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-06-14 16:11:40 +02:00
Robin Appelman f938daa6e4 update tests and fix some edge cases around new search
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-06-14 16:11:36 +02:00
Robin Appelman 27e50b24aa some cleanup and documentation
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-06-14 16:11:32 +02:00
Robin Appelman 5d1d53c42e perform file search in a single query
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-06-14 16:11:29 +02:00
Robin Appelman 9774fb1573 use searchoperation for storage filter instead of db expression
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-06-14 16:11:25 +02:00
Robin Appelman e198dc1b20 rework search api to allow searching on multiple caches at once
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-06-14 16:11:22 +02:00
John Molakvoæ (skjnldsv) 215aef3cbd Update php licenses
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2021-06-04 22:02:41 +02:00
Robin Appelman 7ee528fc5a properly use limit and offset for search in Jail wrapper
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-05-21 15:37:38 +02:00
Robin Appelman ed2396b045 better cleanup of filecache when deleting an external storage
this way it can delete the cache entries even with per-user credentials

Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-05-19 17:08:20 +02:00
Morris Jobke 81fef4ddee Log when a storage is marked as unavailable
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2021-03-25 16:19:08 +01:00
John Molakvoæ (skjnldsv) 2074d87d0c Catch invalid cache source storage path
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2021-03-24 10:36:51 +01:00
Robin Appelman 50e374c12f only require user to be set in a query that handles tags
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-18 17:16:28 +01:00
Robin Appelman f1e2fb426e Merge pull request #26013 from nextcloud/object-store-copy-cache-id
Return the fileid from `copyFromCache` and use it instead of doing an extra query
2021-03-16 16:11:17 +00:00
Vincent Petry e559afb8d4 Merge pull request #25136 from nextcloud/cachejail-search-filter
do cachejail search filtering in sql
2021-03-15 17:45:30 +01:00
Robin Appelman d7748e2b4d verify that cache entry is valid
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-12 17:23:02 +01:00
Robin Appelman c2fc3195dd also implement for FailedCache and NullCache
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-12 17:22:43 +01:00
Robin Appelman d2bcb57a54 add ICopyFromCache trait to expose existing implementation
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-12 17:22:36 +01:00
Roeland Jago Douma e6ef096e52 Merge pull request #25659 from nextcloud/smb-getmetadata-catch
catch notfound and forbidden exception in smb::getmetadata
2021-03-05 08:49:23 +01:00
Robin Appelman b844293536 catch notfound and forbidden exception in smb::getmetadata
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-04 21:34:54 +01:00
Roeland Jago Douma c3f1eb4f7f Remove Redundantcasts
For #25839

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2021-03-04 14:44:04 +01:00
dependabot-preview[bot] eb502c02ff Bump nextcloud/coding-standard from 0.3.0 to 0.5.0
Bumps [nextcloud/coding-standard](https://github.com/nextcloud/coding-standard) from 0.3.0 to 0.5.0.
- [Release notes](https://github.com/nextcloud/coding-standard/releases)
- [Changelog](https://github.com/nextcloud/coding-standard/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/coding-standard/compare/v0.3.0...v0.5.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-02-18 13:31:24 +01:00
Robin Appelman 0363af3790 move AbstractCacheEvent into OCP
otherwise we have concrete cache events in OCP extending non OCP classes

Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-02-15 19:12:30 +01:00
Robin Appelman e511a539b7 adjust tests
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-01-26 15:55:38 +01:00
Robin Appelman 5ae0be08b4 fix search in nested jails
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-01-26 15:30:54 +01:00
Robin Appelman 27f9df2e87 fix cachjail searching for root
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-01-26 15:30:50 +01:00
Robin Appelman a44aab11f7 do cachejail search filtering in sql
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-01-26 15:30:46 +01:00
Christoph Wurst 8b64e92b92 Bump doctrine/dbal from 2.12.0 to 3.0.0
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-01-08 11:45:19 +01:00
Robin Appelman 205386b24e ignore files that have no read permissions during scanning
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-01-06 17:27:31 +01:00
Christoph Wurst 9ce3ea3368 Update license headers
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-12-30 14:07:05 +01:00
Roeland Jago Douma 4973f9b952 Merge pull request #24715 from nextcloud/bug/noid/limit-get-incomplete-to-1
Limit getIncomplete query to one row
2020-12-21 09:15:10 +01:00
Christoph Wurst d89a75be0b Update all license headers for Nextcloud 21
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-12-16 18:48:22 +01:00
Daniel Kesselberg e0e76bb784 Limit getIncomplete query to one row
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2020-12-15 21:42:26 +01:00
Robin Appelman aef1cdba03 code style and dispatchTyped
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-12-02 16:15:02 +01:00
Robin Appelman 88f35d52d2 rename cache event to follow new naming standards
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-11-26 15:39:46 +01:00
Robin Appelman 23fb497ff5 extend cache events
- adds cache remove event
- expose storage id in event
- emit events during cache move

Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-11-26 15:22:03 +01:00
Joas Schilling cffad62771 Empty string is returned as null, but empty string in file cache is the root and exists
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-10 15:35:43 +01:00
Joas Schilling 8027dcbc6f Don't leave cursors open when tests fail
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-09 12:28:17 +01:00
Joas Schilling c07720de77 Use query builder instead of OC_DB in OC\Files\*
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-09 09:05:15 +01:00