Louis Chemineau
199b0bd4d9
fix(files): Correctly copy the cache information on copy operations
...
Needed to copy the `encrypted` flag of encrypted files when those files are two level down in a moved folder.
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-12-03 17:04:44 +07:00
Louis Chemineau
f9cda54cbf
fix: Wrap partial cache entry in CacheEntry
...
Because it is returned here: 7b7d07c575/lib/private/Files/Cache/Cache.php (L136-L137)
And some implementation got stricter: df95bf6ba8/lib/Mount/RootEntryCache.php (L23-L28)
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-11-21 17:13:24 +07:00
John Molakvoæ
e3e22e28c0
Merge pull request #47847 from nextcloud/fix-copying-or-moving-from-shared-groupfolders
2024-10-29 11:33:12 +07:00
provokateurin
0de4843b73
refactor(Storage): Align all Storage constructors
...
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-10-23 13:24:18 +07:00
Robin Appelman
7cb07bf306
test: add test for nested jail cross-storage move
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-10-10 15:16:12 +07:00
provokateurin
f28e74b7a8
refactor(Storage): Make all parameter types strong types
...
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-10-07 15:00:05 +07:00
provokateurin
4412b2b8a8
refactor(Wrapper\Encryption): Migrate to strong types
...
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-10-07 14:11:56 +07:00
provokateurin
d1977b8d25
refactor(Stream\Encryption): Migrate to strong types
...
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-10-07 14:02:27 +07:00
provokateurin
256a8d8903
test: Fix IStorage return types
...
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-09-26 17:29:48 +07:00
Côme Chilliet
4adf5fd5b0
fix(tests): Pause trashbin for lock tests in ViewTest using rmdir and unlink
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-09-24 10:37:38 +07:00
Côme Chilliet
40b404c566
Merge pull request #48111 from nextcloud/fix/move-storage-constructor-to-specific-interface
...
fix: Move storage constructor to specific interface
2024-09-23 15:57:38 +07:00
Côme Chilliet
b8ab560bdd
fix(tests): Fix test to remove call to non-existing constructor
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-09-23 14:50:43 +07:00
Louis Chemineau
22d5d29c01
fix(users): Don't crash if disabled user is missing in the database
...
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-09-23 10:40:38 +07:00
provokateurin
9836e9b164
chore(deps): Update nextcloud/coding-standard to v1.3.1
...
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-09-19 14:21:20 +07:00
Robin Appelman
1db3d94e1e
test: put parent items into cache in tests
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-09-18 16:10:14 +07:00
Robin Appelman
74adaebf96
test: fix incorrect ltrim usage in test
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-09-18 14:11:27 +07:00
Côme Chilliet
cfca7e7911
fix(tests): Fix most obvious errors in ObjectStore tests
...
Some are still failing
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-09-17 19:20:13 +07:00
Côme Chilliet
2bdc97741c
fix(tests): Fix Folder tests
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-09-17 19:19:08 +07:00
Stephan Orbaugh
f25acfb799
Merge pull request #47986 from cfiehe/fix_move_on_same_bucket
...
perf(ObjectStoreStorage): Improve (slow) move on same object bucket
2024-09-17 16:35:19 +07:00
Côme Chilliet
22822d5e9b
fix: Fix other uses of removed Storage interface
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-09-16 18:11:36 +07:00
Côme Chilliet
801733e523
fix: Remove OCP\Files\Storage interface deprecated since version 9
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-09-16 18:10:48 +07:00
Christoph Fiehe
9597072ada
perf(ObjectStoreStorage): Improve (slow) move on same object bucket
...
This commit fixes the issue #47856 . When you upload a file into a group folder and when you use a single S3 bucket as primary storage, the final move operation hangs for a long time. In the background, Nextcloud initiates a copy-delete sequence from the bucket into the bucket, with causes a lot unnecessary overhead. Nextcloud thinks that the file must be imported to another storage and does not recognize that everything is done on the same object bucket. In that case, the import step can be completely skipped, which saves time, network bandwidth and reduces the load on the object storage.
The behavior improves a lot with https://github.com/nextcloud/server/pull/46013 . However, there are still some put messages that are being sent to the object storage when you use an object storage as primary storage and upload files into a group folder.
Co-authored-by: Kate <26026535+provokateurin@users.noreply.github.com>
Signed-off-by: Christoph Fiehe <c.fiehe@eurodata.de>
2024-09-16 15:11:09 +07:00
Christoph Wurst
49dd79eabb
refactor: Add void return type to PHPUnit test methods
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2024-09-15 22:32:31 +07:00
Anna Larch
6c36c54dc6
feat(db): switch from settype to casts
...
Signed-off-by: Anna Larch <anna@nextcloud.com>
2024-09-15 19:26:58 +07:00
Git'Fellow
0308001118
fix(files): Check if the target path is a descendant of the shared folder path
...
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
fix: tests
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
fix: fix tests
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
fix: add tests
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
fix: tests
2024-09-05 23:54:01 +07:00
Anna Larch
8af7ecb257
chore: adjust code to adhere to coding standard
...
Signed-off-by: Anna Larch <anna@nextcloud.com>
2024-09-05 21:23:38 +07:00
Kate
09fef8f0ec
Merge pull request #47417 from nextcloud/fix/files/create-mountpoint-parents
2024-09-04 20:00:24 +07:00
Andy Scherzinger
bfb5835750
Merge pull request #47546 from nextcloud/fix/files-view-error-messages
...
fix: Adjust filename validation messages
2024-08-29 23:28:50 +07:00
Ferdinand Thiessen
030c209d22
fix: Renaming does not need update but delete permissions
...
Renaming is basically copy + delete (a move), so no need to update permissions.
Especially if the node is in a invalid directory the node should be moveable but not editable.
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-08-28 17:22:20 +07:00
Louis Chemineau
2574cbfa61
chore: Apply php:cs recommendations
...
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-08-28 10:44:18 +07:00
Robin Appelman
62f8b6517f
feat: implement distributing partitioned queries over multiple shards
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-08-28 10:21:19 +07:00
Ferdinand Thiessen
81c6c24cd5
fix: Adjust filename validation messages
...
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-08-27 23:12:24 +07:00
Daniel Kesselberg
af6de04e9e
style: update codestyle for coding-standard 1.2.3
...
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2024-08-25 19:34:58 +07:00
provokateurin
ebfbe99652
fix(files): Create non-existent parents of mountpoints
...
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-08-22 12:04:31 +07:00
Joas Schilling
e1caa198e3
ci: Skip flaky test on PHP 8.3
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-08-21 13:13:12 +07:00
Ferdinand Thiessen
b9cc7bcec7
fix: `FilenameValidator::isForbidden` should only check forbidden files
...
And not forbidden basenames as this is used for different purposes.
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-08-21 04:16:14 +07:00
John Molakvoæ
d35c4eb911
Merge branch 'master' into jr-readdir-false-false
...
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2024-08-16 10:53:50 +07:00
Ferdinand Thiessen
21f558b12b
Merge pull request #46379 from nextcloud/fix/folder-search-owner
...
fix: `OCP\Files\Node\Folder::search` was not setting the owner
2024-07-30 13:04:15 +07:00
Joas Schilling
829f2b9bc7
fix(db): Promote the use of `getDatabaseProvider` to reduce the impage of removed upstream platforms
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-07-19 11:21:14 +07:00
Robin Appelman
c5b687271b
fix: make batch propagator work with sharding restrictions
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-07-17 19:16:07 +07:00
Robin Appelman
0931492ff0
fix: make usermountcache compatible with sharding
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-07-17 19:16:05 +07: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 +07: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 +07: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 +07: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 +07: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 +07:00
Andy Scherzinger
1f7e2ba599
chore: Add SPDX header
...
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-05-13 17:41:36 +07:00
Robin Appelman
88ccea6d06
test: add test for jail watcher
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-04-08 18:42:44 +07: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 +07:00
John Molakvoæ
5a1ed2d9ea
Merge pull request #40131 from summersab/refactor/OC-Server-getShareManager
2024-03-15 16:05:59 +07: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 +07: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 +07:00
Thomas Citharel
ffeb797ecc
refactor(mimeloader): modernize MimeTypeLoader
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2024-03-14 17:24:36 +07:00
Maxence Lange
467c84ec53
feat(files): copy live photos
...
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2024-03-08 13:09:22 +07:00
Robin Appelman
51019fda7a
fix: clearify logic around getMountsForFileId filtering
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-03-06 10:54:00 +07:00
Robin Appelman
fd4ca13867
Merge pull request #43471 from nextcloud/cache-path-by-id
...
Cache path by id
2024-03-05 17:26:25 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07:00
Thomas Citharel
30798eb6c2
refactor(objectstorage): cleanup types
...
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2024-02-02 14:59:21 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07:00
Robin Appelman
f4fa2fb93c
optimize isShared and isMounted
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-11-08 17:34:58 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07:00
Simon L
489a57e9a3
Merge pull request #39707 from nextcloud/bugfix/39706/local-ext-storage-unavailable-mode
2023-09-04 12:05:36 +07: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 +07:00
Robin Appelman
e704470c79
update tests
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-08-31 22:37:10 +07: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 +07: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 +07: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 +07:00
Robin Appelman
e73889a240
cleanup di for share permissions wrapper
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-08-16 15:25:05 +07:00
Ferdinand Thiessen
5b37d6d9ff
tests: Add test for CacheEntry getters
...
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-08-16 14:00:21 +07: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 +07:00
Joas Schilling
ad12a740cb
fix!: Remove symfony EventDispatcherInterface from User
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-07-27 23:13:37 +07:00
Joas Schilling
44a0a62107
fix: Move Node HookConnecter events to IEventDispatcher
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-07-27 09:57:53 +07:00
Josh Richards
e7cbaf3ee3
Clean-up some remaining readdir calls with undesirable false evaluation potential
...
Signed-off-by: Josh Richards <josh.t.richards@gmail.com>
2023-06-24 15:37:06 +07:00
Arthur Schiwon
f6ac874dbf
chore: ugly type juggling
...
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-06-21 16:53:20 +07:00
Robin Appelman
2ea41dab93
repair -1 folder sizes for object store background scan
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-05-10 19:33:26 +07:00
Côme Chilliet
b294edad80
Merge branch 'master' into enh/type-iconfig-getter-calls
...
Signed-off-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
2023-04-20 16:52:38 +07:00
Julius Härtl
d9c81f56ad
tests: Adapt node related unit tests mocks to required root view
...
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-04-17 23:46:52 +07:00
Julius Härtl
160bd75d0a
fix: Use proper path when creating node instances
...
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-04-17 23:46:52 +07:00
Côme Chilliet
8d5165e8dc
Adapt tests to config value typing
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-04-05 17:42:14 +07:00
Côme Chilliet
4393b96542
Remove unused method getLocalFolder
...
It’s not used and not in any OCP interface/class.
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-04-03 10:52:34 +07:00