Commit Graph

737 Commits

Author SHA1 Message Date
Piotr Filiciak 9999e05660
Http Range requests support in downloads
Http range requests support is required for video preview
2016-05-20 18:16:44 +02:00
Roeland Jago Douma 354329acf2
Cleanup Files_Sharing CLASSPATH
* OC\Files\Cache\SharedScanner
* OC\Files\Cache\Shared_Cache
* OC\Files\Cache\Shared_Permissions
* OC\Files\Cache\Shared_Updater
* OC\Files\Cache\Shared_Watcher
* OCA\Files\Share\Maintainer
* OCA\Files\Share\Proxy
2016-05-02 16:15:40 +02:00
Roeland Jago Douma 45d618a133
Remove dead code
Ancient files_sharing updater code I came across.
2016-05-02 08:20:42 +02:00
Roeland Jago Douma 420b5273b1
There is no need to do old etag propagation
Etags are calculated differently now and don't require manual updating.
2016-04-30 10:40:45 +02:00
Robin Appelman dbfdc6282a
do propagation in a single query 2016-04-25 16:18:59 +02:00
Björn Schießle e10105474f
move federated sharing settings to the federatedfilesharing app 2016-04-22 14:55:40 +02:00
Björn Schießle 606b756a94 Merge pull request #23918 from owncloud/cruds-for-federated-shares
bring back CRUDS permissions for federated shares
2016-04-22 14:50:42 +02:00
Björn Schießle e906796f99
ask for share-permissions on propfind 2016-04-20 17:47:32 +02:00
Roeland Jago Douma b53d6598f1
Move moveFromCache to CacheJail 2016-04-19 14:04:00 +02:00
Roeland Jago Douma f27d7cbf99
Move copy- and moveFromStorage to jail 2016-04-19 14:04:00 +02:00
Robin Appelman 2f1c62ce0b
Only construct the storage when we start using it 2016-04-19 14:04:00 +02:00
Roeland Jago Douma c98fef8a51
Fix resolve path 2016-04-19 14:04:00 +02:00
Roeland Jago Douma 6123badbfa
Move SharedStorage et al over to the shareManager and jail 2016-04-19 14:04:00 +02:00
Roeland Douma 411fac892a On mount make sure multiple shares with same target map to unique ones (#23937)
Scenario:
user0 shares a folder 'foo' with user2
user1 shares a folder 'foo' with user2
user2 logs in

Before: show only the 'foo' from user1

After: show both.

* Added intergration tests
2016-04-14 11:50:27 +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 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
Thomas Müller d4a8d5d2ea Merge pull request #22998 from owncloud/delay-loading-the-scanner
Delay check till scanner is used
2016-03-15 12:16:02 +01:00
Robin Appelman a8db587b1f move failedstorage to core 2016-03-11 13:15:45 +01:00
Robin Appelman 3bd6fc797d dont break when there is an invalid share 2016-03-11 13:15:45 +01:00
Lukas Reschke 80b91264e1 Delay check till scanner is used
Fixes https://github.com/owncloud/core/issues/22973 and https://github.com/owncloud/core/issues/22987
2016-03-09 16:01:53 +01:00
Thomas Müller 30cec687ae Merge pull request #22972 from owncloud/use-httpclient-instead-of-file-get-contents
Use HTTPClient instead of file_get_contents
2016-03-09 12:20:06 +01:00
Lukas Reschke c0200bc5c3 Use "hasKey" instead of checking the value
If the check is negative it would depending on the used cache store the value as an empty string. When reading the value this check would thus return "false" even if a value exists.
2016-03-08 23:24:44 +01:00
Lukas Reschke 8214fae9ae Use HTTPClient instead of file_get_contents
Allows us to catch exceptions like 404's and thus prevents stuff like:

```
{"reqId":"fnmS0hc+fL4+WXKAruo5","remoteAddr":"192.168.39.100","app":"PHP","message":"file_get_contents(http:\/\/ckamm.blaucloud.de\/\/status.php): failed to open stream: HTTP request failed! HTTP\/1.1 404 Not Found\r\n at \/var\/www\/owncloud\/apps\/files_sharing\/lib\/external\/storage.php#260","level":3,"time":"2016-03-08T21:00:33+00:00","method":"PROPFIND","url":"\/remote.php\/webdav\/"}
```
2016-03-08 22:13:00 +01:00
Vincent Petry e5a107cc45 Fix share mounting recursion 2016-03-08 14:46:42 +01:00
Vincent Petry d8e592d670 Fix archive file name when downloading public share
When download a public link share folder using the button on the top
right, it doesn't provide a list of files.

This fix makes sure to trigger the correct logic when no file list was
given.
2016-03-07 11:37:49 +01:00
Lukas Reschke 63bd6b25db Cache results of testRemoteUrl
Otherwise setting up the storage will result in a HTTP request and thus slowing down ownCloud.

Replaces https://github.com/owncloud/core/pull/22855
2016-03-04 15:13:56 +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 9ca1e9c7e9 Only use scanner if remote is an ownCloud 2016-03-01 07:01:52 +01:00
Lukas Reschke e965dcaebf /shareinfo is not required 2016-03-01 07:01:52 +01:00
Lukas Reschke 74e47da883 Add missing trailing slash 2016-03-01 07:01:51 +01:00
Robin Appelman 080a62231e use ocs discover endpoint to test remote 2016-03-01 07:01:51 +01:00
Vincent Petry 11215f4e27 Return -3 for unlimited quota
Returns -3 for unlimited quota in Webdav response.
Also adjusted personal page to show unlimited quota when set.
2016-02-29 14:36:20 +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
Robin Appelman f338329ddf inject the correct external share manager into the storage 2016-02-25 14:49:25 +01:00
Thomas Müller d1ef43481d Merge pull request #22444 from owncloud/fix-federated-share-delete
get the actual user instead of a federated cloud id
2016-02-18 16:44:57 +01:00
Vincent Petry e1dbae1467 Properly trigger testRemote after getting a 404 from remote fed share
Whenever a remote fed share's shareinfo call returns a 404, don't
directly assume the storage is not available by throwing
StorageNotAvailableException. We need to properly throw
NotFoundException to trigger the later logic that calls testRemote()
that verifies that the 404 is not from a broken server but really from
an obsolete share.
2016-02-18 11:57:03 +01:00
Bjoern Schiessle 8985181305 get the actual user instead of a federated cloud id
$view->getUidAndFilename($filename); returns the federated cloud id in case of
a federated share. But in this case we need the local user who "owns" the file
which is the current logged in user in case of a federated share
2016-02-18 10:17:00 +01:00
Thomas Müller e99c4d83dc Merge pull request #22317 from owncloud/fix_invisible_linkshares
Do not allow invisible link shares
2016-02-12 11:10:58 +01:00
Thomas Müller 4d24929e05 Merge pull request #22307 from owncloud/remove-notification-on-unshare-and-on-errors
Remove notification on unshare and on errors
2016-02-11 14:02:44 +01:00
Roeland Jago Douma 745bfda41f Fix migration step to avoind invisible shares 2016-02-11 13:29:23 +01:00
Joas Schilling 2263b8b693 Remove the notification if accepting/declining failed because of 404 2016-02-11 10:41:55 +01:00
Joas Schilling 5dc63e34b4 Add translations of unshare activities 2016-02-10 15:42:48 +01:00
Joas Schilling 65e1e4a202 Mark the accept button as primary 2016-02-10 08:40:45 +01:00
Joas Schilling c769f5775d Create the actions with the correct ID 2016-02-10 08:40:45 +01:00
Joas Schilling 49dd693d8f Bring the messages inline 2016-02-10 08:40:45 +01:00
Joas Schilling 3ff88c8c84 Revert "Disable the remote sharing notifications until they work properly"
This reverts commit 6bc93c7401.

Conflicts:
	apps/files_sharing/lib/external/manager.php
2016-02-10 08:40:44 +01:00
Robin Appelman f9f2800016 check share permissions in share controller 2016-02-09 15:03:00 +01:00
Roeland Jago Douma 623a0e4637 Example hook check 2016-02-09 10:36:44 +01:00
Arthur Schiwon cd68500731 throw hooks when accessing a link share 2016-02-09 00:34:10 +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 f4edfb6dfb Gracefull handle link shares rename hook
Fixes #21678

The hook is called on all renames. However when we use a link share
the getUserFolder fails. We now just opt out.
2016-02-05 13:57:57 +01:00
Roeland Jago Douma 453ea6698d [Share 2.0] Fix public link sharing 2016-02-03 19:25:29 +01:00
Roeland Jago Douma 4d7130ad31 [Share 2.0] Add exceptions to OCP 2016-02-02 14:07:11 +01:00
Thomas Müller e60b217156 Merge pull request #22015 from owncloud/share-no-permissions
Block shares that dont have the correct source permissions
2016-02-02 10:26:06 +01:00
Robin Appelman e3b5639fc1 Block shares that dont have the correct source permissions 2016-01-29 13:05:53 +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
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
Joas Schilling ee02165005 Move the notification API to public namespace 2016-01-22 10:32:42 +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 67f5216160 Do not use deprected activities API 2016-01-20 21:12:26 +01:00
Roeland Jago Douma 9467859e42 Get correct path for activity downloads 2016-01-20 21:12:26 +01:00
Roeland Jago Douma 894a88ca51 [Share 2.0] Make public link work without view 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 0ebc92c44a [Share 2.0] Move showing link share to sharing 2.0 2016-01-20 21:12:26 +01:00
Robin Appelman 30d6222e64 handle noopscanner in shared scanner 2016-01-15 15:37:31 +01:00
Robin Appelman ddbbe1742f propagate folder size in the same query for write updates 2016-01-15 15:36:52 +01:00
Thomas Müller 6824704699 Merge pull request #21117 from owncloud/owner-file-exists
Only return an owner if the file exists + improved getUidAndFilename
2016-01-15 13:31:56 +01:00
Robin Appelman a3d50ef49a add watcher interface 2016-01-14 12:54:42 +01:00
Robin Appelman 5fae07f422 add scanner interface 2016-01-14 12:54:42 +01:00
Robin Appelman 6d321f5f6b Return a class from cache operations instead of an array 2016-01-14 12:54:42 +01:00
Thomas Müller a5e46226ef Merge pull request #21615 from owncloud/shared-islocal
implement isLocal for shared storage
2016-01-13 10:34:23 +01:00
Thomas Müller 682821c71e Happy new year! 2016-01-12 15:02:18 +01:00
Robin Appelman af1e810607 implement isLocal for shared storage 2016-01-11 13:58:22 +01:00
Robin Appelman 300eb54c87 de-deplicate getUidAndFilename 2016-01-11 11:40:58 +01:00
Björn Schießle c4b65170f2 show display name but internally use the user name 2015-12-14 17:25:10 +01:00
Thomas Müller 54dbe5b8d5 Merge pull request #20989 from owncloud/fix_20769
Update parent when moving share into recieved share
2015-12-09 13:07:57 +01:00
Thomas Müller bc744ff6de Merge pull request #21038 from owncloud/share-computesharepermissions-notstore
Fix (re)share permission checks in a few code paths
2015-12-09 10:04:56 +01:00
Vincent Petry 6e4006d139 Add reshare permission checks
Added in isSharable() in incoming remote share.
Added in isSharable() in regular incoming share.
Added in FileInfo to make sure the proper attributes are returned to the
clients.
2015-12-08 13:13:26 +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
Roeland Jago Douma d38949f423 Update parent when moving share into recieved share
Fixes #20769

When I receive a share and move a share of myself into that share (which
is allowed currently) I effectively hand over ownership of the files I
move. So we need to update the share I move to have as a parent the
share I move it into. Else our mounting system gets confused.
2015-12-07 16:28:33 +01:00
Scrutinizer Auto-Fixer 97f9213da9 Scrutinizer Auto-Fixes
This commit consists of patches automatically generated for this project on https://scrutinizer-ci.com
2015-12-07 12:05:27 +00:00
Thomas Müller df6fc6cc70 Add the user's cloud id to the vCard 2015-12-02 09:14:41 +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
Björn Schießle 964fa1fce3 use hooks to auto add server to the list of trusted servers once a federated share was created 2015-11-24 11:34:38 +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
Robin Appelman 1d82d93baa Implement getOwner for external share storage 2015-11-18 17:08:02 +01:00
Robin Appelman 0397871f7e Split checkUpdate 2015-11-03 18:23:22 +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
Morris Jobke db25f41da8 handle NoUserException in sharing code
* setup LDAP users
* share from an LDAP user
* delete that LDAP user
* log in as share recipient
* before: unhandled NoUserException
* after: NoUserEception is logged and share is not shown anymore
2015-10-22 17:04:36 +02: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