Commit Graph

110 Commits (feat/database/query-result-fetch-associative-fetch-num)

Author SHA1 Message Date
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 +07:00
Maxence Lange c6c06d517c set authType to basic
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2023-09-20 08:23:45 +07:00
Maxence Lange 8b9e7e235d ocm controller
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2023-09-20 08:23:45 +07: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 +07: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 +07:00
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 +07: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 +07:00
Carl Schwan 54031e370a Fix various other small psalm issues
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-10-17 12:40:35 +07: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 +07:00
Carl Schwan c6b8a3bec3 Fix permission not being int
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-10-17 12:37:46 +07: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 +07: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 +07: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 +07: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 +07:00
Robin Appelman 9834350ac3
Merge pull request #31713 from nextcloud/fed-performance
Federated share performance improvements
2022-04-07 18:53:36 +07:00
Carl Schwan 579c6b1e5a Use querybuilder for share external mountpoint
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-04-06 10:18:36 +07: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 +07:00
Robin Appelman 802e59243b
use all possible permissions dav properties
Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-04-04 16:48:24 +07: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 +07: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 +07:00
Robin Appelman 1c468129af
adjust tests to new fs setup
Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-03-04 16:29:59 +07: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 +07: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 +07: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 +07: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 +07:00
Joas Schilling 66b1963b6e
Fix passing on the parameter
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-01-05 09:30:20 +07: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 +07: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 +07:00
Robin Appelman ab275c5e38
move files_sharing to IBootStrap
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-10-19 11:31:07 +07:00
Hinrich Mahler 961f8958c0
Let users choose a share_folder 2021-09-06 16:39:11 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07:00
John Molakvoæ (skjnldsv) 215aef3cbd
Update php licenses
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2021-06-04 22:02:41 +07:00
szaimen 35d978c2fc Rename External storages to External storage
Signed-off-by: szaimen <szaimen@e.mail.de>
2021-05-20 12:13:04 +07:00
Robin Appelman b844293536 catch notfound and forbidden exception in smb::getmetadata
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-04 21:34:54 +07: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 +07:00
Christoph Wurst 8b64e92b92
Bump doctrine/dbal from 2.12.0 to 3.0.0
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-01-08 11:45:19 +07:00
Christoph Wurst d89a75be0b
Update all license headers for Nextcloud 21
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-12-16 18:48:22 +07:00
Julius Härtl aefe826202
Adjust default
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-08 16:06:10 +07:00
Julius Härtl f68f67f354
Move remoteId of remote reshares to string
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-08 16:03:24 +07:00
Morris Jobke dc479aae2d
Improve CertificateManager to not be user context dependent
* removes the ability for users to import their own certificates (for external storage)
* reliably returns the same certificate bundles system wide (and not depending on the user context and available sessions)

The user specific certificates were broken in some cases anyways, as they are only loaded if the specific user is logged in and thus causing unexpected behavior for background jobs and other non-user triggered code paths.

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-11-03 00:13:01 +07:00
Christoph Wurst d9015a8c94
Format code to a single space around binary operators
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-10-05 20:25:24 +07:00
Christoph Wurst 1f7f93a695
Update license headers for Nextcloud 20 (again)
There are still lots of outdated headers, so time for another round of
updates.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-09-07 14:37:44 +07:00