Louis Chemineau
4249a5f66a
feat(files): Add appconfig value to disable fixed userfolder permissions optimization
...
Signed-off-by: Robin Appelman <robin@icewind.nl >
Signed-off-by: Louis Chemineau <louis@chmn.me >
2026-01-14 19:21:06 +01:00
Robin Appelman
050c9da6de
test: add tests for watcher check filter
...
Signed-off-by: Robin Appelman <robin@icewind.nl >
2025-12-31 13:30:17 +01:00
Robin Appelman
d1a760d618
fix: ensure all object store configuration have distict bucket names
...
Signed-off-by: Robin Appelman <robin@icewind.nl >
2025-11-20 15:36:14 +01:00
Robin Appelman
6d487ac990
fix: make bucket mapper work with new multi-object-store config
...
Signed-off-by: Robin Appelman <robin@icewind.nl >
2025-11-20 15:36:13 +01:00
Robin Appelman
f21dcac9ef
feat: allow object store configuration aliases for easier migrations
...
Signed-off-by: Robin Appelman <robin@icewind.nl >
2025-11-20 15:36:11 +01:00
Robin Appelman
ff74df3528
feat: allow configuring multiple objectstore configurations
...
Signed-off-by: Robin Appelman <robin@icewind.nl >
2025-11-20 15:16:39 +01:00
Robin Appelman
2221c69219
fix: make failed availability check apply in the same request
...
Signed-off-by: Robin Appelman <robin@icewind.nl >
2025-11-12 17:45:41 +00:00
Daniel Kesselberg
fecaddf4cc
fix: validate filename when creating file from template
...
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de >
2025-11-04 16:08:49 +01:00
Robin Appelman
7162c3e8ed
feat: move primary object store configuration to a single place
...
Signed-off-by: Robin Appelman <robin@icewind.nl >
2025-09-24 18:39:21 +02:00
Côme Chilliet
ae080bf8d8
fix(tests): Fix fopen in mock returning null which is not a valid return
...
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com >
2025-08-26 08:42:58 +02:00
Robin Appelman
5f45b4f5fc
test: add test that object store folder copy preserves folder size
...
Signed-off-by: Robin Appelman <robin@icewind.nl >
2025-06-02 09:56:30 +00:00
provokateurin
29d69826b6
feat(UserMountCache): Emit events for added, removed and updated mounts
...
Signed-off-by: provokateurin <kate@provokateurin.de >
2025-05-25 16:46:53 +02:00
Robin Appelman
66362e6b51
test: add test for nested cache jail unjailedroot
...
Signed-off-by: Robin Appelman <robin@icewind.nl >
2025-05-15 14:57:05 +02:00
Louis Chemineau
27ed921ad5
fix: Transfer ownership with S3 as primary
...
When using S3 as primary storage, transferring ownership with the `--move` option fail with the following error:
`SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '8-45b963397aa40d4a0063e0d85e4fe7a1' for key 'fs_storage_path_hash'`
The `--move` option moves the entire home folder from one account to another.
The error means that the move failed because the destination folder already exist in `oc_filecache`.
- With S3 as primary storage, folders only exists as entries in `oc_filecache`.
- With S3 as primary storage, `moveFromStorage(...)` only moves the cache entry, as nothing needs to be moved on disk. This cache move does not delete potentially pre-existing destination folder.
- With Local storage, `moveFromStorage(...)` calls `rename(...)` which delete pre-existing folder.
- `transfer(...)`: 687a4d9ac7/apps/files/lib/Service/OwnershipTransferService.php (L112)
- `oneTimeUserSetup(...)`: 687a4d9ac7/lib/private/Files/SetupManager.php (L261-L262)
- `mkdir(...)`: 687a4d9ac7/lib/private/Files/ObjectStore/ObjectStoreStorage.php (L91-L135)
- `moveFromStorage(...)`: 687a4d9ac7/lib/private/Files/ObjectStore/ObjectStoreStorage.php (L635-L636)
Delete pre-existing folder in `moveFromStorage(...)`
Signed-off-by: Louis Chemineau <louis@chmn.me >
2025-04-16 10:19:17 +02:00
Ferdinand Thiessen
ef1a73a8dc
fix(IFilenameValidator): correctly handle case insensitivity
...
- forbidden names and forbidden base names are case **insensitive**
so we need to check all lowercase here.
- add test that config value is also read case insensitive.
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de >
2025-03-28 20:54:23 +01:00
skjnldsv
63d9a11575
fix: make sure we process mime extensions as string
...
Signed-off-by: skjnldsv <skjnldsv@protonmail.com >
2025-02-09 21:09:12 +01:00
Ferdinand Thiessen
26c93519f2
fix: Harden files scanner for invalid null access
...
Co-authored-by: Ferdinand Thiessen <opensource@fthiessen.de >
Co-authored-by: Kate <26026535+provokateurin@users.noreply.github.com >
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de >
2025-01-28 19:49:03 +00:00
Louis Chemineau
5b2af8b4c0
fix: Metadata field search
...
Signed-off-by: Louis Chemineau <louis@chmn.me >
2025-01-25 09:44:50 +00:00
Robin Appelman
7b2cb2e3bc
test: update test for mountpoint numeric storage id
...
Signed-off-by: Robin Appelman <robin@icewind.nl >
2025-01-13 18:09:29 +01:00
Robin Appelman
16d0363937
fix: improve checks for moving shares/storages into other mounts
...
Signed-off-by: Robin Appelman <robin@icewind.nl >
2025-01-03 15:36:32 +01:00
Robin Appelman
37199779de
fix: fix mimetype not being updated when changing file extention on object store
...
Signed-off-by: Robin Appelman <robin@icewind.nl >
2024-12-05 18:05:13 +01:00
Louis Chemineau
425e0c3660
test(View): Copy preserves content
...
Signed-off-by: Louis Chemineau <louis@chmn.me >
2024-12-03 18:29:32 +01:00
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 +01: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 +01:00
John Molakvoæ
e3e22e28c0
Merge pull request #47847 from nextcloud/fix-copying-or-moving-from-shared-groupfolders
2024-10-29 11:33:12 +01:00
provokateurin
0de4843b73
refactor(Storage): Align all Storage constructors
...
Signed-off-by: provokateurin <kate@provokateurin.de >
2024-10-23 13:24:18 +02: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 +02:00
provokateurin
f28e74b7a8
refactor(Storage): Make all parameter types strong types
...
Signed-off-by: provokateurin <kate@provokateurin.de >
2024-10-07 15:00:05 +02:00
provokateurin
4412b2b8a8
refactor(Wrapper\Encryption): Migrate to strong types
...
Signed-off-by: provokateurin <kate@provokateurin.de >
2024-10-07 14:11:56 +02:00
provokateurin
d1977b8d25
refactor(Stream\Encryption): Migrate to strong types
...
Signed-off-by: provokateurin <kate@provokateurin.de >
2024-10-07 14:02:27 +02:00
provokateurin
256a8d8903
test: Fix IStorage return types
...
Signed-off-by: provokateurin <kate@provokateurin.de >
2024-09-26 17:29:48 +02: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 +02: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 +02: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 +02: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 +02: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 +02: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 +02: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 +02: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 +02: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 +02: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 +02: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 +02: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 +02: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 +02: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 +02: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 +02: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 +02: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 +02:00
Kate
09fef8f0ec
Merge pull request #47417 from nextcloud/fix/files/create-mountpoint-parents
2024-09-04 20:00:24 +02: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 +02:00