Commit graph

120 commits

Author SHA1 Message Date
provokateurin
35d2da42ec fix(files_sharing): Check if propfind response is valid before accessing share permission props
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-09-26 14:23:55 +00:00
provokateurin
93b634f497 refactor(files_sharing): Make permissions prop checks less error prone
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-09-26 14:23:55 +00:00
provokateurin
7f22f3d42d fix(files_sharing): Parse OCM share permissions from OCM and not OCS prop
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-09-26 14:23:55 +00:00
Andy Scherzinger
1e04619675
chore: Add SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-06-06 22:53:41 +02:00
Côme Chilliet
ec5133b739 fix: Apply new coding standard to all files
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-04-02 14:16:21 +02:00
Joas Schilling
aa5f037af7
chore: apply changes from Nextcloud coding standards 1.1.1
Signed-off-by: Joas Schilling <coding@schilljs.com>
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2023-11-23 10:36:13 +01:00
Robin Appelman
dec880b285
optimize builtin storage wrappers
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-11-08 15:26:10 +01:00
Robin Appelman
efe68d012c
Merge pull request #39044 from nextcloud/more-empty-mount-checking
Fix root mounts not being setup in some cases
2023-10-24 16:54:05 +02:00
Joas Schilling
91ebbe8003
fix(federation): Use sharing.federation.allowSelfSignedCertificates config for all OCM requests
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-10-11 11:52:10 +02:00
Hamid Dehnavi
d64bbc8bd3 Convert isset ternary to null coalescing operator
Signed-off-by: Hamid Dehnavi <hamid.dev.pro@gmail.com>
2023-09-28 12:18:41 +03:30
Maxence Lange
c6c06d517c set authType to basic
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2023-09-20 08:23:45 -01:00
Maxence Lange
8b9e7e235d ocm controller
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2023-09-20 08:23:45 -01:00
Robin Appelman
5685d68bd3
add more checks to ensure mounts aren't empty
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-09-12 16:50:24 +02:00
Christoph Wurst
b8c61b3515 fix(caching): Avoid checking existence before fetching
The cache might expire between checking for key existence and fetching
the value. In this rare case the code continues with a null value when
it doesn't expect one.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-06-12 09:44:48 +02:00
Faraz Samapoor
12e3594299 Refactors "strpos" calls in /apps/files_sharing to improve code readability.
Signed-off-by: Faraz Samapoor <f.samapoor@gmail.com>
2023-06-02 20:08:40 +03:30
Côme Chilliet
74811813e7 Avoid extra parenthesis around SQL in IN expressions
The expression builder already suround the SQL with parenthesis when
 using in(), so we must not add another pair, this confuses at least
 sqlite.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-02-21 13:37:30 +00:00
Julius Härtl
7cc9ba28a7
perf(federation): Only request root share info for checking availability
Otherwise this would request a full recursive dirctory listing while the result is never being used

Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-01-31 11:41:34 +01:00
Carl Schwan
54031e370a Fix various other small psalm issues
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-10-17 12:40:35 +02:00
Carl Schwan
0a2a4d8687 Fix incorrect argument name in inherited method
The arguments now need to be the same as in the parent method

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-10-17 12:39:22 +02:00
Carl Schwan
c6b8a3bec3 Fix permission not being int
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-10-17 12:37:46 +02:00
Robin Appelman
8367b99c59
fix external share scanner not propagating locking-opt-out
Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-08-03 17:12:30 +02:00
Carl Schwan
6ba9a4a752
Disable locking on federated shares
The old inneficiant code didn't do locking and adding locking is
creating issues

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-08-03 15:17:55 +02:00
Carl Schwan
fa48430feb
Revert "Revert "Remove inefficient fed share scanner""
This reverts commit 6667007bf2.

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-08-03 15:17:51 +02:00
Carl Schwan
6667007bf2 Revert "Remove inefficient fed share scanner"
This reverts commit ce31914314.

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-06-10 10:29:42 +02:00
Robin Appelman
9834350ac3
Merge pull request #31713 from nextcloud/fed-performance
Federated share performance improvements
2022-04-07 18:53:36 +00:00
Carl Schwan
579c6b1e5a Use querybuilder for share external mountpoint
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-04-06 10:18:36 +02:00
Robin Appelman
5e2dd29aaf
only request free space once for external shares
Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-04-04 16:48:27 +02:00
Robin Appelman
802e59243b
use all possible permissions dav properties
Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-04-04 16:48:24 +02:00
Robin Appelman
89d3cd1447
don't overwrite the etag from storage backends that already provide "good" etags
Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-04-04 16:48:18 +02:00
Robin Appelman
de5af8efbf
invalidate mount cache after accepting or renaming federated share
Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-03-25 14:18:36 +01:00
Robin Appelman
1c468129af
adjust tests to new fs setup
Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-03-04 16:29:59 +01:00
Robin Appelman
cfb7923e08
store mountprovider for each mount in the mounts table
this enabled more fine grained filesystem setup

Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-02-23 18:02:33 +01:00
Robin Appelman
b8752c59cd improve errors for external share availability check
Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-02-21 14:21:28 +00:00
Vincent Petry
ce31914314
Remove inefficient fed share scanner
Remove scanAll which relies on the "shareinfo" endpoint that returns the
full cache tree.
The latter can become big for big shares and result in timeouts.
Furthermode, the full tree would be retrieved again for each and every
detected change which can become expensive quickly.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2022-01-10 11:33:28 +01:00
Carl Schwan
0b15da3c25
Handle LocalServerException when scanning external shares
When remoteIsOwnCloud trows LocalServerException, the storage is
unavailable and instead of crashing the scanner, ignore the specific
storage.

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-01-06 18:03:21 +01:00
Joas Schilling
66b1963b6e
Fix passing on the parameter
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-01-05 09:30:20 +01:00
Carl Schwan
33051667ce
Improve api documentation for file sharing external storage
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-01-03 10:41:40 +01:00
Carl Schwan
325be6627b
Handle external share with invalid host
remoteIsOwnCloud might throw an exception when the host is localhost.
Handle this case instead of aborting completely. The behavior is the
same as that is done 10 lines under it

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2021-12-20 15:28:14 +01:00
Robin Appelman
ab275c5e38
move files_sharing to IBootStrap
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-10-19 11:31:07 +02:00
Hinrich Mahler
961f8958c0
Let users choose a share_folder 2021-09-06 16:39:11 +02:00
Vincent Petry
f6f2f63016
Fix remote share deletion when deleting user
When deleting a user, we should only delete the direct remote user
shares or the remote group based subshares.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-07-27 14:32:51 +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
e67e90afce
Fix remote group share decline+accept code path
When declining a remote group share through the dialog that appears when
notifications are off, the mount point is now correctly saved when
re-accepting.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-07-27 12:20:03 +02:00
Vincent Petry
e8f4a524a2
Fix external share manager with multiple user groups
Use query builder with proper matching for finding the group names.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-07-27 12:19:26 +02:00
Vincent Petry
15f41a6b72
Fix remote group share API interactions
Accepting and declining can now be done repeatedly on both the parent
group share and sub-share with the same effects.

Added unit tests to cover these cases, and also when the same operation
is repeated.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-07-27 12:19:26 +02:00
Vincent Petry
4b5bb4d9cf
Fix re-accepting or re-rejecting remote group shares
When accepting a group share, a sub-share entry is created which also
has a different id.

When accepting or rejecting the sub-share, simply update the "accepted"
flag instead of trying to re-insert the entry.

Adjust getShare to also properly validate group share membership
when called on a sub-share id.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-07-27 12:19:24 +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
Vincent Petry
7130a98e47
Fix received federated group shares
Fix pending shares endpoint to consider user-specific sub-entries
for group shares whenever a share was accepted or declined.

Added unit test for adding remote group shares.

Fixed "removeUserShares" to not send a remote request as we never send
remote requests for group shares.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-07-27 12:19:23 +02:00
Louis Chemineau
ebf35fb38a Correctly check the reception of a remote feedback
Signed-off-by: Louis Chemineau <louis@chmn.me>
2021-06-09 15:37:18 +02: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