Commit graph

1503 commits

Author SHA1 Message Date
John Molakvoæ
063a726280 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 15:16:56 +00:00
Louis Chemineau
3dc0952551 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 15:16:56 +00:00
John Molakvoæ
46a15f2915
Merge pull request #47861 from nextcloud/backport/47860/stable28 2024-09-15 22:09:21 +02:00
provokateurin
6e1be06e97 fix(Storage\Local): Do not call getSourcePath() on SplFileInfo
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-09-15 14:51:49 +00:00
provokateurin
aff9322287 fix(files): Adjust Cache::searchQuery() parameter name to match interface
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-09-13 17:00:21 +00:00
Julius Knorr
fa1f0022fa
fix: Only write once to template instead of create/copy
Signed-off-by: Julius Knorr <jus@bitgrid.net>
2024-09-10 10:13:20 +02:00
provokateurin
e77ac5c8e1 fix(files): Create non-existent parents of mountpoints
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-09-04 18:01:36 +00:00
Julius Härtl
53f92e68e6 fix: Pass the mountpoint target user to storages without owner
Storages that do not have a dedicated owner (e.g. groupfolders, external
storages) currently always assume the current session user as the owner.
This leads to several issues when there is no user session but a node is
obtained through a user folder.

In order to have the correct user available we need to pass the user
that is used to setup a mountpoint along to the storage layer as we
generally assume that an owner is available for those.

Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-09-03 12:23:37 +02:00
Robin Appelman
c2af3e04b0 fix: use mountpoint from storage to find the encryption keys
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-08-20 14:18:16 +00:00
Robin Appelman
52da5f715f feat: store the mountpoint of storages in the mount options
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-08-20 14:18:16 +00:00
Côme Chilliet
a59176b7dc fix(encryption): Fix mountpoint check to accept if several are found
There is no strong requirement to have only one mount for a given
 storage id. Also the error in this case would be misleading.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-08-07 18:59:42 +00:00
Ferdinand Thiessen
e102c752f9 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-30 11:05:22 +00:00
Julius Härtl
ce6768027e fix: Do not return partial file info if we have a cache entry
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-07-25 17:40:12 +00:00
Ferdinand Thiessen
1f1d625212 fix: FileInfo from View should have the correct name of a mountpoint
If a mountpoint is returned from a `View` the name must match the view scoped name
and not the global name.
For example group folders have a name like `1` or `2` (the ID),
but the name of the FileInfo returned fro mthe View should be the mount point name,
like `First groupfolder` or similar.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-07-24 13:25:05 +00:00
Git'Fellow
18ffec158c fix(s3): Don't wait indefinitely for S3 to return
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>

fix: lint

Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>

fix: use AwsException

Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>

fix: Throw on connection failure

Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>

fix: Wrap all in try catch block

Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>

fix: use RequestTimeout error message

Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>

log: use OCP Server class

Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>

fix: Handle connect timeout only

Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>

fix: Handle errors more generically

Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2024-07-09 07:50:39 +00:00
Andy Scherzinger
e1af6af627
Merge pull request #45839 from nextcloud/backport/45649/stable28
[stable28] fix(ObjectStore): Fix regression when hostname is empty
2024-06-13 18:28:50 +02:00
Andy Scherzinger
bdf8dc3737
Merge pull request #45857 from nextcloud/backport/45172/stable28
[stable28] feat: add option to disable scanner transactions
2024-06-13 18:26:49 +02:00
Robin Appelman
e93017d308
feat: add option to disable scanner transactions
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-06-13 14:11:18 +02:00
Robin Appelman
4314997a2a fix: get child ids for folder in a separate query during move
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-06-13 09:45:20 +00:00
Josh
d285adee2a fix(ObjectStore): handle empty S3 hostname
Fixes #45637

The support for s3-accelerate added in #44496 introduced a regression in AWS S3 environments when `hostname` is blank (which is a valid configuration w/ AWS since the hostname gets auto-generated).

Signed-off-by: Josh <josh.t.richards@gmail.com>
2024-06-13 11:22:58 +02:00
Louis Chemineau
536d1cc26a fix(files): Use isRetryable to catch retryable exceptions
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-06-12 08:14:11 +00:00
John Molakvoæ
378833e343
Merge pull request #45528 from nextcloud/backport/45014/stable28 2024-06-07 12:01:04 +02:00
Josh
5ebd5626c5
Merge pull request #45059 from nextcloud/backport/44496/stable28
[stable28] feat: support "s3-accelerate" endpoint
2024-06-03 17:19:37 -04:00
Git'Fellow
4df77c6fa1 Try create folder first and check if it exists after
Co-authored-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2024-05-30 18:30:37 +00:00
Git'Fellow
fe459f9d74 fix(files): Try to create dir only if it not exists
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2024-05-30 18:30:37 +00:00
Christoph Wurst
66898f82f1 perf(db): Sort data for IN before chunking
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2024-05-29 08:39:44 -04:00
Git'Fellow
91c1d0bf7e
Fix backport
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2024-05-28 11:30:00 +02:00
Robin Appelman
d1e53c64cc fix: forbid moving a folder into a subfolder of itself
Signed-off-by: Robin Appelman <robin@icewind.nl>

[skip ci]
2024-05-27 12:31:49 +00:00
Josh
b62901131f fix(Files): Change how scanner diffs for changed metadata
Fixes #43408 

Signed-off-by: Josh <josh.t.richards@gmail.com>
2024-05-13 09:06:41 +00:00
Robin Appelman
2f0b200665 feat: add option to enable s3 acceleration
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-05-10 10:03:40 -04:00
Joas Schilling
0095ce7723
fix(CI): Suppress psalm UndefinedClass
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-04-18 09:32:35 +02:00
Joas Schilling
1dcc48ac4f fix(files): Also skip cross storage move with access control
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-04-17 14:32:55 +00:00
Robin Appelman
4bd5b49077 fix: use proper jailed patch in watcher
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-04-10 01:21:01 +02:00
Julius Härtl
5ec8f0b075 perf: Avoid updating the folder size if we know the size difference
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-04-05 12:57:39 +00:00
Louis Chemineau
ad2b367dbd feat(files)): Add retry logic to cover deadlock situations when moving many files
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-03-28 13:01:38 +00:00
Stephan Orbaugh
08444f45f1
Merge pull request #44320 from nextcloud/backport/39990/stable28
[stable28] add some recrusive detection/prevention
2024-03-25 15:27:27 +01:00
Robin Appelman
e2eb5eec3c fix: log error when default getWrapperStorage would return null
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-03-22 19:46:00 +00:00
Robin Appelman
7d98e83e3f
fix: add some recrusive detection/prevention
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-03-22 17:17:57 +01:00
John Molakvoæ
191b977fb9
Merge pull request #44285 from nextcloud/backport/44279/stable28 2024-03-21 10:21:22 +01:00
John Molakvoæ
6209b6e304
Merge pull request #44053 from nextcloud/backport/43086/stable28 2024-03-19 09:14:58 +01:00
Robin Appelman
e286622d0b fix: ensure nested mount points are handled in the correct order
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-03-18 18:03:24 +00:00
Benjamin Gaussorgues
e13e8c1349 fix: avoid scanning a non existing directory
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2024-03-14 18:47:14 +00:00
hopleus
c834200b48 Refactoring getName function
Signed-off-by: hopleus <hopleus@gmail.com>
2024-03-14 14:54:58 +00:00
hopleus
abb30aae11 Fixes for getting the file name in the cases when the file name key is received, but it is empty
Signed-off-by: hopleus <hopleus@gmail.com>
2024-03-14 14:54:58 +00:00
Robin Appelman
33699b29d9 fix: disable the internal s3sdk multi part copy logic
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-03-07 09:15:28 +00:00
Julius Härtl
44524b1388 fix: Throw instead of yielding nothing when listing local directories
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-02-26 07:42:12 +00:00
Robin Appelman
57ee788f01
Merge pull request #43391 from nextcloud/backport/43131/stable28
[stable28] fix(files): Don't attempt to format a partial cache entry
2024-02-09 14:29:23 +01:00
Robin Appelman
b2487de1e1 continue background scanning different storages if one fails
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-02-07 09:08:15 +00:00
Christoph Wurst
700a5d7ba2 fix(files): Don't attempt to format a partial cache entry
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2024-02-06 12:53:13 +00:00
Lorenz Brun
745b6970bb dav: fix wrong decoding of pluses in URLs
PHP's urldecode function does not decode URLs according to RFC 3986, but
according to the HTML 4.01 query parameter
encoding. This results in pluses being wrongly decoded to spaces even
though they should not be decoded at all.

Use rawurldecode instead, which follows RFC 3986 properly.

This fixes an issue where files on DAV shares containing pluses were
incorrectly decoded to spaces.

Fixes: #15849
Signed-off-by: Lorenz Brun <lorenz@brun.one>
2024-02-03 15:29:18 +01:00