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