Commit Graph

1437 Commits

Author SHA1 Message Date
Côme Chilliet 9d7c277668 fix: Remove static vars in trashbin, versions and storages
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-06-02 09:46:16 +02:00
Kate 5cddbdb11d Merge pull request #60817 from nextcloud/update-storaged-login-credentials
fix: actually register listener for updating stored external storage credentials
2026-06-01 18:08:37 +02:00
Côme Chilliet 1ab09ec753 chore: Apply new coding standard to all files
The diff can be checked using: git diff --ignore-all-space --ignore-blank-lines
To see only the changes not related to blank lines.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-06-01 13:46:39 +02:00
Robin Appelman 49a53e9517 fix: actually register listener for updating stored external storage credentials
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-05-28 18:58:19 +02:00
rakekniven 5de1357c09 chore(i18n): Remove space in word1/word2
Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2026-05-28 16:21:22 +02:00
rakekniven ae17a4d2bc chore(i18n): Remove space in word1/word2
Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2026-05-28 16:21:22 +02:00
rakekniven cf3c1edb0a chore(i18n): Remove space in FTP/FTPS
Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2026-05-28 16:21:22 +02:00
Louis da7c4ef3ce Merge pull request #60316 from Justinzobel/work/justinzobel/spellingfixes
Spelling fixes
2026-05-27 18:47:51 +02:00
Justin Zobel 5619cc0439 fix: "than" vs "then" typos
Signed-off-by: Justin Zobel <justin.zobel@gmail.com>
2026-05-20 12:39:19 +09:30
Robin Appelman 4166a20a6d fix: improve check if external storage backend is local
Signed-off-by: Robin Appelman <robin@icewind.nl>

# Conflicts:
#	apps/files_external/lib/Controller/GlobalStoragesController.php
#	apps/files_external/lib/Controller/StoragesController.php
2026-05-19 16:57:41 +02:00
Robin Appelman 728ee257b3 fix: remove duplicate 'allow creating local storage' check
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-05-19 16:55:03 +02:00
Côme Chilliet 7439b3db64 fix(files_external): Migrate call to now-deprecated static methods
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-05-18 14:11:38 +02:00
Côme Chilliet 7cfa95e48b fix(files_external): Move MountConfig to non-static services
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-05-18 14:11:38 +02:00
Josh ce50c8734c chore(files_external/s3): use example reserved domain
Co-authored-by: Kate <26026535+provokateurin@users.noreply.github.com>
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-04-29 14:06:30 +02:00
Josh 3a3736d97c feat(files_external): clearer label for FTP + FTPS backend
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-04-29 14:06:30 +02:00
Josh 119e40812a feat(files_external): clearer label for Nextcloud / ownCloud backend
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-04-29 14:06:30 +02:00
Josh be182bf1d7 feat(files_external): clearer label for SMB backend
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-04-29 14:06:30 +02:00
Josh e790cbff93 feat(files_external): clearer label for SMB_OC backend
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-04-29 14:06:30 +02:00
Josh b91dba44d5 feat(files_external): clearer labeling for SFTP backend
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-04-29 14:06:30 +02:00
Josh 607062dcbb feat(files_external): clearer label for SFTP_Key backend
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-04-29 14:06:30 +02:00
Josh 328f48352d feat(files_external): clearer label for Local storage
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-04-29 14:06:30 +02:00
Josh 561fceb631 feat(files_external/swift): modernize label
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-04-29 14:06:30 +02:00
Josh 79e3ae091f feat(files_external/s3): modernize parameter labels/descriptions
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-04-29 14:06:30 +02:00
Josh 85cbd5b1d1 feat(files_external): alphabetical sort backends
The front-end will display them in the order returned.

Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-04-29 14:06:30 +02:00
Ferdinand Thiessen d8e8703796 chore: add missing Override attribute to app code
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-04-28 21:29:28 +02:00
Joas Schilling aa904b255f Merge pull request #59378 from nextcloud/carl/non-internal-api
chore: Replace MoveableMount usage with IMovableMount
2026-04-27 12:37:56 +02:00
Robin Appelman aedc57afe7 fix: add optional user param to IUserMountCache::removeMount
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-24 18:17:41 +02:00
Carl Schwan fbf84e6473 chore: Replace MoveableMount usage with IMovableMount
The former is private API while the IMovableMount is public.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-04-24 10:14:37 +02:00
Kent Delante 6ce657f2ee fix(s3): ignore prefixes with repeating delimiters
Signed-off-by: Kent Delante <kent@delante.me>

Amazon's hosted S3 service allows repeating delimiters in keys
(e.g. 'path/to//file.txt' or 'path/to///file.txt') and we get
repeating directories in the filecache as a result (based on the
previous examples we get 'path/to/to/file.txt' or
'path/to/to/to/file.txt'). This ignores it and its contents for S3 external storage.
2026-04-22 16:07:45 +08:00
Stephen Cuppett cdaeed02b6 feat(objectstore): Add AWS SSE-KMS encryption support for S3 storage
Add support for Server-Side Encryption with AWS Key Management Service
(SSE-KMS) for S3 object storage. This allows Nextcloud to encrypt data
at rest in S3 using AWS-managed keys.

Key features:
- New config options: sse_kms_enabled and sse_kms_key_id
- Backward compatible with existing SSE-C (customer-provided keys)
- SSE-C takes precedence when both SSE-C and SSE-KMS are configured

Implementation details:
- Added getServerSideEncryptionParameters() method to centralize
  encryption parameter logic for both SSE-C and SSE-KMS
- Updated multipart uploads to use unified encryption parameters
- Added comprehensive PHPUnit tests for SSE-KMS scenarios
- Tested with AWS bucket and KMS keys in us-east-1 region

Co-Authored-By: Claude Sonnet 4.5 (1M context) <noreply@anthropic.com>
Signed-off-by: Stephen Cuppett <steve@cuppett.com>
2026-04-16 13:21:53 -04:00
Robin Appelman e96a89e630 feat: add permissions mask variant that only masks one directory
Signed-off-by: Robin Appelman <robin@icewind.nl>
2026-04-09 16:19:10 +02:00
Tatjana Kaschperko Lindt faff52dff2 feat(files_external): allow delegated admins to search applicable users/groups
Signed-off-by: Tatjana Kaschperko Lindt <kaschperko-lindt@strato.de>
2026-04-07 10:09:53 +02:00
Tatjana Kaschperko Lindt 5852eaae0b feat(files_external): allow delegated admins to save global credentials
Signed-off-by: Tatjana Kaschperko Lindt <kaschperko-lindt@strato.de>
2026-04-07 10:09:53 +02:00
Tatjana Kaschperko Lindt 67deefe3fb feat(files_external): add #[AuthorizedAdminSetting] to GlobalStoragesController
Signed-off-by: Tatjana Kaschperko Lindt <kaschperko-lindt@strato.de>
2026-04-07 10:09:53 +02:00
Tatjana Kaschperko Lindt 14ae3f1a65 feat(files_external): convert to delegated settings
Signed-off-by: Tatjana Kaschperko Lindt <kaschperko-lindt@strato.de>
2026-04-07 10:09:53 +02:00
Hendrik Leidinger 6e88edb0a6 fix: make psalm and rector happy
Signed-off-by: Hendrik Leidinger <hendrik.leidinger@nextcloud.com>
2026-03-31 12:35:09 +02:00
Hendrik Leidinger 33e35afad2 fix: modified touch function of the SFTP storage to update mtimes instead
Signed-off-by: Hendrik Leidinger <hendrik.leidinger@nextcloud.com>
2026-03-31 12:35:08 +02:00
Hendrik Leidinger 6d26c71b48 fix: manually set modified time to SFTP files after editing
Signed-off-by: Hendrik Leidinger <hendrik.leidinger@nextcloud.com>
2026-03-31 12:35:08 +02:00
Josh b7bdd76731 feat(files_external/s3): rename legacy signature (v2) for clarity
Avoid the use of "authentication" here since this is really about signing compatibility, not the source of credentials. Also prefix with "Use" for UI consistency.

Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-25 16:21:35 -04:00
Josh 00100427be feat(files_external/s3): Adjust auth meth/parameter field names
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-25 16:10:35 -04:00
Carl Schwan 783e2ac625 refactor(external-storage-services): Modernize code
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-03-10 15:27:46 +01:00
Carl Schwan 140bfa2d1f refactor(cache-storage): Make Storage and StorageGlobal psalm strict
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-03-10 14:20:31 +01:00
Josh 958e67687b fix(s3): Fix 0 folder handling in External Storage
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-02 13:44:19 +01:00
Côme Chilliet e7c4dbf2cb Merge pull request #58642 from nextcloud/jtr/perf-s3-external-cache-sizing
perf(files_external): Increase S3 cache caps
2026-03-02 13:36:01 +01:00
Josh bde043d13b chore(files_external/s3): drop no-op $this->filesCache use sites
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-01 12:53:57 -05:00
Josh 08b465d219 refactor(files_external/S3): drop unused methods
getContentLength() and getLastModified() are dead code. Originally added in PR #11518 and made defunct in PR #29220.

Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-03-01 12:45:01 -05:00
Josh 430975ce96 perf(files_external): Increase S3 metadata cache caps
Signed-off-by: Josh <josh.t.richards@gmail.com>
2026-02-28 09:08:00 -05:00
Ferdinand Thiessen 694e2312fd Merge pull request #58589 from nextcloud/fix/external-missing
fix(files_external): boolean comparison of array
2026-02-27 15:40:14 +01:00
Ferdinand Thiessen 69a5db46bd fix: code style
Co-authored-by: Carl Schwan <carl@carlschwan.eu>
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-02-27 14:31:42 +01:00
Kent Delante 8d1cb50048 fix: pass only object key to deleteObjects call
Some S3-compatible object storage hosts don't like the ETag being included in
the request and return a MalformedXML response. In the AWS API documentation,
only the object key is required so just pass that in.

Signed-off-by: Kent Delante <kent.delante@proton.me>
2026-02-27 10:54:23 +08:00