Commit Graph

765 Commits

Author SHA1 Message Date
Vincent Petry 78ee125c34
Fix public link download button
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-20 02:39:46 -06:00
Vincent Petry a4ce440392
Ignore NoUserException for shares from ghosts
Add unit tests for FailedStorage init from SharedStorage

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-20 01:43:24 -06:00
Maxence Lange 69694012ab shares-circles
Signed-off-by: Maxence Lange <maxence@nextcloud.com>
2017-03-17 18:48:33 -01:00
Jörn Friedrich Dreyer 5155a5288c
Add CleanupRemoteStorages command
cleanup files, address review

Fix CleanupRemoteStoragesTest tests

Fix test expectation.
Added files count to check filecache deletion.

Sort by numeric id for deterministic test results

Removed precise order test and added storage check

Remove inaccurate removal message check which has a different order on
Oracle.

Added more checks to confirm that existing storages still exist.

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-17 00:09:52 -06:00
Vincent Petry 377fdf3860
Skip null groups in group manager (#26871) (#26956)
* Skip null groups in group manager (#26871)

* Skip null groups in group manager

* Also skip null groups in group manager's search function

* Add more group null checks in sharing code

* Add unit tests for null group safety in group manager

* Add unit tests for sharing code null group checks

* Added tests for null groups handling in sharing code

* Ignore moveShare optional repair in mount provider

In some cases, data is inconsistent in the oc_share table due to legacy
data. The mount provider might attempt to make it consistent but if the
target group does not exist any more it cannot work. In such case we
simply ignore the exception as it is not critical. Keeping the
exception would break user accounts as they would be unable to use
their filesystem.

* Adjust null group handing + tests

* Fix new group manager tests

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-17 00:07:03 -06:00
Morris Jobke a5ba1f7803
Remove legacy class OC_Group and OC_User
* basically a straight replacement of the wrapped code at the calling code parts

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-09 17:35:09 -06:00
Robin Appelman fa49c4a13b
Add a single public api for resolving a cloud id to a user and remote and back
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-02-08 15:17:02 +01:00
Bjoern Schiessle 0c11209d33
allow to access mail shares even if public links are disabled
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-01-04 21:23:26 +01:00
Arthur Schiwon b4d779977a
fix tests
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2016-12-22 19:33:09 +01:00
Vincent Petry 14256d631c
Use group display name in sharing API + UI 2016-12-22 18:35:32 +01:00
Robin Appelman 5d0897b8d7
use unmasked permissions in shared scanner
Signed-off-by: Robin Appelman <robin@icewind.nl>
2016-12-14 14:37:51 +01:00
Robin Appelman 02ee4f958c
apply permissions mask for shared storage
Signed-off-by: Robin Appelman <robin@icewind.nl>
2016-12-02 17:59:02 +01:00
Roeland Jago Douma 08ef7356f6 Merge pull request #2165 from nextcloud/sharing-activities-update
Move file sharing activities to the new API
2016-11-22 10:19:15 +01:00
Lukas Reschke 7b3855a375
Add config switch
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-11-21 11:30:02 +01:00
Joas Schilling bdaf334c53
Move file sharing activities to the new API
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-11-16 16:45:08 +01:00
Roeland Jago Douma ff96fffe39 Merge pull request #2100 from nextcloud/do_not_increse_link_share_perms
Fixes not allowed increasing of link share permissions
2016-11-14 15:21:08 +01:00
Morris Jobke 16a110e803 Merge pull request #2067 from nextcloud/fileinfo-lazy-substorages
only query substorages to calculate the final mtime/size/etag when we need it
2016-11-14 11:39:02 +01:00
Roeland Jago Douma 965981486f
Fixes not allowed increasing of link share permissions
Fixes the following:

1. user0 shares folder with user1 (RO but with sharing permissions)
2. user1 shares by link
3. user1 send 'publicUpload=true' OCS request to the link share

before this increased the permissions of the link share. Which should
not happen.

now: API reponds with an error that the permissions can't be increased.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-11-13 20:29:34 +01:00
Joas Schilling cbc6118f51
Only check the sharing backends for file/folder items
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-11-10 16:46:01 +01:00
Robin Appelman cbcdf69dc2
only query substorages to calculate the final mtime/size/etag lazily
Signed-off-by: Robin Appelman <robin@icewind.nl>
2016-11-10 13:59:22 +01:00
Roeland Jago Douma 0c1fd16d54
Add tests
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-11-07 21:02:23 +01:00
Roeland Jago Douma 04ece69a33
Cleanup OC_Group usage a bit
This is deprecated internal stuff. Should not be used anymore.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-11-04 20:55:47 +01:00
Roeland Jago Douma 55af6b45f7
More tests
* PreviewController test
* PublicPreview test
* Versions Preview test
* Trash Preview test

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-11-03 14:00:33 +01:00
Morris Jobke 39573e602d Merge pull request #1978 from nextcloud/remove-send-mail-option
Remove send mail option
2016-11-02 22:36:05 +01:00
Bjoern Schiessle d235c4833f
remove the 'shareapi_allow_mail_notification' setting
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2016-11-02 21:17:05 +01:00
Bjoern Schiessle f556c58c22
remove 'send mail notification' option from sharing, replaced by send-by-mail feature
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2016-11-02 18:30:38 +01:00
Michael Grosser e81d04cd8d Merge pull request #1940 from nextcloud/new-appstore
Use new appstore API
2016-11-02 17:00:24 +00:00
Bjoern Schiessle 6d7520b1e2
unit tests updated and new added
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2016-11-01 19:54:41 +01:00
Bjoern Schiessle 392c8a115f
unified way to display remote shares and mail shares
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2016-11-01 19:54:40 +01:00
Lukas Reschke 8d83e239f3
Fix tests
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-10-31 17:17:45 +01:00
Morris Jobke 01a85a98f2 Merge pull request #1876 from nextcloud/shareesAPI_email
Add ShareesAPI E-mail search
2016-10-25 13:53:59 +02:00
Vincent Petry 59c5be1cc5
Use Webdav PUT for uploads in the web browser
- uses PUT method with jquery.fileupload for regular and public file
  lists
- for IE and browsers that don't support it, use POST with iframe
  transport
- implemented Sabre plugin to handle iframe transport and redirect the
  embedded PUT request to the proper handler
- added RFC5995 POST to file collection with "add-member" property to
  make it possible to auto-rename conflicting file names
- remove obsolete ajax/upload.php and obsolete ajax routes

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-10-24 21:45:00 +02:00
Roeland Jago Douma a28528a254
Add ShareesAPI E-mail search
* Allow to search for SHARE_TYPE_EMAIL (4)
* Added tests

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-10-24 14:59:32 +02:00
Roeland Jago Douma b4ebf03bef
Fix tests
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-10-24 13:25:59 +02:00
Roeland Jago Douma f589f1a1d6
Move files_sharing Controllers => Controller
lib/Controller is the default location for controllers. So lets put them
all in there.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-10-24 11:46:25 +02:00
Roeland Jago Douma 6604e76e94
Fix middleware tests
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-10-24 09:52:34 +02:00
Roeland Jago Douma ea07bbc562
Move Share20OCS to ShareAPIController
It was already a controller just still residing in its old location.

* Moved ShareAPIController to user plain userID instead of user object
* Moved Share20OCS to ShareAPIController
* Removed initisation of class from Application.php and leave it to the
AppFramework
* Fixed tests

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-10-24 09:52:34 +02:00
Roeland Jago Douma 7792902808
Fix tests
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-10-21 21:43:15 +02:00
Thomas Müller e0d919bbfc
Adding Open Graph Support for public shares http://ogp.me/
In case no preview is available we display the ownCloud logo

Fix unit test
2016-10-21 21:42:40 +02:00
Morris Jobke 2799b0a821 Merge pull request #1835 from nextcloud/downstream-24948
Move OC\Files\Storage\Shared to the right namespace
2016-10-20 23:48:15 +02:00
Joas Schilling 246bb9f33d
Move OC\Files\Storage\Shared to the right namespace 2016-10-20 20:27:44 +02:00
Vincent Petry d4976e5554
Fix post_unshareFromSelf hook parameter format
When unsharing from self in a group share situation, the share items
passed to the post_unshareFromSelf hook were using the wrong format in
which the attribute names (ex: "share_type") have non camel-case format.

This fix makes sure that in group sharing case we use the correct
format. It looks like the code was already producing it but in
array_merge it was not using it and adding the unprocessed one.
2016-10-20 16:09:08 +02:00
Robin Appelman ab10a54836
remove duplicate trait
Signed-off-by: Robin Appelman <robin@icewind.nl>
2016-10-12 16:12:38 +02:00
Robin Appelman 7d1e800c15
fix share tests not passing path
Signed-off-by: Robin Appelman <robin@icewind.nl>
2016-10-12 16:12:36 +02:00
Robin Appelman 3845d4ec9a
more robust test setup
Signed-off-by: Robin Appelman <robin@icewind.nl>
2016-10-12 16:12:34 +02:00
Robin Appelman 7ce68ce6ac
phpunit is weird
Signed-off-by: Robin Appelman <robin@icewind.nl>
2016-10-12 16:12:34 +02:00
Lukas Reschke a1f5364d7f
Generate coverage for quick DB tests
This adds the "QUICKDB" group which excludes some tests that abuse unit tests as integration tests as displayed in https://github.com/nextcloud/server/issues/1626

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-10-05 13:55:44 +02:00
Lukas Reschke 498b7399c1
Inject IHTTPClientService
Otherwise the unit test execution will do a ton of external HTTP requests which fail and then timeout…

See https://blackfire.io/profiles/compare/3c67acfa-a11e-4aec-bcd4-c945b006f01e/graph for reference

Pretty similar to https://github.com/nextcloud/server/pull/1565

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-09-29 00:26:20 +02:00
Vincent Petry 118c9d58fe
Fix fed share test call to return proper result
Fixes an issue where retrying a previously failed federated share would
not properly reset the availability flag because the return value was
undefined instead of "true".
2016-09-20 12:11:26 +02:00
Roeland Jago Douma 56d37e27bc
Fix tests 2016-09-13 09:40:59 +02:00
Vincent Petry fb52b1af67
Allow increasing permissions for share owner
In some cases, the owner of the share is also recipient through a group
share. The owner must still be able to increase permissions in that
situation.
2016-09-13 09:40:59 +02:00
Morris Jobke c16aefcff5 Merge pull request #1317 from nextcloud/add-sharing-disclaimer
Adding a optional disclaimer to the anonymous upload page
2016-09-08 21:18:28 +02:00
Lukas Reschke 268c5a0aa0
Adjust test 2016-09-08 20:34:04 +02:00
Robin Appelman e8e950a4d2
more efficient querying of numeric storage ids 2016-09-07 17:22:40 +02:00
Roeland Jago Douma c629761fea
Fix getMock files_sharing 2016-09-06 09:29:27 +02:00
Vincent Petry ec9fd67bc5
Allow space for federated share id search 2016-08-30 11:11:59 +02:00
Roeland Jago Douma 2fdda01b4b
Sharee API to AppFramework
* Move to OCSController
* Move to Controller folder
* Use automatic DI
* Use function parameters
* Updated tests
2016-08-26 11:36:09 +02:00
Roeland Jago Douma cae87d028d
Fix tests 2016-08-24 21:30:42 +02:00
Roeland Jago Douma fda4241dfb
Cleanup Tests 2016-08-17 20:45:29 +02:00
Roeland Jago Douma af074eb2b7
Move updateShare and getShares over to use proper parameters
* Update tests
2016-08-17 20:45:29 +02:00
Roeland Jago Douma 22e23f3045
Use parameters in createShare
* Fix tests
2016-08-17 20:45:27 +02:00
Roeland Jago Douma 9daf41e05a
Add files drop capability for clients 2016-08-13 14:02:09 +02:00
Roeland Jago Douma 4006763f5b
Move the Share20OCS code over to use the proper DataResponse 2016-08-10 12:40:32 +02:00
Lukas Reschke 70eef2a82e Merge pull request #445 from nextcloud/ocs_share_to_appframework
OCS Share API to appframework
2016-08-08 14:59:59 +02:00
Roeland Jago Douma 0556e40d3e
Fix tests 2016-08-05 14:17:32 +02:00
Roeland Jago Douma d9418c105e
Add OCSShareAPIMiddleware tests 2016-08-05 14:17:32 +02:00
Joas Schilling f37fa6e45c
Move Share backends to PSR-4 instead of using class path (#24941) 2016-08-05 14:13:41 +02:00
Vincent Petry 2404f6a5a7
Make share target consistent when grouping group share with user share
In some situations, a group share is created before a user share, and
the recipient renamed the received share before the latter is created.
In this situation, the "file_target" was already modified and the second
created share must align to the already renamed share.

To achieve this, the MountProvider now groups only by "item_source"
value and sorts by share time. This makes it so that the least recent
share is selected as super-share and its "file_target" value is then
adjusted in all grouped shares.

This fixes the issue where this situation would have different
"file_target" values resulting in two shared folders appearing instead
of one.
2016-08-03 10:16:28 +02:00
Vincent Petry 0bddaa23b0
Added more tests for sharing's MountProvider 2016-08-03 10:16:28 +02:00
Vincent Petry 714d7ec936
Improved share grouping readability + fixed test 2016-08-03 10:16:28 +02:00
Joas Schilling 0215b004da
Update with robin 2016-07-21 18:13:58 +02:00
Joas Schilling 813f0a0f40
Fix apps/ 2016-07-21 18:13:57 +02:00
Roeland Jago Douma 1c5e082ee1
Add eventdispatcher to public link view 2016-07-18 13:35:35 +02:00
Morris Jobke 40328114f9 Merge pull request #379 from nextcloud/create_federated_share_on_mount
Create federated share on mount
2016-07-18 09:22:48 +02:00
Roeland Jago Douma db559e33be
Fix PHPUnit 5.4 warnings in files_sharing tests 2016-07-15 12:22:53 +02:00
Bjoern Schiessle 5bbba490c4
move some stuff over to the federatedfilesharing app 2016-07-14 16:39:48 +02:00
Morris Jobke beae00a5e5 Simplify test code and don't show anything if no date is set 2016-07-07 15:10:04 +02:00
Morris Jobke 43b26b9506 add unit tests 2016-07-07 15:10:04 +02:00
Morris Jobke ba16fd0d33 Merge branch 'master' into sync-master 2016-07-07 11:29:46 +02:00
Thomas Müller d2d99a91a0 fix swift primary object store test (#25281)
* Wait for socket to be open

* Fix call on null

* Allow DB access for MountProviderTest

Makes unit tests pass when using object store, since their FS access is
actually oc_filecache DB access. It is currently not possible to mock
or bypass the logic from "SharedMount::verifyMountPoint()" triggered by
this test.
2016-07-05 08:54:51 +02:00
Lukas Reschke 6670d37658 Merge remote-tracking branch 'upstream/master' into master-sync-upstream 2016-06-27 18:23:00 +02:00
Lukas Reschke 7a9d60d87e
Merge remote-tracking branch 'upstream/master' into master-upstream-sync 2016-06-26 12:55:05 +02:00
Vincent Petry 955635c7aa Add explicit delete permission to link shares
Link shares always allowed deletion, however internally the permissions
were stored as 7 which lacked delete permissions. This created an
inconsistency in the Webdav permissions.

This fix makes sure we include delete permissions in the share
permissions, which now become 15.

In case a client is still passing 7 for legacy reasons, it gets
converted automatically to 15.
2016-06-24 09:48:48 +02:00
Thomas Müller f2f1eab7f4 fix broken unit test (#25198) 2016-06-21 13:55:11 +02:00
Vincent Petry ca168265ef Filter out group shares for owner where owner is included (#25190) 2016-06-21 11:36:28 +02:00
Arthur Schiwon 42c66efea5
Merge branch 'master' of https://github.com/owncloud/core into downstream-160611 2016-06-11 15:34:43 +02:00
Lukas Reschke c268ad1597
Add PHP unit test 2016-06-09 18:29:13 +02:00
Bjoern Schiessle bb54ab0db8
add hide file list option 2016-06-09 15:15:17 +02:00
Roeland Jago Douma 72c5535492
Extend unit tests 2016-06-07 15:09:26 +02:00
Roeland Jago Douma 2e2ece753f
Fix unit tests 2016-06-07 15:09:25 +02:00
Lukas Reschke aba539703c
Update license headers 2016-05-26 19:57:24 +02:00
Joas Schilling 3f0b2d148d
Move tests to PSR-4 2016-05-25 15:00:00 +02:00
Joas Schilling 5001036fd4
Move classes from outside lib/ to PSR-4 2016-05-25 14:59:59 +02:00
Joas Schilling 25f3110730 Fix ShareControllerTest (#24824) 2016-05-25 10:21:07 +02:00
Björn Schießle 7b25839bd5
use share initiator as fall back to access the file
in case of federated re-shares the owner can be a remote user.
Therefore we can't always use to owner to access the local file
2016-05-20 21:15:15 +02:00
Björn Schießle 5a1641bed2
move request handler for federated shares to the federated sharing app 2016-05-20 21:15:08 +02:00
Joas Schilling 320b1c3abf
Fix more failures 2016-05-19 10:11:42 +02:00
Roeland Douma 5c9103287f Group fixup (#24621)
* Move used OC_Group_xx to \OC\Group

* Add (deprecated) legacy wrapper in legacy, OC_Group_xx

* Replace deprecated use of OC_Group_xx with \OC\Group\xx
2016-05-17 16:06:44 +02:00
Roeland Jago Douma 8bfa532075
Fix test race condition
E-tag propagation replies on the mtime of the file. Order of events:

1. add file 'foo.txt' with content 'bar'
2. Set mtime to now() - 1
3. Check if etag changed.

Now this goes right often when 1 and 2 happen in the same second.
However imagine

1. add file 'foo.txt' with content 'bar' (at t=0.999)
2. Set mtime to now() - 1 (at t=1.001)

Now the mtime will be set to the same time. Thus not chaning the etag.
2016-05-11 14:07:37 +02:00
Roeland Jago Douma 62bc53143e
Add locking to modifying operation of the OCS Share API
Fixes #17243

This is done in the OCS Share API instead of the share manager since we
want lazy shares in general. However when doing modifying calls via the
OCS Share API it is fine to force real nodes.

* Updated unit tests to work with logging
2016-04-30 10:32:35 +02:00
Thomas Müller 887045b790 Merge pull request #24027 from owncloud/translate_ocs_share
Translate OCS Share API error messages
2016-04-26 14:42:18 +02:00
Roeland Jago Douma 5e9b618604
Translate OCS Share API error messages
For https://github.com/owncloud/core/issues/22209
2016-04-25 11:08:48 +02:00
Björn Schießle 74de72e75e Merge pull request #24073 from owncloud/move_federated_sharing_settings_to_app
move federated sharing settings to the federatedfilesharing app
2016-04-25 10:19:46 +02:00
Björn Schießle e10105474f
move federated sharing settings to the federatedfilesharing app 2016-04-22 14:55:40 +02:00
Robin Appelman b7867e9368 Add unit tests for shared size propagation with encryption 2016-04-21 13:13:18 +02:00
Thomas Müller cd01c440a0 Merge pull request #23919 from owncloud/cyclyc-share-dep-example
SharedStorage to new sharing code + cleanup
2016-04-20 20:37:27 +02:00
Roeland Jago Douma dd7e0d13e5
Move the group dummy backend to test
The dummy backend is only used for testing and should thus reside in
tests.
2016-04-19 15:13:31 +02:00
Roeland Jago Douma 92abb5f23d
Fix tests 2016-04-19 14:04:00 +02:00
Stefan Weil 16df1c5188 apps: Fix typos (found by codespell) (#23862)
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2016-04-12 12:52:51 +02:00
Roeland Jago Douma db0c3bd535
Fix Share20OCSTest 2016-04-08 15:22:49 +02:00
Roeland Jago Douma db5ea95e29 Add capability to show if group sharing is enabled
fixes #23477

Now clients can correct wording to properly reflect who a user can share
with.
2016-04-04 19:35:01 +02:00
Vincent Petry a9aa39efbf Fix displaying owner before share icon in file list
Initial display of owner was missing
2016-03-30 18:09:02 +02:00
Thomas Müller d5be21fe81 Merge pull request #23398 from owncloud/block_group_sharing
Allow blocking of group sharing
2016-03-22 21:28:13 +01:00
Roeland Jago Douma 00f48ec37b When the Share API is disabled do not return shares
Fixes #22668

Block everything in the OCS Share API
2016-03-22 19:43:23 +01:00
Roeland Jago Douma e69a09756b Respect disabled group sharing in sharee endpoint
* Fix tests
2016-03-22 17:13:34 +01:00
Roeland Jago Douma 52826d0e24 Block group sharing in API and in share manager
* Fix tests
2016-03-22 17:13:34 +01:00
Vincent Petry f778e48ee5 Add webdav property for share info in PROPFIND response 2016-03-17 15:35:21 +01:00
Robin Appelman 7d42bdfde0 Specify the target user when unsharing a federated share 2016-03-14 14:34:05 +01:00
Roeland Jago Douma 6509220f82 Fix intergration tests 2016-03-13 13:31:28 +01:00
Roeland Jago Douma 517ef52560 Add mimetype to OCS Share API output
Fixes #23044
2016-03-10 15:41:17 +01:00
Lukas Reschke c353d51810 Remove Scrutinizer Auto Fixer 2016-03-01 17:48:23 +01:00
Lukas Reschke 933f60e314 Update author information
Probably nice for the people that contributed to 9.0 to see themselves in the AUTHORS file :)
2016-03-01 17:25:15 +01:00
Thomas Müller 5fe5233f41 Merge pull request #22681 from owncloud/add-autodiscovery-for-ocs
Add autodiscovery support to server-to-server sharing implementation
2016-03-01 11:27:28 +01:00
Thomas Müller 73e145cf63 Merge pull request #22728 from owncloud/external-share-testremote
use ocs discover endpoint to test remote
2016-03-01 11:27:07 +01:00
Lukas Reschke 8f95d69954 Fix tests 2016-03-01 07:01:52 +01:00
Roeland Jago Douma 8924b0a0dc Check correct permissions when resharing
Fixes #22675

Since we only get a share id we do not know the path for the sharer.
Now if we edit a share we start searching for shares for that user of
that node. And deduce the permissions that way.

* Intergration test added
* Fix unit tests
2016-02-29 19:30:14 +01:00
Thomas Müller 66536f912e Merge pull request #22640 from owncloud/fix_22587
Remove delete permissions for read-only federated reshares
2016-02-26 10:48:07 +01:00
Lukas Reschke 59028cced0 Add autodiscovery support to server-to-server sharing
Adds autodiscovery support to server-to-server sharing as specified in the specification. If no discovery data is found it is using the fallback ownCloud endpoints for legacy support.
2016-02-26 09:26:55 +01:00
Roeland Jago Douma 92cff0984d Make file actions use icon CSS classes
This makes theming of file actions possible
2016-02-25 22:49:52 +01:00
Roeland Jago Douma 0c9c7737b4 Remove delete permissions for read-only federated reshares
An incomming federated share is just a mount point. Therefor if we
request the permissions on the mountpoint DELETE permissions will be
returned (among others). Since we can always remove a mountpoint, update
a mount point.

However now when trying to reshare we will try to reshare with DELETE
permissions. Which is false.

This PR removes the delete permissions if it is a shared storage.

Basically a quick hack.
Fixes #22587
2016-02-25 12:19:38 +01:00
Roeland Jago Douma 670557ffbb Add unit tests for formatShare 2016-02-17 13:55:39 +01:00
Roeland Jago Douma 2aa0b885f6 OCS Share API should not return invalid shares
Since we have lazy shares it can happen that a share is actually
invalid. See https://github.com/owncloud/core/issues/20908

This add checks for the get methods to handle the NotFound exception.
2016-02-17 13:55:39 +01:00
Thomas Müller 11707dffce Merge pull request #22351 from owncloud/fix_22277
show remote server on federated share auto-complete
2016-02-13 18:25:04 +01:00
Bjoern Schiessle 11abf2487c add remote server to the result 2016-02-12 15:52:51 +01:00
Roeland Jago Douma 745bfda41f Fix migration step to avoind invisible shares 2016-02-11 13:29:23 +01:00
Roeland Jago Douma 0284c60c3a Add tests 2016-02-11 13:29:23 +01:00
Vincent Petry f79fafcf06 Revert back to non-webdav download link for public URLs
Fixes issues with browsers not happy with the token.
Fixes activities which were not sent.
2016-02-10 19:09:52 +01:00
Robin Appelman acd8c72d3d add tests 2016-02-09 15:03:00 +01:00
Roeland Jago Douma 359c62d90e Fix unit tests 2016-02-09 15:03:00 +01:00
Roeland Jago Douma 623a0e4637 Example hook check 2016-02-09 10:36:44 +01:00
Roeland Jago Douma 38cbfed476 Fix unit test 2016-02-09 10:20:25 +01:00
Thomas Müller 698a6b07a8 Merge pull request #22206 from owncloud/share2_migration_with_federated
Update the migration step to include federated shares
2016-02-08 17:58:26 +01:00
Roeland Jago Douma 3c4e511792 Update the migration step to include federated shares
Now federated shares will also be updated to the flat
reshare model.
2016-02-08 15:11:48 +01:00
Roeland Jago Douma a506f9ca3f Respect not allowing outgoing shares 2016-02-08 11:30:48 +01:00
Roeland Jago Douma bec1de8a38 Update OCS Share API to use federated share provider 2016-02-08 11:30:48 +01:00
Roeland Jago Douma ca32778975 Even single shares are returned as array
When fetching a single share using ../shares/<ID> we should still return
an array of shares.

Fixes #22189
2016-02-08 10:11:22 +01:00
Roeland Jago Douma 453ea6698d [Share 2.0] Fix public link sharing 2016-02-03 19:25:29 +01:00
Roeland Jago Douma c1841892d0 [Share 2.0] Fix OCS endpoint 2016-02-03 19:25:29 +01:00
Thomas Müller e34ec0a138 Merge pull request #22095 from owncloud/public_link_with_port
Public link downloads should work on instance on non default port
2016-02-03 16:06:54 +01:00
Roeland Jago Douma 4bb96a5553 Construct valid URL 2016-02-03 11:29:36 +01:00
Roeland Jago Douma dc32f49c6e [Share 2.0] Use GenericShareException 2016-02-02 14:23:45 +01:00
Roeland Jago Douma 4d7130ad31 [Share 2.0] Add exceptions to OCP 2016-02-02 14:07:11 +01:00
Roeland Jago Douma 6151a0540b Update the initiator of the share as well in migration 2016-01-28 19:24:23 +01:00
Roeland Jago Douma b85770d636 Update reshares in batches as not to run out of memory 2016-01-28 19:24:23 +01:00
Björn Schießle dc8d43575f upgrade to sharing 2.0, remove hierarchical re-shares 2016-01-28 19:24:23 +01:00
Roeland Jago Douma 2831884e74 Fix OCS unit tests after two share merges
* Use getNode
* Return IShare object so typechecking is happy
2016-01-28 13:17:16 +01:00
Thomas Müller 295de6aad7 Merge pull request #21960 from owncloud/share2_ocs_fix_passing_empty_strings
Share2 ocs fix passing empty strings
2016-01-28 11:58:35 +01:00
Robin Appelman 1369f2c684 cleanup shared cache 2016-01-28 11:46:43 +01:00
Roeland Jago Douma 34e912ab6b [Share 2.0] Fix interfaces and comments
* Made comments more clear
* Removed unneeded methods
* IShares shareTime is now a proper DateTime object
* IShares getPath -> getNode & setPath -> setNode
* Fix unit tests
2016-01-28 07:54:09 +01:00
Roeland Jago Douma 185b9c6edd [Share 2.0] Move IShare to OCP 2016-01-27 22:04:37 +01:00
Roeland Jago Douma 6957917b20 [Share 2.0] Allow using permissions to update link share 2016-01-27 20:36:36 +01:00
Roeland Jago Douma f5c45dfe7b [Share 2.0] Still allow isolated updates
Still allow isolated updates of parameters
2016-01-27 20:36:31 +01:00
Roeland Jago Douma b321ceef60 [Share 2.0] Also handle empty parameter in updateShare
* More sanity checks
* More unit tests
2016-01-27 20:34:06 +01:00
Roeland Jago Douma 35a3432793 [Share 2.0] When passing empty strings don't fail
The password and expiration date can be set to empty strings when
created. This is now handled gracefully.
2016-01-27 20:34:06 +01:00
Joas Schilling d46cd6a245 Fix tests 2016-01-26 14:02:32 +01:00
Roeland Jago Douma 18421e7e68 Directly get from the server container
* Updated unit tests
2016-01-20 21:12:26 +01:00
Roeland Jago Douma 8734ebe505 [Share 2.0] Make link share download use share manager 2016-01-20 21:12:26 +01:00
Roeland Jago Douma 717697313b [Share 2.0] Move tests over the sharemanager
Nice side effect... pure unit tests!
2016-01-20 21:12:26 +01:00
Roeland Jago Douma d33e578665 [Share 2.0] Add share owner information to OCS Share API 2016-01-15 20:21:47 +01:00
Robin Appelman 5d0451b848 Safe teardowns 2016-01-14 12:54:42 +01:00
Roeland Jago Douma cbd3050f4c [Share 2.0] Use full share id (providerId:shareId)
Now that we support multiple managers we communicate shares to the
outside as 'providerId:shareId'. This makes sures that id's are unique
when references from the OCS API.

However, since we do not want to break the OCS API v1 we need to
somewhat hack around this.

When we switch to OCS API v2 (which we should when we support more
custom providers). We will change the id to always be the fullShareId.
2016-01-13 16:35:15 +01:00
Thomas Müller 682821c71e Happy new year! 2016-01-12 15:02:18 +01:00
Roeland Jago Douma be8125b8e2 Add unit tests to make sure we do not lower the search 2016-01-12 10:34:38 +01:00
Roeland Jago Douma 98c4951f45 getLowStrengthGenerator does not do anything anymore 2016-01-11 19:59:15 +01:00
Roeland Jago Douma 17a066c18e Properly close db cursors 2016-01-08 20:27:01 +01:00
Roeland Jago Douma 629bac22fd Make sure to respect deleted group shares by user 2016-01-08 20:27:01 +01:00
Roeland Jago Douma 066e3770bb Make sure that permissions stay in sync for share_type 2
When a file/folder is shared with a group and one of the group members
moves this file/folder an extra entry is created in the share table.

When the permission of the group share is updated we used to only
sometimes update the shares for individual users.

* Added intergration tests
2016-01-08 20:27:01 +01:00
Vincent Petry 9b595474af Fix public page URL JS test
Stub the port so it doesn't use the one configured by karma
2016-01-08 13:25:38 +01:00
Thomas Müller 601457d221 Merge pull request #20773 from owncloud/share2.0_create
[Sharing 2.0] create share
2016-01-07 14:57:05 +01:00
Vincent Petry 9742e9b113 Add token in webdav download link of public page 2016-01-07 13:37:18 +01:00
Roeland Jago Douma 527b434cd2 [Sharing 2.0] Do not use static function to get numeric storage id 2016-01-06 14:53:43 +01:00
Roeland Jago Douma 38d3a638ed [Share 2.0] Enable share creation via OCS API 2016-01-06 14:53:43 +01:00
Roeland Jago Douma 1f715289bf Removed deprecated function OC_User::deleteUser
Replaced with proper OCP calls
2015-12-17 16:18:40 +01:00
Roeland Jago Douma 835911bce5 Removed deprecated private OC_User::createUser
All function calls are replaced with the recommended (which was already
the body of the function).
2015-12-17 16:18:40 +01:00
Thomas Müller 1285b78086 Merge pull request #21200 from owncloud/files-authorizationheader
Use Authorization headers for public webdav in web UI
2015-12-17 15:30:13 +01:00
Thomas Müller 1ecda59c24 Merge pull request #21189 from owncloud/fix_21187
File shares can't have create permissions
2015-12-15 13:18:22 +01:00
Vincent Petry 1d37e7abfc Fixed JS unit tests for fed owner display name 2015-12-14 18:00:35 +01:00
Vincent Petry ab9849e72f Use Authorization headers for public webdav instead of URL
Instead of prepending the token as username in the URL, use the
Authorization header instead. This is because IE9 considers this a
cross-domain call and refuses to do it in the first place.
2015-12-14 17:42:13 +01:00
Björn Schießle c4b65170f2 show display name but internally use the user name 2015-12-14 17:25:10 +01:00
Roeland Jago Douma 843cf906b1 File shares can't have create permissions
fixes #21187
2015-12-14 14:03:14 +01:00
Robin Appelman 3d5a7b307f Add test case for group share propagation 2015-12-10 13:53:50 +01:00
Joas Schilling 5453daab03 More fixes to the docs 2015-12-08 09:11:50 +01:00
Scrutinizer Auto-Fixer 0f1be1b601 Scrutinizer Auto-Fixes
This commit consists of patches automatically generated for this project on https://scrutinizer-ci.com
2015-12-07 20:08:20 +00:00
Scrutinizer Auto-Fixer 453e1bf66e Scrutinizer Auto-Fixes
This commit consists of patches automatically generated for this project on https://scrutinizer-ci.com
2015-12-07 15:43:36 +00:00
Joas Schilling 372f54075f Only return the exact match, when it's allowed 2015-12-02 16:01:01 +01:00
Thomas Müller fd79511d68 Merge pull request #20688 from owncloud/publiclink-getdownloadurl-webdav
Fix public link getDownloadUrl to return Webdav public link
2015-11-30 15:07:36 +01:00
Thomas Müller 757aa45db7 Adding more DB groups to test suits
Adding more DB groups to test suits
2015-11-30 10:55:06 +01:00
Thomas Müller 3bb6dcea64 Apply DB group annotation ... 2015-11-30 10:55:05 +01:00
Vincent Petry 42091cecf9 Fix public link getDownloadUrl to return Webdav public link
This is for apps that use getDownloadUrl() to access the Webdav endpoint
for example for streaming.
Also happens when clicking on the download action of a file.

Note that the regular visible download URL is still the same.
2015-11-25 17:39:49 +01:00
Thomas Müller 9ec2f8886e Merge pull request #20691 from owncloud/share2.0_di_fixes
[Sharing 2.0] di fixes
2015-11-25 15:25:50 +01:00
Thomas Müller 50f6817ce9 Merge pull request #20439 from owncloud/etag-propagate-in-storage
Take submount etag into account for folder etags
2015-11-25 12:49:54 +01:00
Roeland Jago Douma 8d309767d7 [Sharing 2.0] Use the rootfolder to get the path of a share
We need to use the rootfolder here since we also other people than the
shareOwner can request a share.
2015-11-24 10:26:36 +01:00
Roeland Jago Douma ab02b5c36e [Sharing 2.0] Move authentication to the OCS API 2015-11-24 10:26:36 +01:00
Roeland Jago Douma aeae73b364 [Sharing 2.0] Removed unused DI stuff
The share manager etc should not care about filtering stuff. They should
return what is asked for them.
2015-11-24 10:26:36 +01:00
Thomas Müller ab1d786d87 Fix port issue - options.host already has the port attached 2015-11-22 16:05:51 +01:00
Vincent Petry f20232d4bd Make public link share page work with Webdav and add operations
The public page now uses the public.php/webdav endpoint.

Also enabled more file operations like rename, move, delete and create
folder from the public page, which are now all possible thanks to the
public.php/webdav endpoint.
2015-11-22 16:05:50 +01:00
Vincent Petry fa2be0750c Make files app use Webdav for most operations 2015-11-22 16:05:50 +01:00
Robin Appelman a95d4c2b22 update tests 2015-11-19 13:32:04 +01:00
Robin Appelman 888df3933d take the etag of child mounts into account for the folder etag
this replaces shared etag propagation
2015-11-19 13:32:00 +01:00
Roeland Jago Douma 1e9fc33212 [Share2.0] OCS Share API getShare uses new code 2015-11-16 13:32:28 +01:00
Robin Appelman 20cad09f7f Add tests for FileInfo owner 2015-11-10 11:06:48 +01:00
Roeland Jago Douma 6624fa212a The new sharing code now handles deletion
OCS -> ShareManager -> DefaultShareProvider
2015-11-05 15:59:09 +01:00
Vincent Petry dcfaf3afdc Bring back delete permission in share overview 2015-10-29 17:56:54 +01:00
Lukas Reschke 8f09d5b67c Update license headers 2015-10-26 14:04:01 +01:00
Lukas Reschke 13e817e901 Throw exception on `getPath` if file does not exist
Currently the `getPath` methods returned `NULL` in case when a file with the specified ID does not exist. This however mandates that developers are checking for the `NULL` case and if they do not the door for bugs with all kind of impact is widely opened.

This is especially harmful if used in context with Views where the final result is limited based on the result of `getPath`, if `getPath` returns `NULL` PHP type juggles this to an empty string resulting in all possible kind of bugs.

While one could argue that this is a misusage of the API the fact is that it is very often misused and an exception will trigger an immediate stop of execution as well as log this behaviour and show a pretty error page.

I also adjusted some usages where I believe that we need to catch these errors, in most cases this is though simply an error that should hard-fail.
2015-10-25 17:58:21 +01:00
Roeland Jago Douma ec296b0b7d Add backgroundjob to expire link shares
Simple background job to expire the link shares.

* added unit tests
2015-10-20 08:18:53 +02:00
Robin Appelman 8efd037eb8 Make shared folder size propagation test work with object home storage 2015-10-16 21:41:51 +02:00
Robin Appelman e7f75484f8 Fix shared storage tests for non local home storage 2015-10-16 21:41:51 +02:00
Robin Appelman 0cdd46de60 fix sabre connector tests when using a non local home storage 2015-10-16 21:41:51 +02:00
Thomas Müller 17ffa4a244 Merge pull request #19414 from owncloud/swift_primary_storage_tests
Swift primary storage tests
2015-10-08 14:08:56 +02:00
Thomas Müller b2872ef759 Merge pull request #19589 from owncloud/shares-external-mount-provider
Move the setup of external share mounts to a mountprovider
2015-10-07 17:46:33 +02:00
Robin Appelman 59cf817308 Merge pull request #19511 from owncloud/etag-share-permissions-update
Mark shares as dirty when changing permissions
2015-10-06 18:09:12 +02:00
Jörn Friedrich Dreyer 5646e39248 test objectstore with ceph docker
use default config for swift primary storage test config

allow testsuite to complete

fix timeout, script cleanup, enable debug for now

use btrfs loopback device, requires privileged container and absolute path

throw exception when storage has problems

debug by echo ...

sleep more, more debug
2015-10-06 16:27:25 +02:00
Vincent Petry d546c5bb59 Propagate shares etag when group membership changed 2015-10-06 15:02:22 +02:00
Robin Appelman 41f9946272 clear hooks for tests 2015-10-06 11:38:41 +02:00
Robin Appelman 0817024e6f Mark shares as dirty when changing permissions 2015-10-06 11:38:41 +02:00
Morris Jobke b945d71384 update licence headers via script 2015-10-05 21:15:52 +02:00
Robin Appelman 52c8b488cb fix test 2015-10-05 16:43:10 +02:00
Robin Appelman 76a528e511 Make the external share manager a mount provider 2015-10-05 16:18:14 +02:00
Thomas Müller 710b7dd81c Merge pull request #19487 from owncloud/split_share_middleware
Split files_sharing middelware
2015-10-05 10:57:11 +02:00
Roeland Jago Douma 4adc78b78b Fix and extend unit tests 2015-10-02 12:45:52 +02:00
Roeland Jago Douma 3d2acb5003 sharingcheckmiddleware now handles externalshares as well
Added new annotations for the externalsharescontroller class
* @NoOutgoingFederatedSharingRequired
* @NoIncomingFederatedSharingRequired

By default both are required for all functions in the
externalSharesController.

A proper exception is thrown and then a 405 is returned instead of the
default error page. Since it is only an API endpoint this makes more
sense.

Unit tests added and updated
2015-10-02 12:03:53 +02:00
Roeland Jago Douma dc38e674a5 Split files_sharing middelware
Since for external shares there is no need for link shares to be enabled
we should check which controller is actually being called.

This makes sure that in all cases we verify that the files_sharing app
is enabled. But only for the share controller (public shares) we check
if the API is enabled and if links are enabled.

TODO: add checks for federated sharing as well
2015-10-02 11:56:11 +02:00
Joas Schilling 17ab8e6c39 Use shorter text on the sidebar for files_sharing activities 2015-10-02 10:01:33 +02:00
Lukas Reschke 22e724e829 Only intercept exceptions of type "NotFoundException" instead of any Exception
The sharing backend may throw another exception for example when the activity app encounters a problem. Previously this just triggered a 404 error page and the exception got not logged at all. With this change such exceptions get not intercepted and regularly handled as exceptions so that we have meaningful log data. Also the user will be shown a window informing him that an error happened.

Helps to debug cases such as https://github.com/owncloud/core/issues/19465
2015-09-30 13:32:20 +02:00
Vincent Petry d47d240a35 Still show share link when recipient but no share permission
This makes it possible for the recipient to still trigger the sidebar
and share tab to see information about the share.

In the case where the file is not shared and no permissions exists, no
action icon will be displayed.
2015-09-28 16:23:33 +02:00
Roeland Jago Douma db02173627 Reflect enabled shareAPI in capabilities
If the shareAPI is disabled we not return the other sharing
capabilities.

This allows clients to properly check if sharing is even available.
2015-09-25 20:12:41 +02:00
Joas Schilling 19e7a08cbf Do not allow user enumeration if the config is disabled 2015-09-23 15:11:02 +02:00
Roeland Jago Douma 4dba046712 Respect disabled sharing API settings
If the sharing API setting is disabled that sharing check middle ware
should block the request. Thus making link shares unavailable.
Fixes #18970

* Unit test added
* Unit tests updated
2015-09-22 15:12:16 +02:00
Lukas Reschke 36ce254ffd Move dummy backend to Tests namespace 2015-09-22 11:01:11 +02:00
Thomas Müller 93eb73b0bb Merge pull request #18986 from owncloud/federated_capabilities
Expose federated sharing capabilities to authenticated users
2015-09-18 11:58:54 +02:00
Thomas Müller 4cff2f1ab3 Merge pull request #19046 from owncloud/issue-18924-throw-error-on-invalid-page
Throw an error when the page count or perPage setting is invalid
2015-09-17 13:02:14 +02:00
Vincent Petry 886f1ed660 Update JS unit tests for share dialog (WIP) 2015-09-16 07:23:29 +02:00
Joas Schilling 754850f473 Fix status code 2015-09-15 15:51:54 +02:00
Roeland Jago Douma 91dfcab055 Expose federated sharing capabilities to authenticated users 2015-09-15 15:10:13 +02:00
Joas Schilling aa8b1b2894 Throw an error when the page count or perPage setting is invalid 2015-09-15 15:04:04 +02:00
Joas Schilling 665716095b Fix parameter name to match the specs 2015-09-15 12:14:14 +02:00
Joas Schilling 805f1d0096 Scrap the notifications when the share is accepted or declined 2015-09-08 09:01:01 +02:00
Björn Schießle 39bd4ea8f2 Merge pull request #18234 from owncloud/ocs_api_for_sharees_list
Add OCS API for sharees list
2015-09-01 17:09:57 +02:00
Roeland Jago Douma d54b497ade Return permissions and expiration on create share responses
Updated and added unit tests
2015-08-30 15:42:19 +02:00