Commit Graph

51 Commits

Author SHA1 Message Date
Micke Nordin 4d5841761f fix(cloud_federation_api): accept multi-protocol share envelopes
Shares using the OCM multi-protocol envelope (name multi, with the secret carried in a sibling protocol entry such as webdav) were rejected with Missing sharedSecret in protocol. Scan every protocol entry for the shared secret during validation, resolve the secret from the matching entry, and let the files provider serve the webdav entry of a multi envelope. Covers the file and folder resource types.

Signed-off-by: Micke Nordin <kano@sunet.se>
2026-06-17 11:01:19 +02:00
Enrique Pérez Arnaud fc31f97018 feat(federatedfilesharing): create refresh tokens and sign token exchange
Co-authored-by: Micke Nordin <kano@sunet.se>
Signed-off-by: Micke Nordin <kano@sunet.se>
Signed-off-by: Enrique Pérez Arnaud <enrique@cazalla.net>
2026-06-17 11:01:15 +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
Carl Schwan ab424e20e2 refactor: Deprecate url generator utils
Add a new IUrlGenerator::linkToRemote and replace usage of the old API
with the new one.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-05-12 18:24:12 +02:00
provokateurin 045ad43237 fix(federatedfilesharing): Do not set the share id for an existing share
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-03-12 10:31:25 +01:00
Carl Schwan ae73f7aaf5 refactor(setup-manager): Use ISetupManager instead of SetupManager
Keep using the OC API in the mount manager and OC_Utils, but the rest is
now using the public API.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-27 15:19:19 +01:00
Maxence Lange 327d691c23 feat(signed-request): moving out of unstable
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2026-01-09 20:16:24 -01:00
Carl Schwan 7c1a8a4060 feat: Adapt a bit the snowflake ids API
- Rename setId() -> generateId() in SnowflakeAwareEntity

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-06 12:57:17 +01:00
Anna Larch 5f797ebc32 refactor: move existing usages of snoflake IDs SnowflakeAwareEntity
Signed-off-by: Anna Larch <anna@nextcloud.com>
2026-01-06 12:57:17 +01:00
Anna Larch f546daada7 refactor: Rename Snowflake Generator and Decoder
And introduce the Snowflake DTO

Signed-off-by: Anna Larch <anna@nextcloud.com>
2026-01-06 12:57:04 +01:00
Carl Schwan a011cb7780 refactor: Rename some variables in external share's manager
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-17 10:14:40 +01:00
Carl Schwan 3183ea79d2 refactor(external-share): Port more code to string as type for the id
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-16 10:40:09 +01:00
Carl Schwan 3bdb344224 perf(external-sharing): Port to Entity and SnowflakeId
This removes all the read after write and we don't need to queries all
the time the same share in the same request anymore.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-16 10:40:07 +01:00
Carl Schwan 93b258317d refactor: use DI-injected logger instead of Server::get
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-16 10:38:30 +01:00
Carl Schwan 7b0f1c6dd0 refactor(external-share): Cleanup OCA\FIles_Sharing\External\Manager
- Port away from Files::buildNotExistingFileName
- Use IUser and IGroup instead of plain string

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-16 10:38:29 +01:00
Carl Schwan 4d47fdaa85 chore: Run rector with new rules for fetch
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-11-18 17:45:57 +01:00
Micke Nordin f7dcd1d71b fix(ocm-sharing): The owner needs to be set for sharing to work
The specification says that the display name is optional and can thus
be empty, and in fact it is from oCIS and CERNBox shares.

The correct thing to set is the required opaque id from the remote
provider, the `owner` which will allways be there.

Signed-off-by: Micke Nordin <kano@sunet.se>
2025-10-22 08:54:39 +02:00
Maxence Lange fab6d92f30 feat(federated-share): forward notification only on remote reshare
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-07-21 13:37:33 -01:00
Ferdinand Thiessen 5981b7eb51 chore: apply new CSFixer rules
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>

# Conflicts:
#	apps/settings/lib/SetupChecks/PhpOpcacheSetup.php
2025-07-01 16:26:50 +02:00
Joas Schilling 4fc5eaeff0 fix(federation): Allow federation file sharing when federation app is disabled
The app id might be misleading, the federation app is for syncing addressbooks
with trusted servers. It is not always enabled and show not have to be.

Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-04-24 13:03:14 +02:00
Côme Chilliet 64863c9d46 chore: Apply new rector configuration to apps folder
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-02-13 11:46:42 +01:00
Côme Chilliet a3685551f7 fix: Replace isInstalled calls with isEnabledForAnyone or isEnabledForUser
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-02-13 10:19:19 +01:00
skjnldsv 5c359e424f feat(federatedfilesharing): auto-accept shares from trusted servers
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-01-09 12:54:51 +01:00
skjnldsv bc0ad5efbf fix(federatedfilesharing): get share by token fallback
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2024-12-28 09:27:30 +01:00
Maxence Lange abd24f9bef fix(signed-request): use share owner on reshare
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2024-12-05 19:58:13 -01:00
Maxence Lange ac470184e7 fix(ocm): get details from sharedSecret from provider
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2024-12-05 14:51:04 -01:00
provokateurin f25a71806b fix(apps): Fix wrong or missing casts
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-10-23 17:08:29 +02:00
provokateurin 381077028a refactor(apps): Use constructor property promotion when possible
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-10-21 12:37:59 +02:00
Git'Fellow a1681b0756 chore(db): Apply query prepared statements
Fix: psalm

fix: bad file

fix: bug

chore: add batch

chore: add batch

chore: add batch

fix: psalm
2024-10-17 20:30:47 +02:00
Côme Chilliet 1580c8612b chore(apps): Apply new rector configuration to autouse classes
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-10-15 10:40:25 +02:00
Daniel Kesselberg af6de04e9e style: update codestyle for coding-standard 1.2.3
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2024-08-25 19:34:58 +02:00
Ferdinand Thiessen f4ede27cdb refactor: Remove deprecated Util function for filename validation to FilenameValidator
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-07-16 12:49:10 +02:00
Andy Scherzinger 5b7dcc1427 chore: Add SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-05-29 08:58:16 +02:00
Hamid Dehnavi 11447334e5 Refactors "strpos" and "substr" calls to improve code readability
Signed-off-by: Hamid Dehnavi <hamid.dev.pro@gmail.com>
2023-09-27 20:37:51 +03:30
jld3103 4ead6e64a4 federatedfilesharing: Add OpenAPI spec
Signed-off-by: jld3103 <jld3103yt@gmail.com>
2023-07-12 09:21:01 +02:00
Benjamin Gaussorgues 45b3f6e2b3 Migrate federated file sharing to PSR LoggerInterface
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2023-07-07 09:00:35 +02:00
Maxence Lange d2efd0e03c displayname on federated shares
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2023-06-28 09:28:03 -01:00
Robin Appelman 033a83b0ac fix federated sharing
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-10-19 11:32:15 +02:00
Vincent Petry dac676c14e Replace ILogger with LoggerInterface in remote share manager
Signed-off-by: Vincent Petry <vincent@nextcloud.com>

Co-authored-by: Carl Schwan <carl@carlschwan.eu>
2021-07-27 13:04:39 +02:00
Vincent Petry cff8ae7ded Add logging to external shares manager
Instead of just returning false, also log the exception to make
debugging database issues easier.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-07-27 12:19:24 +02:00
Gary Kim b78f3a57d1 Migrate HintException to OCP
Signed-off-by: Gary Kim <gary@garykim.dev>
2021-06-30 15:28:02 -04:00
John Molakvoæ (skjnldsv) 215aef3cbd Update php licenses
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2021-06-04 22:02:41 +02:00
Roeland Jago Douma 3854e7f8f0 Respect default share permissions for federated reshares
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2021-05-17 09:48:31 +02:00
Roeland Jago Douma 70f12e7332 Improve federated permission handling
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2021-04-26 16:10:44 +02:00
Roeland Jago Douma 4f37e0ce55 Remove redundant casts
For #25839

In short with the connection adapter we now have the function is typed
to int (and casts itself). So it is not needed anymore.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2021-03-02 16:32:13 +01:00
dependabot-preview[bot] eb502c02ff Bump nextcloud/coding-standard from 0.3.0 to 0.5.0
Bumps [nextcloud/coding-standard](https://github.com/nextcloud/coding-standard) from 0.3.0 to 0.5.0.
- [Release notes](https://github.com/nextcloud/coding-standard/releases)
- [Changelog](https://github.com/nextcloud/coding-standard/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/coding-standard/compare/v0.3.0...v0.5.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-02-18 13:31:24 +01:00
Christoph Wurst 2a054e6c04 Update the license headers for Nextcloud 20
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-08-24 14:54:25 +02:00
Arthur Schiwon ac3d8d1e43 effectively revert 17fae47bdb fixing i10n
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2020-08-03 11:05:45 +02:00
Morris Jobke 0763a17332 Move federated_share_added into a typed event
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-07-23 08:33:17 +02:00
Joas Schilling 89ed2c37bf Update share type constant usage
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-06-24 16:49:16 +02:00