Commit Graph

576 Commits

Author SHA1 Message Date
Robin Appelman 0931492ff0 fix: make usermountcache compatible with sharding
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-07-17 19:16:05 +02:00
Ferdinand Thiessen 322b3946d9 fix(dav): Verify target path in setName instead of source path
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-07-16 12:57:11 +02:00
Ferdinand Thiessen 69341e4306 refactor: Migrate filename validation logic from Storage to FilenameValidator
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-07-16 12:49:09 +02:00
Ferdinand Thiessen bdbeabafa7 feat: Add forbidden_filename_basenames config option
This allows to configure forbidden filenames (the full filename like `.htaccess`)
and also forbidden basenames like `com0` where `com0`, `com0.txt` and `com0.tar.gz` will match.
We need this as only using basenames was too restrictive and will cause problems on some systems when updating.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-07-15 19:39:18 +02:00
Ferdinand Thiessen cf935e33ae fix: OCP\Files\Node\Folder::search was not setting the owner
The owner was not set on the file info causing e.g. webdav searches to never return the known owner.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-07-11 15:46:44 +02:00
Ferdinand Thiessen 46f1efac41 feat: Add IFilenameValidator to have one consistent place for filename validation
Co-authored-by: Ferdinand Thiessen <opensource@fthiessen.de>
Co-authored-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-07-09 15:04:34 +02:00
Andy Scherzinger 1f7e2ba599 chore: Add SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-05-13 17:41:36 +02:00
Robin Appelman 88ccea6d06 test: add test for jail watcher
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-04-08 18:42:44 +02:00
Côme Chilliet ec5133b739 fix: Apply new coding standard to all files
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-04-02 14:16:21 +02:00
John Molakvoæ 5a1ed2d9ea Merge pull request #40131 from summersab/refactor/OC-Server-getShareManager 2024-03-15 16:05:59 +01:00
Andrew Summers 45eb4a839d Refactor OC\Server::getLockingProvider
Signed-off-by: Andrew Summers <18727110+summersab@users.noreply.github.com>
2024-03-15 13:11:33 +01:00
John Molakvoæ 9338ef36de Merge branch 'master' into refactor/OC-Server-getShareManager
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2024-03-15 13:03:34 +01:00
Thomas Citharel ffeb797ecc refactor(mimeloader): modernize MimeTypeLoader
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2024-03-14 17:24:36 +01:00
Maxence Lange 467c84ec53 feat(files): copy live photos
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2024-03-08 13:09:22 -01:00
Robin Appelman 51019fda7a fix: clearify logic around getMountsForFileId filtering
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-03-06 10:54:00 +01:00
Robin Appelman fd4ca13867 Merge pull request #43471 from nextcloud/cache-path-by-id
Cache path by id
2024-03-05 17:26:25 +01:00
Dariusz Olszewski 277a6fc7ea test: Additional tests for issue #35776
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2024-03-04 14:25:52 +01:00
Robin Appelman a9ee278ec6 perf: cache path by id to speedup getting nodes by id
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-03-04 13:57:31 +01:00
Ferdinand Thiessen 27642d3e6d fix: Enforce forbidden filename characters on backend
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-02-28 22:19:25 +01:00
Robin Appelman 3890aa54be add some comments for the distributive operation and add another test
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-02-16 10:59:33 +01:00
Robin Appelman 1c87cee5ad add extra flatten step to improve "or eq" -> "in" optimization
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-02-15 17:55:44 +01:00
Robin Appelman 7ca516773f add a search query step to split IN statements that are to large for oci
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-02-15 17:55:43 +01:00
Robin Appelman 2e14a7a4a6 optimize query pattern used by storage filter
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-02-15 17:55:40 +01:00
Robin Appelman 963721330f only get the path for the users cached mount info when we use it
most of the time we shouldn't need it so we can save joining on the filecache

Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-02-09 09:50:43 +01:00
Robin Appelman 5aea3f4d76 make storage directory test be a bit less strict about mtimes
sometimes the clock ticks over during the test

Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-02-07 12:13:00 +01:00
Thomas Citharel 30798eb6c2 refactor(objectstorage): cleanup types
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2024-02-02 14:59:21 +01:00
Robin Appelman 7aed19ac98 add test for updating etag with unchanged mtime in child folder
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-01-31 18:05:12 +01:00
Robin Appelman 2cf9ed7ca5 add test for updating etag with unchanged mtime
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-01-31 18:05:11 +01:00
Joas Schilling 5850695284 fix(tests): Add messages to assertions to explain what failed
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-01-26 20:46:14 +01:00
Ferdinand Thiessen 8e02014b55 chore(tests): Migrate object storage unit tests from drone to GitHub Actions
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-01-26 14:54:23 +01:00
Ferdinand Thiessen fceb781058 fix(tests): Fix deprecation errors in S3 tests
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-01-26 14:53:33 +01:00
Joas Schilling aa5f037af7 chore: apply changes from Nextcloud coding standards 1.1.1
Signed-off-by: Joas Schilling <coding@schilljs.com>
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2023-11-23 10:36:13 +01:00
Ferdinand Thiessen 5172baaf8b fix(ObjectStore): Make copying behavior consistent with local storage
Drop file permissions on copy like we do on local storage.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-11-17 12:54:37 +01:00
Robin Appelman b942850af9 optimize UserMountCache::registerStorage
Signed-off-by: Robin Appelman <robin@icewind.nl>
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2023-11-16 16:21:59 +01:00
Robin Appelman f4fa2fb93c optimize isShared and isMounted
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-11-08 17:34:58 +01:00
Robin Appelman b11ca34bbd Merge pull request #40499 from nextcloud/known-mtime-wrapper
add wrapper for external storage to ensure we don't get an mtime that is lower than we know it is
2023-09-21 18:33:15 +02:00
Daniel Kesselberg 18af7cc86b test: add test for cache mount provider
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2023-09-20 15:42:23 +02:00
Robin Appelman ccf8843d9f apply known mtime wrapper for external storages
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-09-19 13:58:35 +02:00
Robin Appelman 5bf34979fe add wrapper to ensure we don't get an mtime that is lower than we know it is
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-09-19 13:58:15 +02:00
Julius Härtl 7f958e81d3 fix: Pass parent to NonExistingFile instances
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-09-13 10:28:28 +02:00
Robin Appelman 64f62f7cfd Merge pull request #39863 from nextcloud/sharing-mask-wrapper
move share permission logic to storage wrapper
2023-09-04 14:05:14 +02:00
Simon L 489a57e9a3 Merge pull request #39707 from nextcloud/bugfix/39706/local-ext-storage-unavailable-mode 2023-09-04 12:05:36 +02:00
John Molakvoæ (skjnldsv) f828dce597 Fix sharing creation insert and get
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2023-09-02 10:25:24 +02:00
Robin Appelman e704470c79 update tests
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-08-31 22:37:10 +02:00
Andrew Summers 6b09a79227 Refactor OC\Server::getShareManager
Signed-off-by: Andrew Summers <18727110+summersab@users.noreply.github.com>
2023-08-29 21:32:58 -05:00
Vincent Petry 8d1a3daa3f Allow ext storage Local to go unavailable
Whenever an external storage of type Local points at a non-existing
directory, process this as a StorageNotAvailable instead of returning
404.

This makes desktop clients ignore the folder instead of deleting it when
it becomes unavailable.

The code change was limited to external storages to avoid issues during
setup and with the default home storage.
Signed-off-by: Vincent Petry <pvince81@yahoo.fr>
2023-08-29 11:04:31 +02:00
Robin Appelman b6c3507aa0 only determine quota_include_external_storage once for quota wrapper
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-08-18 14:25:28 +02:00
Robin Appelman e73889a240 cleanup di for share permissions wrapper
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-08-16 15:25:05 +02:00
Ferdinand Thiessen 5b37d6d9ff tests: Add test for CacheEntry getters
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-08-16 14:00:21 +02:00
Côme Chilliet ee756579a7 Fix setting static property in tests on PHP 8.3
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-08-14 16:27:56 +02:00