Commit graph

303 commits

Author SHA1 Message Date
Carl Schwan
c3a15af538
perf: Perform share path validation early
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-03-02 16:08:46 +01:00
Carl Schwan
3e8f02308a perf(sharing): Avoid loading all shares from all users when unsharing
First check which users have a shares and for which providers and then
only load these shares.

Avoid doing at most 5 SQL queries for each users a share was shared with if
there are no shares.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-03-02 11:25:52 +00:00
Côme Chilliet
1a50c7ec5a fix(shares): Fix infinite loop when hide_disabled_user_shares is yes
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-12-15 19:18:36 +00:00
nfebe
58991b1b19 fix(sharing): Allow public share access for everyone
When a logged-in user accesses a public share link in the same browser,
the system was incorrectly checking if that user's groups were excluded
from creating link shares. This caused share not found errors for users
in excluded groups, even though public shares should be accessible to anyone
with the link.

The group exclusion setting (`shareapi_allow_links_exclude_groups`) is
intended to restrict share creation, not share access. Public shares
are meant to be anonymous and accessible regardless of the viewer identity
or group membership.

We now check the exclusion for the share creator and not the viewer.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-12-03 19:53:17 +01:00
Ferdinand Thiessen
b9b42cfa7a feat(Share\IManager): add matchUserId method and update docs
Add missing `matchUserId` method for full-match-autocomplete options
and update docs to make it clearer what each options exactly means.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-10-13 13:41:56 +02:00
Maxence Lange
66cc7b731a
Merge pull request #54408 from nextcloud/feat/noid/preset-on-share-link-expire-date
feat(preset): share link expiration date
2025-08-19 10:24:43 -01:00
Andy Scherzinger
c026c7c933
Merge pull request #54419 from nextcloud/share-event-catch
fix: catch and log exception from share events
2025-08-19 07:21:52 +02:00
Maxence Lange
6076b67696 feat(preset): share link expiration date
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-08-14 16:07:32 -01:00
Robin Appelman
dcc6c1956a fix: catch and log exception from share events
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-14 11:37:11 +02:00
Maxence Lange
cb84ccc57d feat(preset): share password protection
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-08-12 14:37:32 -01:00
Kate
49618b30a7
Merge pull request #53946 from nextcloud/chore/remove-hierarchical-shares 2025-07-29 13:26:03 +02:00
Maxence Lange
51dc9f89b7
Merge pull request #54064 from nextcloud/feat/preset/custom-share-token
feat(preset): add lexicon entry for custom share tokens
2025-07-29 10:11:05 -01:00
provokateurin
746e5917c7
fix(IShare): Add missing getParent and setParent methods
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-07-29 11:27:04 +02:00
Maxence Lange
3ceffe9f5b feat(preset): add lexicon entry for custom share token
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-07-29 08:15:08 -01:00
Kate
89d659ca17
Merge pull request #51602 from nextcloud/fix/fix-default-share-folder-for-group-shares 2025-07-29 11:12:58 +02:00
provokateurin
665a38573c
fix(IShareProvider): Add missing getChildren method to the interface
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-07-29 10:26:33 +02:00
provokateurin
5bd626bd40
chore: Fix all method calls with too many arguments
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-07-22 12:34:49 +02:00
Côme Chilliet
12ceeacb0e
fix: Use default share folder of the user on share accept
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-07-08 13:24:37 +02: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
skjnldsv
9806a9830c feat(files_sharing): allow viewing files with download disabled
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-06-26 11:47:53 +02:00
provokateurin
ae16a28758
perf(Share20): Add interface to query all shares in a folder without filtering by user
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-05-08 15:29:40 +02:00
skjnldsv
70218dc0a4 fix(files_sharing): fix share creation error handling
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-04-09 14:52:42 +00:00
John Molakvoæ
dd32639fa9
Merge pull request #51838 from nextcloud/feat/cleanup-oc-util-methods
Mark all methods of OC_Util as deprecated
2025-04-08 21:47:31 +02:00
Daniel Calviño Sánchez
10019955f1 fix: Handle missing share providers when promoting reshares
The provider for mail shares is not available when the "sharebymail" app
is disabled, and in that case a "ProviderException" is thrown when
trying to get it.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-04-08 07:20:31 +02:00
Côme Chilliet
59edcdc537
fix: Fix types for sharingDisabledForUser
and use the non-deprecated version whenever possible

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-04-07 17:36:24 +02:00
Côme Chilliet
b2100484c0 fix: Remove some call and references to deprecated OC_Util class
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-04-07 17:05:54 +02:00
provokateurin
0df4817be1
fix(Share20\Manager): Propagate user and group deletion to remote share providers
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-03-03 12:49:01 +01:00
Ferdinand Thiessen
0a0f56282a
fix(sharing): Move permission validation to share manager
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-01-28 16:40:50 +01:00
provokateurin
dcb370ab62
Revert "fix(Share20\Manager): Ensure node is still accessible when checking share"
This reverts commit c2ca99e2f6.

Signed-off-by: provokateurin <kate@provokateurin.de>
2025-01-24 09:41:14 +01:00
Ferdinand Thiessen
fb8802a783 fix(sharing): Set correct password context for share password validation
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-01-20 18:16:24 +01:00
Christopher Ng
8b26383d00 feat(sharing): Add shareapi_allow_custom_tokens config
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2025-01-15 15:50:43 -08:00
Christopher Ng
beffb26266 feat(sharing): Fetch a unique generated token
Signed-off-by: Christopher Ng <chrng8@gmail.com>
2025-01-15 15:49:19 -08:00
Côme Chilliet
17007f6b8d fix(shares): Wrap exceptions from password validation to set code to 400
This fixes a regression that bad password returned 403 instead of 400
 because of previous changes.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-12-12 15:39:48 +01:00
Côme Chilliet
28d7206e5c fix(files_sharing): Do not wrap password policy exception into a generic one
Let the controller access the HintException and show the error to the user.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-12-12 15:39:48 +01:00
provokateurin
715e7143f0
fix(files_sharing,files): Do not validate shares before adjusting the owner
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-11-25 10:27:31 +01:00
provokateurin
c2ca99e2f6
fix(Share20\Manager): Ensure node is still accessible when checking share
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-11-25 10:27:31 +01:00
provokateurin
c378e74017
feat(Share20\Manager): Return all shares on IShareOwnerlessMount
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-11-25 10:27:31 +01:00
Côme Chilliet
d6ba524263
fix: Use getRelativePath method to check if node is inside folder
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-10-14 17:23:29 +02:00
Côme Chilliet
e584e9baf7 fix: Fix promotion of reshares from subsubfolders
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-10-14 11:58:47 +02:00
Côme Chilliet
3094e7020e chore: Add comment to make code clearer
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-10-14 11:58:47 +02:00
Côme Chilliet
6bd597b275 chore: Turn method description into phpdoc
Co-authored-by: Ferdinand Thiessen <opensource@fthiessen.de>
Signed-off-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
2024-10-14 11:58:47 +02:00
Côme Chilliet
d78f8280e8 fix(shares): Promote reshares into direct shares when share is deleted
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-10-14 11:58:47 +02:00
Côme Chilliet
7e9bc7c8cf fix: Tidy up code for reshare deletion
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-10-14 11:58:47 +02:00
Luka Trovic
42181c2f49 fix: delete re-shares when deleting the parent share
Note: Removed part about fix command from original PR

Signed-off-by: Luka Trovic <luka@nextcloud.com>
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-10-14 11:58:47 +02:00
ernolf
b4ea146d10 feat(share): make sharelink token length configurable
- ensure unique share token with dynamic length adjustment

Signed-off-by: ernolf <raphael.gradenwitz@googlemail.com>
2024-09-28 08:06:24 +02:00
Git'Fellow
dcbe8da2a6 fix(l10n): Rephrasing some exceptions to be translated
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>

fix: tests

Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>

fix: Fix tests

Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2024-09-20 18:35:11 +02:00
provokateurin
9836e9b164
chore(deps): Update nextcloud/coding-standard to v1.3.1
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-09-19 14:21:20 +02:00
rakekniven
b8774816f6
chore(i18n): Spelling of ID
Reported at Transifex

Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2024-09-06 19:21:07 +02:00
Anna Larch
8af7ecb257 chore: adjust code to adhere to coding standard
Signed-off-by: Anna Larch <anna@nextcloud.com>
2024-09-05 21:23:38 +02:00
John Molakvoæ
f4aa2644ee fix: adjust sharing controller exceptions case
Co-authored-by: F. E Noel Nfebe <fenn25.fn@gmail.com>
Co-authored-by: Ferdinand Thiessen <opensource@fthiessen.de>
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2024-09-04 09:03:45 +02:00