Commit graph

1746 commits

Author SHA1 Message Date
Anna Larch
d393e98c9e fix(objectstorage): add retry attempts to S3 connection
Signed-off-by: Anna Larch <anna@nextcloud.com>
2025-04-23 18:40:23 +00:00
Julius Knorr
4120493856
Merge pull request #52039 from nextcloud/backport/52008/stable31
[stable31] fix: Proper order for checking path prefix for getting file by id from cache
2025-04-22 08:45:04 +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
Julius Knorr
e5209d4076 fix: Catch old cached paths and fetch the new one
Signed-off-by: Julius Knorr <jus@bitgrid.net>
2025-04-08 20:08:50 +02:00
Julius Knorr
49f2228570 fix: Proper order for checking path prefix for getting file by id from cache
Signed-off-by: Julius Knorr <jus@bitgrid.net>
2025-04-08 20:08:50 +02:00
Ferdinand Thiessen
45cd76224e fix(cache): always require updates if mtime is null
- Resolves https://github.com/nextcloud/server/issues/51941

Due to strong typings we introduced the parameter needs to be an
integer. Previously it was `null` which was equal to `0`.
So if there is no storage mtime we need to update the cache.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-04-07 08:17:16 +00: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
Git'Fellow
55f50b485f fix(files): Make sure file pointer exists
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2025-03-17 16:05:04 +00:00
Marcel Müller
44e89610ed fix: No IFactory in constructor
Signed-off-by: Marcel Müller <marcel-mueller@gmx.de>
2025-03-05 11:34:02 +00:00
Joas Schilling
93f039fb96 fix(files): Don't do session related work in the constructor of the View
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-03-05 11:34:02 +00:00
Benjamin Gaussorgues
d056e4dc74 perf(files): faster query to fetch incomplete directories
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2025-02-13 14:24:44 +00:00
Robin Appelman
5eac86afec fix: don't use cached root info from shared cache if the watcher has detected an update
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-02-11 20:35:46 +01:00
Robin Appelman
e813f3d605 fix: make locked exception path relative to the view
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-02-11 16:29:43 +00:00
John Molakvoæ
1946fdf80d fix: psalm and OCP @since declarations
Co-authored-by: Ferdinand Thiessen <opensource@fthiessen.de>
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2025-02-09 21:09:12 +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
Richard Steinmetz
936ef804cd fix(s3): treat empty sse_c_key as not set
Co-authored-by: Christian Becker <christian@dabecka.de>
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-01-29 17:35:52 +00: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
Git'Fellow
dcde6d8d74
fix(TemplateManager): Remove warning message
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2025-01-20 13:05:28 +01:00
John Molakvoæ
e5dceaf287
fix: php lint extra tab fix
Co-authored-by: Ferdinand Thiessen <opensource@fthiessen.de>
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2025-01-17 21:37:39 +01:00
skjnldsv
abd3cb60fc fix(files): more conversion tests and translate error messages
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-01-17 18:22:58 +01:00
Elizabeth Danzberger
14976390ff
chore: remove unnecessary method
Signed-off-by: Elizabeth Danzberger <lizzy7128@tutanota.de>
2025-01-16 15:25:15 -05:00
Elizabeth Danzberger
f9adb006b0
fix: prevent missing target file extension
Signed-off-by: Elizabeth Danzberger <lizzy7128@tutanota.de>
2025-01-16 15:23:38 -05:00
skjnldsv
7cbcbdc051 fix(files): conversion api simplification and conflict check
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-01-16 18:35:40 +01:00
Elizabeth Danzberger
fdfeb7f265
feat(api): File conversion API
Signed-off-by: Elizabeth Danzberger <lizzy7128@tutanota.de>
2025-01-15 16:38:18 -05:00
Robin Appelman
f20c483513
fix: use proper way to get numeric storage id for mountpoint
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-01-13 17:59:17 +01:00
provokateurin
1e28657093
fix(PathHelper): Remove null bytes when normalizing path
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-01-13 15:21:21 +01:00
Côme Chilliet
c9757586cd
Merge pull request #49903 from nextcloud/encryption-version-version
fix: restore updated encrypted version when copying versions
2025-01-07 16:42:04 +01:00
Robin Appelman
757076af29
fix: explicitly ignore nested mounts when transfering ownership
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-01-06 14:45:35 +01:00
Robin Appelman
d6418fcd99
fix: translate mount move error messages
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-01-03 15:36:38 +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
012a402cec fix: restore updated encrypted version when copying versions
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-01-03 15:21:01 +01:00
Robin Appelman
54a1ca0da0 fix: don't skip scanner users filesystem if they have a mountpoint at /<user>/files/
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-12-27 15:18:09 +01:00
Côme Chilliet
08c7001a04 fix: Fix copying to the root of another mountpoint
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-12-17 18:24:35 +01:00
provokateurin
4bc0b58c59
fix(View): Catch exceptions when executing mkdir for non-existent parents
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-12-16 16:00:35 +01:00
Daniel Kesselberg
44e4fc5d41
Revert "fix: don't recalculate folder size in Cache::delete if the entry didn't exist"
This reverts commit 5ca9d884d7.

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2024-12-16 14:03:33 +01:00
Git'Fellow
efa615bb01 fix(TemplateManager): Make sure TemplateFolder is a Folder
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2024-12-13 11:27:54 +01:00
Robin Appelman
c21888e6ae
Merge pull request #47342 from nextcloud/cache-delete-notfound-size
fix: don't recalculate folder size in Cache::delete if the entry didn't exist
2024-12-12 17:54:48 +01:00
Kate
1f6c8c1702
Merge pull request #49739 from nextcloud/s3-disable-multipart-remove-debug
chore: cleanup leftover debug statement
2024-12-11 16:47:47 +01:00
John Molakvoæ
3baa91d842
Merge pull request #40394 from nextcloud/updater-change-mimetype-objectstore 2024-12-11 08:40:58 +01:00
John Molakvoæ
ed54713e6a
Merge pull request #49695 from nextcloud/copy-update-cache-excluded 2024-12-11 08:40:49 +01:00
Robin Appelman
5896f8c37f
chore: cleanup leftover debug statement
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-12-09 15:40:01 +01:00
Robin Appelman
e7b882dd22
fix: only do cache copy in updater if the parent folder should be in cache
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-12-06 17:47:00 +01:00
Julius Knorr
3328cea2ea
Merge pull request #49352 from nextcloud/s3-disable-multipart
improve handling of large single-part s3 uploads
2024-12-06 09:22:07 +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
Robin Appelman
41c53648ad
Merge pull request #49262 from nextcloud/move-from-encryption-no-opt
fix: don't do same-storage move optimization with encryption wrappers
2024-12-05 17:42:47 +01:00
Robin Appelman
6cf66f95ce
fix: get object size from stream where possible
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-12-05 15:16:22 +01:00
Robin Appelman
ca547bb913
fix: don't perform the extra buffering in s3 stream write when the stream size is known
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-12-05 14:07:40 +01:00
Robin Appelman
7da8951c57
fix: use php://temp instead of php://memory for multi-part upload buffer
this should reduce potential memory issues if the limit is set very high

Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-12-05 14:07:37 +01:00
Robin Appelman
c2f474ff49
Merge pull request #48769 from nextcloud/copy-share-unmasked
Fix incorrect permissions when copying shared files
2024-12-04 20:11:41 +01:00