Commit Graph

50 Commits

Author SHA1 Message Date
Lukas Reschke 4ea205e262 Block old legacy clients
This Pull Request introduces a SabreDAV plugin that will block all older clients than 1.6.1 to connect and sync with the ownCloud instance.

This has multiple reasons:

1. Old ownCloud client versions before 1.6.0 are not properly working with sticky cookies for load balancers and thus generating sessions en masse
2. Old ownCloud client versions tend to be horrible buggy

In some cases we had in 80minutes about 10'000 sessions created by a single user. While this change set does not really "fix" the problem as 3rdparty legacy clients are affected as well, it is a good work-around and hopefully should force users to update their client
2015-04-20 11:12:17 +02:00
Vincent Petry 7ad4dfa201 Merge pull request #15227 from owncloud/ocetag-header
Copy Etag header to OC-Etag for sabre calls
2015-03-27 13:10:27 +01:00
Morris Jobke d3ed020d34 Merge pull request #15214 from owncloud/no-php-timeouts-on-webdav-master
no php execution timeout for webdav
2015-03-26 20:18:01 +01:00
Vincent Petry 70acd58336 Copy Etag header to OC-Etag for sabre calls 2015-03-26 16:06:43 +01:00
Thomas Müller f9525b153e no php execution timeout for webdav 2015-03-26 11:55:26 +01:00
Jenkins for ownCloud b585d87d9d Update license headers 2015-03-26 11:44:36 +01:00
Thomas Müller 0f3e36fdfd Adding a more meaningful message for sabre dav exception - fixes #14516 2015-03-11 11:53:31 +01:00
Morris Jobke 06aef4e8b1 Revert "Updating license headers"
This reverts commit 6a1a4880f0.
2015-02-26 11:37:37 +01:00
Thomas Müller b3de86d851 Remove locks plugin.
Reasoning:
- a WebDAV server is not required to implement locking support
- WebDAV Locking is know to break the sync algorithm
- the current lock implementation is known to be broken (locks are not moved if a file is moved, locks on shared files don't work)
2015-02-25 10:30:47 +01:00
Lukas Reschke 432d7be8cc Show a empty response for GET on non-files instead of the Browser Plugin 2015-02-23 22:27:23 +01:00
Vincent Petry 9f6dcb9d3e Sabre Update to 2.1
- VObject fixes for Sabre\VObject 3.3
- Remove VObject property workarounds
- Added prefetching for tags in sabre tags plugin
- Moved oc_properties logic to separate PropertyStorage backend (WIP)
- Fixed Sabre connector namespaces
- Improved files plugin to handle props on-demand
- Moved allowed props from server class to files plugin
- Fixed tags caching for files that are known to have no tags
  (less queries)
- Added/fixed unit tests for Sabre FilesPlugin, TagsPlugin
- Replace OC\Connector\Sabre\Request with direct call to
  httpRequest->setUrl()
- Fix exception detection in DAV client when using Sabre\DAV\Client
- Added setETag() on Node instead of using the static FileSystem
- Also preload tags/props when depth is infinity
2015-02-23 22:27:23 +01:00
Jenkins for ownCloud 6a1a4880f0 Updating license headers 2015-02-23 12:13:59 +01:00
Vincent Petry 0b3f0716fc Returns and update tags through WebDAV PROPFIND and PROPPATCH
Added oc:tags and oc:favorites in PROPFIND response.
It is possible to update them with PROPPATCH.
These properties are optional which means they need to be requested
explicitly
2014-12-17 16:50:35 +01:00
Lukas Reschke 8af346a84d Don't show favicon to prevent iteration through subfolders
The codepath for generating the favicons iterates through subnodes and if one of those nodes is unavailable is throwing a 503 exception. Since these favicons don't have any use except of "making a tool for developers looking nicer" I consider it feasible to remove them.
2014-11-26 12:38:26 +01:00
Thomas Müller ea269f0067 Upload abortion is now detected within the OC_Connector_Sabre_File::put()
OC_Connector_Sabre_AbortedUploadDetectionPlugin is pointless

Adding unit test testUploadAbort()
2014-07-08 11:09:59 +02:00
Robin Appelman 07fdeba50b Fix moving movablemount over webdav 2014-06-17 14:10:11 +02:00
Thomas Müller 76e04027bc Upgrade SabreDAV to 1.8.10
Updating SabreDAV namespaces
2014-06-04 12:22:23 +02:00
Robin Appelman c82adb8c5d merge master into webdav-injection 2014-04-15 20:03:00 +02:00
Robin Appelman 593977f016 Re-enable the sabredav browser plugin 2014-04-06 14:49:39 +02:00
Robin Appelman 371a924c92 merge master into webdav-injection 2014-03-26 14:26:07 +01:00
Thomas Müller 6ff96b34ad Merge branch 'master' into load-apps-proper-master
Conflicts:
	apps/files/ajax/rawlist.php
	cron.php
	ocs/v1.php
2014-03-21 14:05:08 +01:00
Thomas Müller ae13ff112f remove Sabre_DAV_Browser_Plugin 2014-03-12 00:10:16 +01:00
Robin Appelman 5ef37c28d1 Remove the need for a custom SabreDav server constructor 2014-03-04 13:28:48 +01:00
Robin Appelman 3a21755963 Pass the filesystem view as argument in the sabredav connectors and use the fileinfo object 2014-02-25 16:23:09 +01:00
Thomas Müller 79fc4f3126 Within OC:init() the minimum set of apps is loaded - which is filesystem, authentication and logging 2014-02-06 11:34:27 +01:00
Vincent Petry 11ef12a106 Added exception logger plugin for sabre connector
Whenever an exception occurs in the sabre connector code or code called
by it, it will be logged.

This plugin approach is needed because Sabre already catches exceptions
to return them to the client in the XML response, so they don't appear
logged in the web server log.

This will make it much easier to debug syncing issues.
2014-01-27 11:40:17 +01:00
Thomas Müller b60ae11db8 introducing new dav property {xmlns:oc="http://owncloud.org/ns}id 2013-10-23 16:03:57 +02:00
Thomas Müller ecfde5faa1 Contains ownCloud's own implementation of the Sabre_DAV_Server regarding the handling of depth infinity
The clean way would have been to submit proper patches to the upstream project and reincorporate the code once released.

This will and has to follow!
2013-09-30 13:12:51 +02:00
Thomas Müller 09b64535a9 fixing copyright and add class documentation 2013-09-25 17:05:14 +02:00
Robin Appelman ad266a4253 Merge branch 'master' into sabre-objecttree 2013-07-24 15:53:48 +02:00
Jörn Friedrich Dreyer 7242480049 use $defaults->getName() as webdav REALM 2013-07-23 18:14:05 +02:00
Robin Appelman 1e0810e807 use new ObjectTree in sabredav 2013-06-30 18:37:47 +02:00
Stefan Herbrechtsmeier ab2b79cda6 add multiple domains reverse proxy support
Add support for a reverse proxy that handles multiple domains via different
web roots (http[s]://proxy.tld/domain.tld/owncloud).

As the reverse proxy web root is transparent for the web server the
REQUEST_URI and SCRIPT_NAME need manual adjustments. This patch replace
the direct use of this _SERVER variables with function calls and extend
this functions to overwrite the web root. Additionally it adds a Sabre
request backend that extends the Sabre_HTTP_Request to use the same
functions.
2013-01-31 18:42:31 +01:00
Thomas Mueller ccdaec6296 webdav returns "503 Service Unavailable" in case the ownCloud server is currently in maintenance mode. 2013-01-09 00:37:50 +01:00
Robin Appelman bcb27c81d4 use new obEnd function instead of ob_end_clean 2012-11-29 18:01:21 +01:00
Robin Appelman eaf8399aaf make sure the output buffer is closed when handeling webdav 2012-11-25 14:45:13 +01:00
Felix Moeller 30d7993e01 Checkstyle fixes: NoSpaceAfterComma 2012-11-04 11:10:46 +01:00
Björn Schießle a9ce43de41 adapted comments to the code changes 2012-11-01 00:20:50 +01:00
Björn Schießle 3878950af4 load logging apps for webdav connections
Backport of de1b95c
2012-11-01 00:20:43 +01:00
scambra d9c14292a4 fix checking quota in webdav, adding a sabredav plugin 2012-10-30 10:32:30 +01:00
Bart Visscher ccbf4e993c Use files remote webdav in compatibility files/webdav.php 2012-10-29 15:04:56 +01:00
Frank Karlitschek a945fa10a6 update copyright 2012-05-26 19:14:24 +02:00
Robin Appelman e7c106d91e selective app loading for remote/public 2012-05-14 00:28:28 +02:00
Georg Ehrke 1138df0f4b fix webdav, bloody merge conflicts 2012-05-07 12:47:34 +02:00
Georg Ehrke 46fe2e3e2a fix merge conflicts 2012-05-07 11:47:14 +02:00
Bart Visscher f69f764e8b Working remote.php with webdav and caldav 2012-05-06 00:12:51 +02:00
Georg Ehrke c996600786 push changes 2012-05-05 22:54:14 +02:00
Georg Ehrke 33c343ed11 add require_once('../lib/base.php'); to webdav.php 2012-05-02 16:47:25 +02:00
Georg Ehrke da03d05700 create folder 'remote' for the remote services like caldav, carddav and webdav 2012-05-02 16:41:23 +02:00
Bart Visscher f991948a71 Fix loading by apptype in webdav 2012-05-05 21:58:10 +02:00