Commit Graph

1642 Commits (df02f539cc8074bcd580d82d63cf205ea67938fb)

Author SHA1 Message Date
provokateurin 5cc14e2618 fix(View): Catch exceptions when executing mkdir for non-existent parents
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-12-17 09:40:42 +07:00
Git'Fellow 28c6c63cc5 fix(TemplateManager): Make sure TemplateFolder is a Folder
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2024-12-16 06:05:23 +07:00
Louis cabedbf9c3
Revert "[stable30] fix: Handle copy of folders containing live photos" 2024-12-12 14:28:09 +07:00
John Molakvoæ d8c3425878
Merge pull request #49650 from nextcloud/backport/49293/stable30
[stable30] fix: Handle copy of folders containing live photos
2024-12-12 14:19:55 +07:00
John Molakvoæ d108a12b0e
Merge pull request #49794 from nextcloud/backport/40394/stable30
[stable30] fix mimetype not being updated when changing file extention on objectstore
2024-12-12 13:19:59 +07:00
Robin Appelman c3a2d789f1 fix: fix mimetype not being updated when changing file extention on object store
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-12-11 09:00:44 +07:00
Louis Chemineau 9ff3ba7ce0
fix: Correctly create NonExistingFolder during copy
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-12-05 10:35:42 +07:00
Robin Appelman 46ed8cdfde fix: don't propagate future mtimes
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-12-04 19:14:51 +07:00
Robin Appelman 44727d4862
fix: fix availability wrapper not applying
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-11-26 18:50:00 +07:00
Robin Appelman 3522819624
fix: throw correct exception type when we can't verify if an s3 bucket exists
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-11-26 18:49:56 +07:00
Git'Fellow 003bb0aca4 fix(storage): Try to delete existing target
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2024-11-21 07:44:43 +07:00
Josh Richards 1fc1543a8b
fix: Clean-up some remaining readdir calls with undesirable false evaluation potential
Signed-off-by: Josh Richards <josh.t.richards@gmail.com>
2024-11-13 09:11:17 +07:00
Victor Dubiniuk e1df152eb9 Fix Undefined variable: response notice in case of non-404 error
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-11-08 16:14:47 +07:00
Daniel Calviño Sánchez 1a98cd52b5 fix: Fix copying or moving from shared groupfolders
When copying or moving between two local storages the source path (on
disk) to copy or move from is got from the unjailed path of the source
storage. However, if the source storage has more than one jail getting
the unjailed path resolves the most external jail, but the source path
needs to be got from the most internal jail instead (the one closer to
the local storage).

This can happen, for example, with a shared groupfolder: in that case
there is an external jail for the shared storage, and one internal jail
for the groupfolder storage wrapped by the shared storage.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2024-10-29 15:02:49 +07:00
Julius Knorr 643e9ffb06 fix: Allow overriding shouldApplyQuota check from child classes
Signed-off-by: Julius Knorr <jus@bitgrid.net>
2024-10-28 09:46:45 +07:00
Benjamin Gaussorgues 8290de3b93
Merge pull request #48077 from nextcloud/backport/47852/stable30 2024-10-02 10:43:41 +07:00
Joas Schilling abe82432cb
fix(querybuilder): Fix boolean type so that oracle handles boolean well
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-09-25 08:40:53 +07:00
Kate 61f3a09dcd
Merge pull request #48233 from nextcloud/backport/48222/stable30 2024-09-20 23:02:25 +07:00
Kate ae7241f6c8
Merge pull request #48221 from nextcloud/backport/30/fix_move_on_same_bucket 2024-09-20 10:06:14 +07:00
Robin Appelman e8c8ab58f7 perf: reuse cache info we already have when moving to object store
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-09-20 07:50:23 +07:00
Christoph Fiehe 82be489f53 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-19 18:53:36 +07:00
Robin Appelman dd68f678b2 fix: ensure parent folder exists when writing a file to object storage
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-09-19 13:59:08 +07:00
Robin Appelman 7b1b5526b7 fix: verify that parent exists in cache when inserting
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-09-19 13:59:08 +07:00
Robin Appelman 1e03bd5d18 fix: fix object store id for test object store
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-09-19 13:59:08 +07:00
Robin Appelman e8c7216d5b fix: cleanup objectstore file_put_content
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-09-19 13:59:08 +07:00
Robin Appelman 9b07b7d9c1 fix: create intermediate directories for objectstore moveFromStorage
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-09-19 13:59:08 +07:00
Robin Appelman 5bcd74ae87 fix: get source file before moving the cache item in objectstore moveFromStorage
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-09-19 13:59:08 +07:00
John Molakvoæ 2308294a68 chore: improve hash_file php usage in Local Storage
Co-authored-by: Ferdinand Thiessen <opensource@fthiessen.de>
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2024-09-16 17:08:10 +07:00
Louis Chemineau 7c99850958 fix(files): Ensure that the hash method does not return null
To match beececf660/lib/private/Files/View.php (L1050)

- Fix https://github.com/nextcloud/server/issues/44110

Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-09-16 17:08:10 +07:00
Robin Appelman 914e8f9ce2 fix: misc code fixes around db sharding
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-09-16 12:19:20 +07:00
Andy Scherzinger fa355386f7
Merge pull request #47796 from nextcloud/backport/47756/stable30
[stable30] fix(files): Check if target path is a descendant of the shared folder
2024-09-15 21:25:30 +07:00
provokateurin 69b01a265c fix(S3ConfigTrait): Allow proxy field to take false
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-09-15 17:19:40 +07:00
provokateurin eb3c1a2bee fix(Storage\Local): Do not call getSourcePath() on SplFileInfo
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-09-15 14:53:34 +07:00
provokateurin 886561761a fix(files): Adjust Cache::searchQuery() parameter name to match interface
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-09-13 17:02:33 +07:00
Andy Scherzinger 0fc355be58
Merge pull request #47874 from nextcloud/backport/47853/stable30
[stable30] fix: make swift connect exception message more informative
2024-09-10 20:58:06 +07:00
Robin Appelman 7206e5e086 fix: make swift connect exception message more informative
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-09-10 14:47:23 +07:00
Julius Knorr a137eebb82 fix: Only write once to template instead of create/copy
Signed-off-by: Julius Knorr <jus@bitgrid.net>
2024-09-10 08:07:26 +07:00
Git'Fellow 2bb8c023c2 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-06 02:00:43 +07:00
Robin Appelman 05f79f23cd fix: write object to the correct urn when moving from another storage to object store
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-09-04 23:17:04 +07:00
provokateurin b9aaa9f2e0 fix(files): Create non-existent parents of mountpoints
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-09-04 18:04:13 +07:00
Julius Härtl 2e312e47f4
fix: Do not fail to get internal path on NonExistingFile/NonExistingFolder
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-09-03 00:40:03 +07:00
Ferdinand Thiessen 6ea52ed218 fix: Adjust filename validation messages
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-08-30 14:48:23 +07:00
Ferdinand Thiessen bcd26323c1
fix: Also validate parent path in `verifyPath`
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-08-28 20:24:03 +07:00
Ferdinand Thiessen ef3bd03849
fix: Allow read-only filename validation to allow reading files
Needed to read files with the "Windows compatibility" feature.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-08-28 20:23:54 +07:00
Ferdinand Thiessen 183fcef39b
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 20:23:50 +07:00
Louis Chemineau e5a8f996bd chore: Apply php:cs recommendations
Signed-off-by: Louis Chemineau <louis@chmn.me>

[skip ci]
2024-08-28 14:54:14 +07:00
Robin Appelman 693ee5ea0f fix: hint storage id in more places
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-08-28 14:54:14 +07:00
Robin Appelman 82d7eaf80a feat: implement distributing partitioned queries over multiple shards
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-08-28 14:54:14 +07:00
Ferdinand Thiessen 1e49c83556 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-22 08:51:58 +07:00
Robin Appelman fff198657f fix: use mountpoint from storage to find the encryption keys
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-08-20 14:24:43 +07:00