Commit Graph

1573 Commits (5ff7bde3fb1213cb0141d2e33fdc762298103116)

Author SHA1 Message Date
Robin Appelman 5ff7bde3fb
fix: add set storage id for more cache queries
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-07-17 15:46:21 +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
Robin Appelman c82d382a20 feat: add base class for extending the query builder
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-07-12 17:01:39 +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
Git'Fellow c84e76a749 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-05 16:24:32 +07:00
Robin Appelman ffced73a71 fix: also use optimized getFirstNodeyIdInPath for Folder::getFirstNodeById
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-06-20 18:51:27 +07:00
Ferdinand Thiessen ae1f5cc56d
fix(S3): Adjust usage of guzzle promise
`Promise\promise_for` was deprecated and is now removed and replaced with the static API (`Create::promiseFor`).

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-06-16 15:54:44 +07:00
Robin Appelman 3a60e40a81
Merge pull request #45172 from nextcloud/test-scanner-no-transactions
feat: add option to disable scanner transactions
2024-06-13 14:01:34 +07:00
Robin Appelman 082c6c6e1d
fix: get child ids for folder in a separate query during move
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-06-13 10:38:57 +07:00
Josh 63886147ba 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-12 15:43:20 +07:00
Louis Chemineau a93d3a5a10 fix(files): Use isRetryable to catch retryable exceptions
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-06-11 15:15:14 +07:00
Ferdinand Thiessen 48e6240502
Merge pull request #45413 from nextcloud/createIfNotExists
fix(files): Try to create dir only if it not exists
2024-05-30 19:45:23 +07:00
Git'Fellow 77979b1475 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 14:27:44 +07:00
Git'Fellow 5c4e4c5590 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 14:27:44 +07:00
John Molakvoæ 91227c908b
Merge branch 'master' into refactor/OC-Server-getHTTPClientService
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2024-05-30 14:21:45 +07:00
Robin Appelman d87c23242b
Merge pull request #45014 from nextcloud/forbid-moving-subfolder
fix: forbid moving a folder into a subfolder of itself
2024-05-27 14:29:34 +07:00
Andy Scherzinger dae7c159f7
chore: Add SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-05-24 13:11:22 +07:00
Robin Appelman 66d36bffa6
fix: forbid moving a folder into a subfolder of itself
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-05-17 17:45:44 +07:00
Marcel Klehr 843bb62d6d fix: LazyRoot missing method
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2024-05-14 11:38:39 +07:00
Marcel Klehr 00894e2420 feat: first pass at TaskProcessing API
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2024-05-14 11:38:39 +07:00
Julius Härtl c4e32d33e0
Merge pull request #44953 from nextcloud/perf/44951/lock-provider
perf(ILockManager): Allow registering a lock provider lazy
2024-05-13 14:21:28 +07:00
Côme Chilliet 2d40dae4af
Merge pull request #45233 from nextcloud/fix/touch-propagate-size
fix: Avoid updating size when calling touch on a file
2024-05-13 11:48:06 +07:00
Côme Chilliet e68544d9f4
Merge pull request #43794 from nextcloud/fix/files/scanner-metadata-diff
fix(files): handle multidimensional arrays in scanner
2024-05-13 11:05:40 +07:00
Josh 3c3e45f0ad fix(Files): Change how scanner diffs for changed metadata
Fixes #43408 

Signed-off-by: Josh <josh.t.richards@gmail.com>
2024-05-08 08:36:42 +07:00
Julius Härtl 24e0d5023c
fix: Avoid updating size when calling touch on a file
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-05-08 11:50:20 +07:00
Christoph Wurst 6258823aba
Merge pull request #45058 from nextcloud/perf/db/sort-before-chunking
perf(db): Sort data for IN before chunking
2024-05-07 12:11:32 +07:00
Robin Appelman f5219a19b2
feat: add option to disable scanner transactions
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-05-03 16:40:15 +07:00
Robin Appelman 8d870a32c2
fix: fix FileAccess::getByFileId(InStorage)
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-05-01 18:00:20 +07:00
Julius Härtl ff3fc85d10 perf(ILockManager): Allow registering a lock provider lazy
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-04-30 22:28:06 +07:00
Côme Chilliet ece3588252
fix: Improve typing of mimetype aliases
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-04-30 09:24:00 +07:00
Côme Chilliet 672923f0a6
fix: Fix newly spotted psalm issues, add exhaustive typed magic properties for LDAP classes
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-04-30 09:23:58 +07:00
Julius Härtl 2c059dd606
Merge pull request #44952 from nextcloud/perf/44951/template-creator
perf(templates): Emit RegisterTemplateCreatorEvent to register template creators more lazy
2024-04-29 08:27:07 +07:00
Christoph Wurst f3d6309e36
perf(db): Sort data for IN before chunking
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2024-04-26 15:38:29 +07:00
Robin Appelman 40d9a3fcab
feat: add option to enable s3 acceleration
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-04-26 14:40:24 +07:00
Joas Schilling cdb40a3110
fix(openstack): Fix psalm issue with updated openstack version
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-04-24 07:01:57 +07:00
Joas Schilling 7cfe36e49b
fix(storage): Fix DAV storage as false is never returned
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-04-22 21:06:00 +07:00
Julius Härtl f9e235f7f1 perf(templates): Emit RegisterTemplateCreatorEvent to register template creators more lazy
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-04-22 15:23:55 +07:00
Joas Schilling 5fffbcfe86
Merge pull request #44889 from nextcloud/bugfix/noid/skip-cross-storage-move-with-ac
fix(files): Also skip cross storage move with access control
2024-04-18 10:48:03 +07:00
Joas Schilling 64d32abb48
fix(CI): Suppress psalm UndefinedClass
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-04-18 09:24:11 +07:00
Maxence Lange b4004a2582
Merge pull request #43574 from nextcloud/enh/noid/lazyappconfig-migrate-metadata
enh(metadata): migrate metadata to lazy appconfig
2024-04-17 16:20:33 +07:00
Joas Schilling 050408c9de
fix(files): Also skip cross storage move with access control
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-04-17 16:29:07 +07:00
Julius Härtl e0fcf6b700
Merge pull request #44294 from nextcloud/fix/storage-mount-owner
fix: Pass the mountpoint target user to storages without owner
2024-04-09 13:18:13 +07:00
Julius Härtl 4910e7e231
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-04-09 09:04:24 +07:00
Robin Appelman d31ed8dbca
fix: use proper jailed patch in watcher
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-04-08 18:37:05 +07:00
Côme Chilliet 47b765552f fix: Remove incorrect default null value
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-04-02 14:16:21 +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
Louis Chemineau 751795999a
feat(files)): Add retry logic to cover deadlock situations when moving many files
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-03-28 09:05:47 +07:00
Ferdinand Thiessen 7880086de8
fix(S3): Adjust typing for 32bit compatibility
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-03-26 13:07:53 +07:00
Robin Appelman 1d9354a81e
feat: add interface for lower level filecache acess without having to do direct db queries
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-03-25 16:48:41 +07:00