Commit Graph

50 Commits

Author SHA1 Message Date
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
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
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
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
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
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
Thomas Müller 682821c71e Happy new year! 2016-01-12 15:02:18 +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
Robin Appelman 1d82d93baa Implement getOwner for external share storage 2015-11-18 17:08:02 +01:00
Vincent Petry d658d8dd4e Always detect remote changes for fed sharing
This is even more important now that filesystem_check_changes is 0 by
default.
2015-08-21 15:32:53 +02:00
Vincent Petry 3d6be69f25 Throw storage not available on guzzle error
If the remote server is in maintenance mode, we must throw storage not
available exception instead of not found which might auto-remove the
share.
2015-07-13 18:51:25 +02:00
Vincent Petry 5d3aa36355 Catch more error codes thrown by federated shares
Most of the time it doesn't make sense to forward Guzzle's
RequestException, so we convert it to StorageNotAvailable instead.

This prevents unpredictable error codes to block access to unrelated
folders needlessly.
2015-07-01 11:14:03 +02:00
Scrutinizer Auto-Fixer fdbc21fc6c Scrutinizer Auto-Fixes
This commit consists of patches automatically generated for this project on https://scrutinizer-ci.com
2015-05-19 11:23:06 +00:00
Vincent Petry b51b5b64e6 Fix converting Guzzle error codes in s2s storage 2015-04-10 12:12:05 +02:00
Vincent Petry 73afca6207 Catch more exceptions when connecting to remote DAV server
Added InvalidArgumentException to catch HTML parsing errors when XML was
expected.
Made convertSabreException more generic to be able to handle more
exception cases.
2015-04-10 12:02:06 +02:00
Vincent Petry 4feb97d8e4 Properly catch guzzle 503 when querying share info 2015-04-09 18:55:28 +02:00
Jenkins for ownCloud b585d87d9d Update license headers 2015-03-26 11:44:36 +01:00
Lukas Reschke 5f044ebf1b Add wrapper for Guzzle 2015-03-25 16:04:41 +01:00
Robin Appelman c65c717379 Fix external shares without password on oracle 2015-02-27 13:22:57 +01:00
Morris Jobke 06aef4e8b1 Revert "Updating license headers"
This reverts commit 6a1a4880f0.
2015-02-26 11:37:37 +01:00
Jenkins for ownCloud 6a1a4880f0 Updating license headers 2015-02-23 12:13:59 +01:00
Morris Jobke 87b39e8f03 Merge pull request #13525 from owncloud/s2s-fixscanfileforbrokenstorage
Catch storage exception in scanner for remote shares
2015-01-28 00:31:37 +01:00
Vincent Petry d5b61f9afe Prevent double slash in shareinfo request URL 2015-01-26 16:19:38 +01:00
Vincent Petry f6e644b43f Catch storage exception in scanner for remote shares
Whenever an exception occurs during scan of a remote share, the share is
checked for availability. If the storage is gone, it will be removed
automatically.

Also, getDirectoryContent() will now skip unavailable storages.
2015-01-26 13:59:49 +01:00
Thomas Müller 87a754c72e avoid $this->cache being null - fixes #13491 2015-01-20 12:38:54 +01:00
Robin Appelman e656af4c83 Root always exists 2014-12-17 16:09:41 +01:00
Vincent Petry ee6d8c9d58 Store curl error message directly 2014-11-04 17:37:15 +01:00
Vincent Petry 768f3979e0 Check for cert bundle existence before using it 2014-11-04 16:44:42 +01:00
Robin Appelman 298011bf29 fix indention 2014-08-31 10:45:11 +02:00
Robin Appelman c2ebc192a6 Make external shares work with imported self-signed certificates 2014-08-31 10:45:11 +02:00
Robin Appelman 97de7bb23e Fix remote share when remote server is installed at the root 2014-07-23 13:45:56 +02:00
Robin Appelman edb67f9f4d Remove invalid mounts from the active fs 2014-07-02 15:00:12 +02:00
Robin Appelman 8061a4ccc0 Remove external shares if the share is invalid 2014-07-01 14:58:07 +02:00
Robin Appelman 1c43081d38 Detect removed public shares 2014-07-01 14:36:06 +02:00
Robin Appelman 1bb1504d24 Improve comment 2014-06-27 17:31:51 +02:00
Robin Appelman 6f5d5b9a30 Also check for updated permissions for webdav storages 2014-06-27 17:27:47 +02:00
Vincent Petry d22559200c Fix parsing of remote URL when mounting remote shares
This fix allows for having the remote ownCloud instance live in a
subpath like "http://example.com/basedir/subdir/owncloud".
Such URLs are now parsed correctly.

Added unit test for URL parsing.
2014-06-25 15:11:43 +02:00
Robin Appelman 455fbafb48 Fix undefined index error 2014-06-14 10:22:38 +02:00
Robin Appelman 87e311b996 Fix storage being passed to cache/watcher and scanner when using storage wrappers 2014-06-14 10:14:08 +02:00
Robin Appelman c8c8106168 generate better storage ids 2014-06-14 10:14:08 +02:00
Robin Appelman ce0aa7d4a8 Use the movable mount system for external shares 2014-06-14 10:14:08 +02:00
Robin Appelman 87b0021e56 Scan the entire remote share at once by requesting the full file tree from the remote server 2014-06-14 10:14:07 +02:00
Robin Appelman a900c7aa94 Fix removing remote shares 2014-06-14 10:13:24 +02:00
Robin Appelman 65f3b2fad2 Add server<->server sharing backend 2014-06-14 10:10:37 +02:00