Commit Graph

1891 Commits (dff96f97d01ac9e9bfab5c343f5cff7d654bfa70)

Author SHA1 Message Date
Louis Chemineau 4381cc8f84 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 14:31:12 +07:00
Benjamin Gaussorgues b3347f1821
Merge pull request #57346 from nextcloud/backport/57186/stable32 2026-01-08 11:02:41 +07:00
Robin Appelman f525ae0ff7 feat: don't gate perBucket object store configuration behind multibucket
a setup can have multiple bucket without having `multibucket` enabled trough things like per-groupfolder buckets

Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-01-05 15:50:23 +07:00
Robin Appelman 56cc62d215
fix: use interfaces instead of classes in Cache\Watcher type hints
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-12-31 13:15:24 +07:00
Robin Appelman efe257cc59
feat: add an option to filter what paths get checked for updates
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-12-31 13:15:17 +07:00
provokateurin 3d113daa60
fix(UserMountCache): Add back unique index for oc_mounts and use normal insert
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-12-16 10:47:30 +07:00
Côme Chilliet 02f23d566f fix: Log missing nodes of shares at debug level
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-12-15 16:57:22 +07:00
Côme Chilliet cc5795ba45 fix: Fix orphan shares blocking moving other shares
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-12-15 16:57:22 +07:00
Elizabeth Danzberger 00005689e9
fix(templates): deduplicate provider templates
Signed-off-by: Elizabeth Danzberger <elizabeth@elzody.dev>
2025-12-11 21:21:56 +07:00
Andy Scherzinger 264c982cc0
Merge pull request #56573 from nextcloud/backport/56515/stable32
[stable32] Encode s3 metadata as base64 if needed
2025-12-04 08:09:41 +07:00
Daniel Kesselberg 9af9395d5c fix(s3): make data integrity protections opt-in
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-12-03 19:52:17 +07:00
nfebe 3e2582c4e6
feat(objectstore): add configurable S3 retry attempts
Add retriesMaxAttempts parameter to S3 objectstore configuration
to allow customization of AWS SDK retry behavior for handling
unreliable network conditions or proxy issues.

Defaults to 5 retries (AWS SDK default) if not specified.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-12-03 12:48:52 +07:00
provokateurin 57734fbd01 feat(ObjectStore): Allow overriding arguments per bucket
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-12-01 16:44:55 +07:00
Andy Scherzinger 8c09cdd07d
Merge pull request #56766 from nextcloud/backport/52749/stable32
[stable32] feat(CertificateManager): Add option to specify the default certificates bundle path
2025-12-01 14:54:10 +07:00
provokateurin 6b2c19df98
feat(CertificateManager): Add option to specify the default certificates bundle path
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-12-01 11:55:11 +07:00
Kent Delante 10f557d503
Merge pull request #56617 from nextcloud/backport/56565/stable32
[stable32] feat: emit an event when an S3 bucket is created
2025-11-27 10:26:40 +07:00
Kent Delante e8802a57f4 feat: emit an event when an S3 bucket is created
Signed-off-by: Kent Delante <kent.delante@proton.me>
2025-11-26 08:18:09 +07:00
Louis Chmn 64fed0c712 fix(encryption): Increment lastChunkNr when size is off
When computing the unencrypted file size, we need the size of the last encrypted chunk as its size is usually not the regular 8192 bits.

To avoid reading the whole file, we seek directly to that last chunk based on the expected file size. When the expected file size is smaller than the actual one, we have a logic in place to continue reading until we reach the end of the file.

In that logic, we forgot to increment the `$lastChunkNr` which is important when we later check the signature of the chunk.

This commit adds that missing increment.

Signed-off-by: Louis Chmn <louis@chmn.me>
2025-11-25 09:19:23 +07:00
Robin Appelman d2b176fee8 fix: encode s3 metadata as base64 if needed
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-11-21 16:18:22 +07:00
Benjamin Frueh a25b0406ca fix: Clear mount cache when file storage changes during move
Signed-off-by: Benjamin Frueh <benjamin.frueh@gmail.com>
2025-11-13 14:09:23 +07:00
Robin Appelman dbf084054e chore: better type hints for `getAvailability`
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-11-12 17:45:55 +07:00
Robin Appelman 8b3f4da52f fix: make failed availability check apply in the same request
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-11-12 17:45:55 +07:00
Fiehe Christoph 91434f1893
fix(s3): expose request_checksum_calculation and response_checksum_validation
Fix https://github.com/nextcloud/server/issues/56077

This commit makes the configuration settings 'request_checksum_calculation' and 'response_checksum_validation' of the S3Client from the AWS SDK for PHP configurable.

Signed-off-by: Fiehe Christoph <c.fiehe@eurodata.de>
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-11-03 16:07:08 +07:00
Daniel Kesselberg ac1fd94839 fix: validate filename when creating file from template
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-10-24 10:53:37 +07:00
Côme Chilliet d84f1466e0 fix: Fix crash in files_version about uninitialized property
Fix "Typed property OC\\Files\\Cache\\Cache::$storage must not be accessed before initialization"

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-10-14 18:32:37 +07:00
Louis Chmn 2ad19b99f9 fix(S3): Only append streams if non-seekable
Later, when we rewind the stream in `writeMultiPart` during retry, both streams were rewinded, so the resulting stream was bigger than expected.

Inspired by https://github.com/aws/aws-sdk-php/blob/master/src/S3/ObjectUploader.php#L136-L146

Signed-off-by: Louis Chmn <louis@chmn.me>
2025-10-10 12:43:32 +07:00
Marcel Klehr 552ef44568 fix(FileAccess): Make getAncestorInStorage pass sharding tests
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-09 07:51:58 +07:00
Marcel Klehr 38f2bf6f98 fix(FileAccess): Try to fix type error
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-09 07:51:58 +07:00
Marcel Klehr bb82cff328 fix(FileAccess): Chunk parent query
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-09 07:51:58 +07:00
Marcel Klehr 5117f9ab1e fix(FileAccess): Make getByAncestorInStorage sharding ready
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-10-09 07:51:58 +07:00
provokateurin 42f8ebaf75 fix(files): Always return a valid mimetype
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-10-06 11:24:18 +07:00
Andy Scherzinger 5653eea5f0
Merge pull request #55407 from nextcloud/backport/55394/stable32
[stable32] fix: small typo fix
2025-09-29 23:05:15 +07:00
provokateurin 9985baeb09 fix(files): Stop overwriting scan_permissions
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-09-29 16:12:24 +07:00
yemkareems 8633dd58b1 fix: small typo fix
Signed-off-by: yemkareems <yemkareems@gmail.com>
2025-09-29 12:17:22 +07:00
Louis Chemineau 6defeaa119 fix(Updater): Lower deadlock log level from warning to info
If this is safe to ignore, then it does not make sense to keep warning the admins.

Signed-off-by: Louis Chemineau <louis@chmn.me>
2025-09-16 16:19:39 +07:00
Côme Chilliet bccec549e5 fix(encryption): Take encryption enabled status into account
shouldEncrypt now returns false for all paths if encryption is disabled.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-11 21:18:37 +07:00
Côme Chilliet feef3cfa7d fix(encryption): Correctly set encrypted to 0 when copying
If encryption got disabled, copying should set encrypted to 0 for the
 new unencrypted copy. For instance when using encryption:decrypt-all

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-09-11 21:18:37 +07:00
Robin Appelman a8ee28ba62 fix: ensure all object store configuration have distict bucket names
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-09-08 13:23:47 +07:00
Ferdinand Thiessen a31e520019
fix(Filesystem): use FilenameValidator for `Filesystem::isFileBlacklisted`
This fixes the issue that some methods will not allow uploading files
because they still require the deprecated config option to be used.
So instead we need to use the validator introduced in v30.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-09-02 19:02:25 +07:00
Carl Schwan d73537dd60
Merge pull request #54664 from nextcloud/carl/port-away-execute-lib
Port away from IQueryBuilder::execute in lib/ and tests/ and fix invalid usage of UniqueConstraintViolationException
2025-09-02 14:38:11 +07:00
Carl Schwan c4e6fbdae7 fix(query-builder): Don't catch UniqueConstraintViolationException
UniqueConstraintViolationException is no longer throw directly but
instead is now wrapped inside a \OCP\DB\Exception. So check the
exception reason.

Signed-off-by: Carl Schwan <carl.schwan@nextclound.com>
2025-09-02 11:55:58 +07:00
Carl Schwan c21b8169ff refactor(querybuilder): Port away from qb::execute() in lib/
Replace by either executeStatement or executeQuery

Signed-off-by: Carl Schwan <carl.schwan@nextclound.com>
2025-09-02 11:55:56 +07:00
Robin Appelman 02f4a82088
fix: make bucket mapper work with new multi-object-store config
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-28 17:51:25 +07:00
Robin Appelman ff65b61d9c
Merge pull request #54580 from nextcloud/sharded-cache-move-jail
fix moving cache items from cache jail with sharding
2025-08-26 20:20:35 +07:00
Benjamin Gaussorgues 39e2e70084
feat(mounts): optimize load of mounts by filtering on database side
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2025-08-26 08:55:24 +07:00
Côme Chilliet 8c21f2b19c fix(encryption): Fix TypeError when trying to decrypt unencrypted file
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-08-25 13:18:50 +07:00
Robin Appelman 1a716578fd
fix: fix moving cache items from cache jail with sharding
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-22 19:21:31 +07:00
Robin Appelman e0a21e5927
Merge pull request #54384 from nextcloud/getpath-node
perf: use more optimized node-by-id logic in View::getPath
2025-08-14 18:21:23 +07:00
Robin Appelman b3c53c7436 feat: allow object store configuration aliases for easier migrations
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-14 13:06:51 +07:00
Robin Appelman 2d4bba7b0c feat: add command to get user objectstore config mappings
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-14 13:06:51 +07:00