Commit Graph

670 Commits

Author SHA1 Message Date
Vincent Petry 6a4ea2c15a
Upload autorename on client side
Removes the need for POST to collection which would hit against upload
limits.

The client tries to auto rename the file by adding a suffix "(2)".
It tries to use the file list on the client side to guess a
suitable name. In case a file still cannot be uploaded and creates a
conflict, which can happen when the file was concurrently uploaded, the
logic will continue increasing the suffix.
2016-11-02 22:15:03 +01:00
Robin Appelman 3692769b0a
Add getShareTypesInFolder to optimize folder listening
Signed-off-by: Robin Appelman <icewind@owncloud.com>
2016-10-31 15:55:40 +01:00
Morris Jobke cde7f535bd Merge pull request #1738 from nextcloud/comments-provide-displaynames-with-mentions
comment mentions: show displayname not uid
2016-10-26 14:02:49 +02:00
Thomas Müller 9df3869bfc
Fix unit tests for BlockLegacyClientPlugin 2016-10-25 18:03:10 +02:00
Vincent Petry c68e273664
Goodbye Iframe transport !
Not needed any more in IE >= 11

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-10-24 21:45:00 +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
Lukas Reschke 169e889890
Add unit test
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-10-22 14:05:53 +02:00
Morris Jobke 2b76d14330 Merge pull request #1834 from nextcloud/downstream-26186
Add more files plugins to new DAV endpoint
2016-10-21 09:44:15 +02:00
Vincent Petry 73e216e0a7
Add more files plugins to new DAV endpoint (#26186)
* Add more files plugins to new DAV endpoint

Also fix report plugin to properly retrieve the path from the
prolongated URL

* In case the report is not for this plugin -> simply return to allow other plugins to get executed

* Adjust onReport tests to match new behavior
2016-10-20 21:36:15 +02:00
Joas Schilling 246bb9f33d
Move OC\Files\Storage\Shared to the right namespace 2016-10-20 20:27:44 +02:00
Morris Jobke 98c8464564 Merge pull request #1821 from nextcloud/downstream-26366
Code style changes from downstream
2016-10-20 20:18:47 +02:00
Lukas Reschke 0864f53675 Merge pull request #1796 from nextcloud/oc_fav-report
Make it possible to filter by tags with REPORT method
2016-10-20 18:32:51 +02:00
Thomas Müller 08d6884107
Sanitize length headers when validating quota 2016-10-20 15:15:48 +02:00
Vincent Petry 361f008c70
Make it possible to filter by tags with REPORT method
Enhanced the REPORT method on the Webdav endpoint and added a
"oc:favorite" filter rule. When set, it will return a flat list of
results filtered with only favorite files.

The web UI was also adjusted to use this REPORT method instead of the
private API endpoint.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-10-19 11:06:29 +02:00
Joas Schilling 05223a39f9
Make sure we only use numbers as length
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-10-19 09:28:54 +02:00
Arthur Schiwon 5d98ab83e9
resolve displayname via manager and registerable resolvers
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2016-10-19 00:34:00 +02:00
Arthur Schiwon fea3e20a80
move mention extraction to (I)Comment and report mentions via DAV
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2016-10-19 00:33:55 +02:00
Thomas Müller 5cd90d4116
[9.2] Sync deathdate and anniversary to birthday calendar (#25655)
* Sync deathdate and anniversary to birthday calendar (which should be renamed maybe)

* Sync deathdate and anniversary to birthday calendar (which should be renamed maybe)

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-10-14 10:12:43 +02:00
Joas Schilling 7dd952d5a2
Fix unit tests
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-10-06 14:20:02 +02:00
Morris Jobke ff3e8c2139 Merge pull request #1518 from nextcloud/dav-fileshome-directory-properties
FilesHome now also returns DAV properties
2016-10-06 00:21:44 +02:00
Morris Jobke 85301df817 Merge pull request #1513 from nextcloud/fix-etag-on-move
Return ETag and OC-ETag in case of a move (#25683)
2016-09-28 21:46:51 +02:00
Morris Jobke ef0760f84f Merge pull request #1545 from nextcloud/delete-calendars-with-their-users
Delete calendars with their users
2016-09-28 21:42:55 +02:00
Thomas Müller bd96c6aa38
Return ETag and OC-ETag in case of a move (#25683)
Downstreaming of https://github.com/owncloud/core/pull/25683

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-09-28 21:12:50 +02:00
Thomas Citharel 6c8bcb38f1
Rename deleteAllSharesForUser() to deleteAllSharesByUser()
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2016-09-28 15:32:03 +02:00
Lukas Reschke 479c427f2a
Add IL10N to unit test
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-09-27 21:12:37 +02:00
Lukas Reschke 06e969cb74 Merge pull request #1197 from nextcloud/oc-public-sharing
CalDAV calendar public sharing
2016-09-27 18:51:40 +02:00
Thomas Citharel da1543eef7
fix deletion of calendars
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-09-27 18:33:56 +02:00
Thomas Citharel 5215833fe4
delete shares to an user
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-09-27 18:30:19 +02:00
Thomas Müller 97a47f49a1
Adjust delete logic and ann unit tests
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-09-27 18:30:10 +02:00
Lukas Reschke 4f4286932f Merge pull request #1457 from nextcloud/upstream-fix-birthday-calendar-component
[Upstream] fix birthday calendar component
2016-09-26 13:21:08 +02:00
Thomas Citharel 9c75b00850
fix tests 2016-09-26 11:55:43 +02:00
Thomas Müller d884370844
Use true random string as uri for public calendars - as a result we can no longer return the pre-publish-url 2016-09-26 11:55:42 +02:00
Lukas Reschke 4659e3ab59
Add new constructor args 2016-09-26 11:55:42 +02:00
Lukas Reschke 2fff203c59
Add missing constructor argument 2016-09-26 11:55:42 +02:00
Thomas Citharel ff67cbc6af
Add test for PublicCalendarRoot 2016-09-26 11:55:42 +02:00
Thomas Citharel f0421e1f75
add missing tests 2016-09-26 11:55:41 +02:00
Thomas Citharel 9af2a9ff4d
test serializer 2016-09-26 11:55:40 +02:00
Thomas Citharel 3921385ed3
fix things (indentation, tests, comments, backend custom implementation 2016-09-26 11:55:39 +02:00
Thomas Citharel ebf23778f5
fix unpublishing test 2016-09-26 11:55:38 +02:00
Thomas Citharel de5e212694
fix plugin test 2016-09-26 11:55:38 +02:00
Thomas Citharel 77216e7ca9
a few tests 2016-09-26 11:55:38 +02:00
Thomas Citharel f09c46d166
Fix some tests 2016-09-26 11:55:37 +02:00
Vincent Petry b17e836e45
FilesHome now also returns DAV properties
The files home node must also return DAV properties like etag,
permissions, etc for the clients to work like they did with the old
endpoint.

This fix makes FilesHome extend the Sabre Directory class, this makes
the FilesPlugin and other plugins recognize it as a directory and will
retrieve the matching properties when applicable.

Downstream of https://github.com/owncloud/core/pull/26066

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-09-26 11:24:23 +02:00
Joas Schilling 94b0315d7a
Fix more tests 2016-09-20 14:28:17 +02:00
Thomas Müller 6eb1bc55ab
The birthday calendar can only hold VEVENT - refs https://github.com/owncloud/tasks/issues/338 2016-09-20 11:26:09 +02:00
Joas Schilling 1944d9b3ab
Use magic DI 2016-09-20 01:15:24 +02:00
Lukas Reschke c0656fb4ef
Move Travis tests to DroneCI
Should give us some quicker test execution speed as we're not limited by Travis

Explicitly invoke with "bash"

Install instance already

Use newest litmus container
2016-09-13 18:17:15 +02:00
Vincent Petry 1ab472b9ad
Improve chunk upload AssemblyStream performance 2016-09-13 09:29:02 +02:00
Lukas Reschke 67439951e6
Filter more mimetypes
There's no need to allow more than those defined mimetypes for images.
2016-09-09 12:33:10 +02:00
Joas Schilling b94a4df592
Fix tests 2016-09-07 18:39:48 +02:00
Robin Appelman 344945bfe9 more efficient check if addressbook and calendar exists for user 2016-08-31 15:08:29 +02:00
Joas Schilling a123fe6f18
Add a unit test for all the magic 2016-08-30 12:24:20 +02:00
Markus Goetz 0cb34c2fa5
[master] DAV: Return data-fingerprint always when asked (#25482)
For owncloud/client#5056
Users can configure arbitrary subfolders for syncing, therefore we should
always return it when asked for.
The sync client makes sure to not always ask for it to save bandwidth.
2016-08-29 14:37:14 +02:00
Joas Schilling 89c78bbce4 Merge pull request #1031 from nextcloud/2fa-infinite-redirect-loop
prevent infinite redirect loops if the there is no 2fa provider to pass
2016-08-26 16:03:05 +02:00
Christoph Wurst 6af2efb679
prevent infinite redirect loops if the there is no 2fa provider to pass
This fixes infinite loops that are caused whenever a user is about to solve a 2FA
challenge, but the provider app is disabled at the same time. Since the session
value usually indicates that the challenge needs to be solved before we grant access
we have to remove that value instead in this special case.
2016-08-24 10:49:23 +02:00
Joas Schilling 3fbb5de74f
Better displaynames for shared address books 2016-08-24 08:50:25 +02:00
Joas Schilling 53182fb780
Better displaynames for shared calendars 2016-08-24 08:50:25 +02:00
Thomas Müller f960aec5bb
Move over to new CalDAVTester repo (#25859)
* Move over to new caldac tester repo

* no run.py anymore
2016-08-19 10:18:59 +02:00
Robin Appelman 1fef5d3d06 add dav property to check if a file has a preview available 2016-07-27 12:59:39 +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
Lukas Reschke ba4f12baa0
Implement brute force protection
Class Throttler implements the bruteforce protection for security actions in
Nextcloud.

It is working by logging invalid login attempts to the database and slowing
down all login attempts from the same subnet. The max delay is 30 seconds and
the starting delay are 200 milliseconds. (after the first failed login)
2016-07-20 22:08:56 +02:00
Joas Schilling 54708f97a1
Fix non-existing exception class 2016-07-18 10:26:42 +02:00
Joas Schilling 8e13ff2c86
Fix TODO and bring in abstraction (similar to comments) 2016-07-18 10:26:36 +02:00
Roeland Jago Douma 2fcb24166f
Fix PHPUnit 5.4 warnings in DAV app
* getMock is deprecated
2016-07-15 09:52:46 +02:00
Robin Appelman 6da066e7be
Fix test using private propertries 2016-07-08 12:36:25 +02:00
Morris Jobke ba16fd0d33 Merge branch 'master' into sync-master 2016-07-07 11:29:46 +02:00
Thomas Pulzer 90b7f74da7 Changed name of default logfile from owncloud.log to nextcloud.log. 2016-07-04 11:50:32 +02:00
Thomas Citharel 7d95cde37d Add all properties while creating a subscription (#25318)
Fixes #24469
2016-07-01 13:42:35 +02:00
Lukas Reschke 179a355b2c Merge remote-tracking branch 'upstream/master' into master-sync-upstream 2016-07-01 11:36:35 +02:00
Lukas Reschke 149218ead9 Fix tests 2016-06-30 13:46:08 +02:00
Björn Schießle 5ace6b53f3 get only vcards which match both the address book id and the vcard uri (#25294) 2016-06-29 12:13:59 +02:00
Bjoern Schiessle 5f6944954b get only vcard which match both the address book id and the vcard uri 2016-06-28 16:11:06 +02:00
Georg Ehrke 3c399be6ec fix a ImageExportPlugin Test (#25215) 2016-06-27 21:26:56 +02:00
Vincent Petry 56ad4cdfec
Show error message when posting an invalid comment
When an internal server error occurs while creating or updating a
comment, display a proper error notification in the UI.
2016-06-24 10:17:12 +02:00
Georg Ehrke 1452b74de7 Contacts API: replace raw image data with url (#25081)
* add uri to AddressBookImpl array

* Introduce ImageExportPlugin for CardDav

* add plugin to v1 routes

* replace binary contact photo with link

* update tests

* Adding unit tests
2016-06-21 15:25:44 +02:00
Christoph Wurst 5a8cfab68f
throw PasswordLoginForbidden on DAV 2016-06-17 11:30:24 +02:00
Christoph Wurst 82b50d126c
add PasswordLoginForbiddenException 2016-06-17 11:02:07 +02:00
Christoph Wurst 465807490d
create session token only for clients that support cookies 2016-06-13 19:44:05 +02:00
Vincent Petry 68c3b23e04 Merge pull request #24080 from owncloud/support-calendar-class-property
Extract CLASS property from calendar object and store it in the database
2016-06-10 11:22:11 +02:00
Vincent Petry 1399e87d57
DAV now returns file name with Content-Disposition header
Fixes issue where Chrome would append ".txt" to XML files when
downloaded in the web UI
2016-06-09 15:51:41 +02:00
Thomas Müller bfcd1dc49c
Filter confidential calendar objects in shared calendars
Filter private calendar objects in shared calendars
2016-06-09 11:09:14 +02:00
Thomas Müller 082f456b8b
Added unit testing for the migration step 2016-06-09 11:09:14 +02:00
Thomas Müller fbdec59f22
Extract CLASS property from calendar object and store it in the database 2016-06-09 11:09:13 +02:00
Vincent Petry bf917d7063 Merge pull request #24813 from owncloud/delete-ghost-files
allow deleting "ghost files" trough the View and Node api
2016-06-07 09:34:16 +02:00
Thomas Müller 371a07e3ab Fix checkMove() implementation for dav v2 - fixes #24776 (#24971) 2016-06-06 17:01:27 +02:00
Robin Appelman 3bd5073251 add test for deleting ghost files over dav 2016-06-03 13:37:52 +02:00
Christoph Wurst da03a85c3c
block DAV if 2FA challenge needs to be solved first 2016-06-01 10:42:38 +02:00
Lukas Reschke aba539703c
Update license headers 2016-05-26 19:57:24 +02:00
Joas Schilling 5882e21b3b
Update DAV unit tests to PSR-4 2016-05-25 16:09:18 +02:00
Joas Schilling 42ba61db04
Fix local execution 2016-05-25 16:09:18 +02:00
Christoph Wurst 28ce7dd262
do not allow client password logins if token auth is enforced or 2FA is enabled 2016-05-24 17:54:02 +02:00
Christoph Wurst ad10485cec
when generating browser/device token, save the login name for later password checks 2016-05-24 11:49:15 +02:00
Vincent Petry c10d8a37f7 Merge pull request #22690 from owncloud/fix-comments-href-remote.php-files
ensure comments-href returns a value also when propfind is done again…
2016-05-23 14:47:03 +02:00
Joas Schilling 54f8822670
Fix unit tests 2016-05-23 09:03:48 +02:00
Vincent Petry 5963128342
Adjust DAV SystemTagPlugin unit tests for groups 2016-05-20 17:56:02 +02:00
Vincent Petry 91d4249ed8
Fix system tags DAV plugin tests 2016-05-20 17:56:02 +02:00
Vincent Petry 03d32bc39b
Fix system tags DAV unit tests 2016-05-20 17:56:02 +02:00
Arthur Schiwon 2b30136ae9
ensure comments-href returns a value also when propfind is done against remote.php/files 2016-05-20 16:22:13 +02:00
Joas Schilling dd9ee10bc0 Move dav app to PSR-4 (#24527)
* Move Application to correct namespace and PSR-4 it

* Move dav app to PSR-4
2016-05-12 09:42:40 +02:00
Christoph Wurst 0486d750aa
use the UID for creating the session token, not the login name 2016-05-11 13:36:46 +02:00
Thomas Müller b10dcfc3b7
Fixing local event delivery for calendar events based on the email address 2016-05-02 14:20:59 +02:00
Thomas Müller 22ff97256e
Test an event in the far future - refs #24221 2016-04-29 14:57:19 +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
Thomas Müller 3b3cff4f79 Merge pull request #24151 from owncloud/create-personal-calendar
Personal calendar should be generated even if the birthday calendar a…
2016-04-22 11:09:45 +02:00
Thomas Müller 1d1247069f
Birthday calendar should never have write acl - fixes #24154 2016-04-21 13:36:52 +02:00
Thomas Müller 38c7296867
Personal calendar should be generated even if the birthday calendar already exists - fixes #24082 2016-04-21 12:34:20 +02:00
Lukas Reschke a86fd873d6 Merge pull request #24076 from owncloud/fix-initial-calendar-and-addressbook-names
Fix displayname for initial calendars and address books
2016-04-19 14:30:35 +02:00
Thomas Müller 748134bd90
Fix displayname for initial calendars and address books - fixes #24057 2016-04-18 23:08:37 +02:00
Thomas Müller d0ad8e6e69
Revert "Fix displayname for initial calendars and address books - fixes #24057"
This reverts commit a5d3e5ed68.
2016-04-18 23:07:49 +02:00
Thomas Müller a5d3e5ed68
Fix displayname for initial calendars and address books - fixes #24057 2016-04-18 23:06:38 +02:00
Roeland Jago Douma dcb2b37e24
Add data-fingerprint property to webdav 2016-04-18 16:08:11 +02:00
Björn Schießle 52669d0ea3
return correct share permissions on propfind 2016-04-18 12:02:06 +02:00
Thomas Müller 55735e1450
Translate contacts birthday - fixes #23982 2016-04-14 16:58:45 +02:00
Thomas Müller 439de52534
Remove dav migration for 9.1 2016-04-13 15:53:57 +02:00
Thomas Müller 3c0a1d4241 Merge pull request #20118 from owncloud/chunked-upload-dav
Initial implementation of the new chunked upload
2016-04-13 14:37:10 +02:00
Björn Schießle 499d131a09
always return the complete permissions the file was shared with 2016-04-12 17:56:56 +02:00
Thomas Müller e21642ca31 Fix unit test of file plugin 2016-04-12 15:51:09 +02:00
Thomas Müller 72f5c539e8 Initial implementation of the new chunked upload - as specified in https://dragotin.wordpress.com/2015/06/22/owncloud-chunking-ng/ 2016-04-12 12:32:04 +02:00
Roeland Jago Douma 2c77bfa0d0
Fix dav comments 2016-04-08 15:23:23 +02:00
Roeland Jago Douma 4c9e257b27
Fix filesplugin 2016-04-08 15:23:13 +02:00
Thomas Müller 6f3eeeeb36 Merge pull request #23510 from owncloud/birthdays-on-shared-addressbooks
Propagate birthdays of shared addressbooks to the sharee's birthday c…
2016-04-08 15:19:38 +02:00
Roeland Jago Douma eda71240e2
Add unit tests for public auth webdav 2016-04-08 14:17:24 +02:00
Thomas Müller f6cea3c9c4 Merge pull request #23557 from owncloud/sabre-plugin-browser-error-page
In case of exception we return an html page in case the client is a b…
2016-04-04 13:51:23 +02:00
Roeland Jago Douma 89478a0961 Fix unit tests 2016-03-31 21:25:23 +02:00
Roeland Jago Douma 8c0ef4c4bd Add sharePermissions webdav property
This property can be queries by the clients so they know the max
permissions they can use to share a file with. This will improve the UX.

The oc:permissions proptery is not enough since mountpoints have
different permissions (delete + move by default).

By making it a new property the clients can just request it. On older
servers it will just return a 404 for that property (and thus they know
they have to fall back to their hacky work arounds). But if the property
is returned the client can show proper info.

* unit tests
* intergration test
2016-03-31 20:12:34 +02:00
Stefan Weil 65b0127241 apps/dav: Fix typos in comments (found and fixed by codespell)
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2016-03-30 10:14:26 +02:00
Thomas Müller ab0db65b23 Merge pull request #23549 from owncloud/dav-sharetypes-remote
Return remote shares in oc:share-types Webdav property
2016-03-24 22:44:19 +01:00
Thomas Müller c46f480031 In case of exception we return an html page in case the client is a browser 2016-03-24 19:02:16 +01:00
Thomas Müller 3d51682440 Merge pull request #23342 from owncloud/fix-group-sharing-for-v1-caldav-and-carddav
Fix group shares on v1 caldav and carddav
2016-03-24 12:47:18 +01:00
Vincent Petry 9ee1f506f2 Return remote shares in oc:share-types Webdav property
Fixes web UI to properly display the share status icon when an outgoing
remote share exists
2016-03-24 12:16:57 +01:00
Thomas Müller 06e8c70400 Fix acls for calendar objects and cards - fixes #23273 2016-03-24 09:53:36 +01:00
Lukas Reschke cc8c0b6a90 Check if request is sent from official ownCloud client
There are authentication backends such as Shibboleth that do send no Basic Auth credentials for DAV requests. This means that the ownCloud DAV backend would consider these requests coming from an untrusted source and require higher levels of security checks. (e.g. a CSRF check)

While an elegant solution would rely on authenticating via token (so that one can properly ensure that the request came indeed from a trusted client) this is a okay'ish workaround for this problem until we have something more reliable in the authentication code.
2016-03-24 08:59:56 +01:00
Thomas Müller c8d6a9594a Propagate birthday to group shares as well 2016-03-23 14:12:50 +01:00
Thomas Müller 48ec8ab3d3 Merge pull request #23404 from owncloud/fix-22988
adjust PrincipalUri as returned from Sabre to effective username
2016-03-22 14:49:54 +01:00
Arthur Schiwon be572de7f0 fix unittest 2016-03-21 21:53:16 +01:00
Vincent Petry f28f538029 Do not fire pre/post hooks twice on chunk upload 2016-03-21 15:14:58 +01:00
Roeland Jago Douma 6e6e002280 Remove duplicated copyright 2016-03-17 19:24:25 +01:00
Vincent Petry f778e48ee5 Add webdav property for share info in PROPFIND response 2016-03-17 15:35:21 +01:00
Thomas Müller 750ec93394 Merge pull request #23080 from owncloud/use-non-localized-birthday-title
Use a birthday title which does not require translation because we ha…
2016-03-11 11:49:13 +01:00
Thomas Müller 07a1313114 Merge pull request #23119 from owncloud/fix-getOwner-on-fileshome-master
getOwner is not available on FileHome
2016-03-10 23:12:51 +01:00
Thomas Müller b7adf371c6 getOwner is not available on FileHome - fixes #23116 2016-03-10 20:53:56 +01:00
Thomas Müller 7f16aaefc8 Merge pull request #23048 from owncloud/no-fatal-error-if-DSTART-is-not-set
No fatal error if dstart is not set
2016-03-10 17:58:01 +01:00
Thomas Müller 85521879cd The birthday_calendar is read-only 2016-03-10 12:50:07 +01:00
Thomas Müller fe7103506b Use a birthday title which does not require translation because we have no idea about the target device language and forcing English upon all users is kind of bad 2016-03-10 12:41:37 +01:00
Thomas Müller 6133253a2c fixes #23004 2016-03-10 09:20:53 +01:00
Thomas Müller 20db92c71a Fix group sharing and sharing permissions - fixes #22932 2016-03-08 11:22:07 +01:00
Thomas Müller 3b25ccef65 Handle addressbook migration issue by writing the faulty event to the log and continue 2016-03-07 15:04:19 +01:00
Thomas Müller d32b35fc7f Handle calendar migration issue by writing the faulty event to the log and continue 2016-03-07 15:04:19 +01:00
Thomas Müller 296a46cc38 Merge pull request #22244 from owncloud/dont-update-shared-resource-properties
For 9.0 we don't have the possibility to store calendar and addressbo…
2016-03-07 12:42:52 +01:00
Roeland Jago Douma 3bdafc2122 Rename and move permissions are set when a file is updatable
* Fix unit tests
2016-03-03 20:03:06 +01:00
C. Montero Luque 4d69e562a0 Merge pull request #22757 from owncloud/apply-license
Update copyright information and author file
2016-03-01 15:36:37 -05:00
Lukas Reschke c353d51810 Remove Scrutinizer Auto Fixer 2016-03-01 17:48:23 +01:00
Lukas Reschke c430f5ba53 Map Maci 2016-03-01 17:45:05 +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
Robin Appelman 37f1206818 allow putting the part file in the view root 2016-03-01 15:21:24 +01:00
Thomas Müller a83af96dd3 Merge pull request #22686 from owncloud/cleanup_remote_address_books
remove remote address book if access was revoked
2016-03-01 14:46:51 +01:00
Thomas Müller fd4742d430 Merge pull request #22613 from owncloud/quota-changedavreturnvaluewhennoquotaset
Don't return quota when none set
2016-03-01 08:30:58 +01:00
Bjoern Schiessle 87e47afed8 remove synced remote address book if the remote server revoked access to his system address book 2016-02-29 16:50:34 +01:00
Joas Schilling 6f22784d3d Allow to hide a shared calendar 2016-02-29 16:49:55 +01:00
Thomas Müller 95e218b00c For 9.0 we don't have the possibility to store calendar and addressbook properties on a per-user basis and therefore we simple don't allow this for now 2016-02-29 16:49:55 +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
Joas Schilling 2a0cda74d4 Use IQueryBuilder::PARAM_* instead of \PDO::PARAM_* 2016-02-29 09:44:40 +01:00
Thomas Müller 9a0950f10b Merge pull request #22569 from owncloud/issue-22566-too-much-mapping-entries
Allow defining a limit and offset for getObjectIdsForTags
2016-02-23 15:02:08 +01:00
Joas Schilling 3a65bdf4d5 Fix dav unit tests 2016-02-23 09:04:15 +01:00
Thomas Müller 4dfdb2720c Case insensitive search in contacts - fixes #22575 2016-02-22 19:47:10 +01:00
Joas Schilling a0d0edc754 Make non-public-method protected 2016-02-22 15:26:59 +01:00
Lukas Reschke 3bd95cca6b Check if user has permission to create such a tag
Fixes https://github.com/owncloud/core/issues/22512
2016-02-19 20:45:20 +01:00
Thomas Müller ffc2950393 Merge pull request #22198 from owncloud/birthday-calendar
Sync a users contacts birthday to the users birthday calendar
2016-02-19 12:33:19 +01:00
Thomas Müller f6e61a296f Merge pull request #22424 from owncloud/add-generic-csrf-protection-to-webdav
Require CSRF token for non WebDAV authenticated requests
2016-02-19 09:13:00 +01:00
Thomas Müller d8de7d1e73 Adding cli command to sync birthday calendar 2016-02-18 14:49:45 +01:00
Thomas Müller 981c73000c Prevent deletion of birthday calendar 2016-02-18 11:49:16 +01:00
Thomas Müller c9187cc820 Sync a users contacts birthday to the users birthday calendar 2016-02-18 11:48:34 +01:00
Lukas Reschke 9b3c4e8dc4 Require CSRF token for non WebDAV authenticated requests 2016-02-18 11:18:36 +01:00
Vincent Petry 53eff9792f Check the quota on the actual file's storage in dav quota plugin
Fix quota plugin to use the correct file name when chunking

When chunking, the file name is the compound name, so need to convert it
to the correct final file name before doing the free space check.
This ensures that in the case of shared files, the correct storage is
used for the quota check.
2016-02-17 11:52:49 +01:00
Thomas Müller df7280a3c7 Queries on the cards table by uri require the addressbook as well - fixes #22284 2016-02-15 14:29:24 +01:00
Thomas Müller c919b41395 Adding a custom webdav property which holds the list of contacts groups 2016-02-10 17:06:13 +01:00
Thomas Müller 2e94d34dfd Fix group principal 2016-02-10 10:43:32 +01:00
Thomas Müller 2982017682 Merge pull request #22228 from owncloud/comments-limit-message
Limit comment message to 1k chars
2016-02-09 16:35:23 +01:00
Thomas Müller 4659bf9b4a Merge pull request #22234 from owncloud/systemtags-filter-intersect-empty
Fix system tag filter AND condition
2016-02-09 15:34:06 +01:00
Arthur Schiwon bbc86e0756 on DAV throw Bad Request if provided message is too long 2016-02-09 13:59:13 +01:00
Joas Schilling 178914104c Add a test for empty mid-result 2016-02-09 12:07:17 +01:00
Vincent Petry 3028684d89 Fix system tag filter AND condition
If one of the results is empty, no need to do array_intersect and return
an empty result directly.
2016-02-09 11:39:22 +01:00
Thomas Müller bf3a843e89 Migration of calendars 2016-02-09 11:20:31 +01:00
Vincent Petry 2f1a60a64d Add REPORT on files endpoint for filtering
For now only supports filtering by system tags
2016-02-08 21:04:53 +01:00
Thomas Müller a67f7ad1f3 Remove calendar-proxy support - did this ever work? 2016-02-08 10:52:30 +01:00
Vincent Petry d2a495f190 Mark own comments as read after posting 2016-02-05 16:30:37 +01:00
Arthur Schiwon a480b2261b Check for authorship on edit and delete attempts 2016-02-04 12:57:48 +01:00
Thomas Müller a3cc448c9d Adding propfind property to retrieve sharee information from a dav resource 2016-02-03 17:18:23 +01:00
Thomas Müller 8c14ce01ba Deleting a shared address book results in unshare 2016-02-03 17:18:22 +01:00
Thomas Müller ef06d6bdaa Deleting a shared calendar results in unshare 2016-02-03 17:18:22 +01:00
Thomas Müller 4b14ca672f Fix ACLs on shared calendars 2016-02-03 17:18:22 +01:00
Thomas Müller 0753067bcd No duplicate address book if shared with user and group and the user is part of the group 2016-02-03 17:18:22 +01:00
Thomas Müller 18c35bf812 No duplicate calendars if shared with user and group and the user is part of the group 2016-02-03 17:18:22 +01:00
Thomas Müller 9106595608 Add calendar sharing 2016-02-03 17:18:22 +01:00
Thomas Müller 77942ad38a Merge pull request #22059 from owncloud/comments-readmark-dav
Comments DAV methods for read mark manipulation (mark comments of a file as read) + return isUnread status
2016-02-03 09:00:32 +01:00
Thomas Müller 37d6fff976 Merge pull request #22055 from owncloud/systemtags-checkfileidowner
Make sure user has access to file for system tag operations
2016-02-02 12:37:52 +01:00
Thomas Müller ca25055cc8 Register all system address books to the contacts manager 2016-02-02 10:56:33 +01:00
Vincent Petry d72c0ffbc6 Make sure user has access to file for system tag operations
Fixes DAV's SystemTagsObjectTypeCollection to not give access to files
where the current user doesn't have access to.
2016-02-01 18:23:40 +01:00
Arthur Schiwon 29f57eb85c set read marker via proppatch against entity 2016-02-01 17:43:13 +01:00
Arthur Schiwon b1c8b077b0 Return isUnread property per comment 2016-02-01 16:55:24 +01:00
Arthur Schiwon d2882b9021 Comments WebDAV adjustements 2016-01-29 13:08:02 +01:00
Thomas Müller ede1cbf612 Merge pull request #21932 from owncloud/comments-dav-refinements
provide info about plugin, and do not run commit ourselves on proppatch
2016-01-29 10:03:20 +01:00
Thomas Müller 6fc3269670 Merge pull request #21333 from owncloud/migrate-contacts
Migrate contacts
2016-01-28 19:47:48 +01:00
Thomas Müller 0f51851d7d Merge pull request #21895 from owncloud/calendar-sharing
Migrate from CardDAV sharing to more general DAV sharing
2016-01-27 19:32:05 +01:00
Thomas Müller c7abad65ea Fix sql to get shared addressbooks including unit tests 2016-01-27 12:10:06 +01:00
Thomas Müller 8f4ab55b4b Unit testing database access to old contacts tables 2016-01-27 12:10:06 +01:00
Thomas Müller b2976eb72c Unit testing migration logic 2016-01-27 12:10:06 +01:00
Vincent Petry cfba90a78d Fix system tags proppatch with booleans
Backbone webdav adapter now converts booleans and ints to strings.

Fixed system tags to use "true" / "false" strings for booleans instead
of 1 / 0.
2016-01-27 11:09:43 +01:00
Thomas Müller ba565edc1e Extract sharing functionality into own backend class for reusability 2016-01-27 09:45:32 +01:00
Thomas Müller 92c7d15739 Fix server ctor including unit test - this shall never happen again 2016-01-27 09:43:44 +01:00
Thomas Müller d1104954aa Migrate from CardDAV sharing to more generalk DAV sharing 2016-01-27 09:43:44 +01:00
Arthur Schiwon a5c528ff7e provide info about plugin, and do not run commit ourselves on proppatch 2016-01-26 21:35:12 +01:00
Thomas Müller aa598fc701 Merge pull request #21664 from owncloud/comments-dav
Comments DAV implementation
2016-01-26 17:20:32 +01:00
Thomas Müller 7b678a8c17 Reassemble behavior on shared address books with respect to uri and displayname 2016-01-26 15:07:50 +01:00
Arthur Schiwon e5ba28f934 adjust unit tests 2016-01-26 13:16:14 +01:00
Arthur Schiwon ed546bd2a5 Comments DAV implementation 2016-01-26 12:10:14 +01:00
Thomas Müller 21131d133a Merge pull request #21814 from owncloud/systemtags-backend-permissions
Fix DAV backend to respect system tags permissions
2016-01-22 16:08:22 +01:00
Thomas Müller 57b17cdd98 Merge pull request #21826 from owncloud/dav-fix-user-deletion
No card ID when deleting is acceptable
2016-01-22 11:16:30 +01:00
Vincent Petry 94a763a084 Inject user session to check for admin in system tags DAV handlers 2016-01-21 14:22:46 +01:00
Vincent Petry 5639e41cb0 Fix DAV to respect system tags permissions
When queried as regular user, visible tags are not displayed in result
sets and queries for existence will return false.

Non-assignable or non-visible tags cannot be
renamed/assigned/unassigned.

User is not allowed to change tag permissions, only to change the name
if the tag is also assignable.
2016-01-21 14:09:27 +01:00
Thomas Müller 2540ac431c Merge pull request #21778 from owncloud/share-calendars
More tests for CalDAV
2016-01-21 12:31:26 +01:00
Joas Schilling df27a939ce No card ID when deleting is acceptable 2016-01-21 12:19:28 +01:00
Vincent Petry ffba6d0a7e Added system tags GUI in sidebar
Added files details sidebar panel to assign/unassign/rename/delete
system tags.
2016-01-19 16:24:26 +01:00
Thomas Müller c1d8d60754 Add back the current-user-principal test suite 2016-01-19 15:33:57 +01:00
Thomas Müller f18f1e40b7 CalDAV sync tests 2016-01-19 14:03:46 +01:00
Thomas Müller e1d18a8ded Adjust CalDAV tests 2016-01-19 14:03:46 +01:00
Thomas Müller f772572249 Fix xml namespace in test 2016-01-18 22:15:17 +01:00
Thomas Müller b912bf81b5 Fixing sharing unit test 2016-01-18 22:14:51 +01:00
Thomas Müller f833782720 Fix CalDAV test suite 2016-01-18 22:14:51 +01:00
Thomas Müller 45baf03a2a Test ownCloud CardDAV sharing using CalDAVTester 2016-01-18 22:14:51 +01:00
Thomas Müller 992ccc899a Fix unit test - optimize code 2016-01-18 22:14:30 +01:00
Thomas Müller 8b8edc1f5d Show group shared addressbooks 2016-01-18 22:14:30 +01:00
Thomas Müller 052583bcb6 Unit tests for updateUser and deleteUser 2016-01-14 13:01:10 +01:00
Thomas Müller fbfca80f42 Add test for ensureSystemAddressBookExists 2016-01-14 12:21:42 +01:00
Thomas Müller a91954907b Start updating system addressbook 2016-01-14 12:10:45 +01:00
Roeland Jago Douma 172f6cd714 Fix carddav unit tests 2016-01-13 15:00:05 +01:00
Thomas Müller cddc1ae9cb Merge pull request #21655 from owncloud/remove-listener-plugin
Remove the listener dav plugin
2016-01-13 10:39:27 +01:00
Thomas Müller 1e0ea46e9e Merge pull request #21620 from owncloud/fix-wrong-classname-in-phpdoc
fix wrong class name in phpdoc
2016-01-13 10:34:07 +01:00
Joas Schilling 3bdcfef395 Remove the listener plugin 2016-01-13 10:33:08 +01:00
Thomas Müller c5a200c419 Merge pull request #21653 from owncloud/update-license-headers-2016
Update license headers 2016
2016-01-13 08:29:42 +01:00
Thomas Müller 682821c71e Happy new year! 2016-01-12 15:02:18 +01:00
Thomas Müller 06dac9726e Address comments 2016-01-12 14:24:47 +01:00
Thomas Müller 451ab84d11 Adding unit tests for the sync service 2016-01-12 14:24:47 +01:00
Thomas Müller 90d9834c8c Decouple federation and dav app 2016-01-12 14:24:47 +01:00
blizzz 89e5556c60 fix wrong class name in phpdoc 2016-01-11 15:15:21 +01:00
Thomas Müller 6f526e638c Unit test contact provider registration 2016-01-11 14:36:20 +01:00
Thomas Müller 1f21f0eb73 Merge pull request #21491 from owncloud/webdav_auth_no_basic_auth
Also allow 'only cookie' auth to webdav
2016-01-08 20:09:16 +01:00
Thomas Müller 173c1640c0 Merge pull request #21540 from owncloud/group-principals
Adding group principals to new dav endpoint
2016-01-08 18:18:57 +01:00
Thomas Müller bb01efdcbd Adding unit tests for SystemPrincipalBackend 2016-01-08 15:31:33 +01:00
Thomas Müller b3550db02d Adding IMip scheduling which uses ownClouds mail delivery 2016-01-08 12:21:41 +01:00
Thomas Müller f9c08112da Adding group principals to new dav endpoint 2016-01-08 12:11:02 +01:00
Roeland Jago Douma 791c7a6dcc Bump vobject version in carddav unittest 2016-01-08 11:30:28 +01:00
Roeland Jago Douma 4a38793d11 Allow only cookie auth to webdav 2016-01-07 10:44:26 +01:00
Thomas Müller d3883ca9d4 Adding integration tests for CalDAV 2015-12-21 16:04:27 +01:00
Thomas Müller 38a006b1e8 Merge pull request #21293 from owncloud/restructure-travis-dav-testing
Restructure travis tests
2015-12-21 12:07:21 +01:00
Thomas Müller ac78d248b7 Sleep in carddavtester as well 2015-12-21 11:43:15 +01:00
Thomas Müller 0b597c37b3 Restructure travis tests 2015-12-21 11:35:48 +01:00
Thomas Müller aac06a33f1 Fix carddav sharing plugin + adding unit tests 2015-12-18 09:18:38 +01:00
Thomas Müller 792b270f22 Merge pull request #20696 from owncloud/add-carddav-backends-to-ocp-contactsmanager
Add carddav backend to OCP\ContactsManager
2015-12-17 16:36:48 +01:00
Morris Jobke 89233cab83 add unit test for #21230 2015-12-16 15:03:50 +01:00
Björn Schießle 3ce845e2b1 avoid duplicates on search 2015-12-15 15:40:47 +01:00
Thomas Müller e5469a1121 Fix Oracle insert error 2015-12-15 14:52:27 +01:00
Björn Schießle cd55a19034 implement delete, create, update, search, get permissions 2015-12-15 14:52:27 +01:00
Thomas Müller c14f4e8506 Merge pull request #21045 from owncloud/scrutinizer-patch-1
Scrutinizer Auto-Fixes
2015-12-11 11:39:25 +01:00
Scrutinizer Auto-Fixer ffc49a24f0 Scrutinizer Auto-Fixes
This commit consists of patches automatically generated for this project on https://scrutinizer-ci.com
2015-12-10 16:43:37 +01:00
Vincent Petry 174f7599e5 Catch exception when querying direct download link 2015-12-10 16:17:44 +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 28e9bc1156 Fix more unit tests to pass a mock storage instead of null to FileInfo 2015-12-08 16:33:39 +01:00
Vincent Petry 316b907a13 Fixed system tags DAV and API and docs 2015-12-04 17:30:50 +01:00
Vincent Petry fe95fd5bec Unit test for system tags plugin 2015-12-03 15:23:21 +01:00
Thomas Müller f558ac7dd5 Fix update of avatar image 2015-12-02 11:09:15 +01:00
Thomas Müller 599ba31edc Specify the email type and set name properly 2015-12-02 09:14:41 +01:00
Thomas Müller 906777dc9c Add converter to generate/update a vcard from a given user 2015-12-02 09:14:41 +01:00
Thomas Müller 079ae9b7a9 Update addressbook home configuration for CalDAVTester 2015-12-02 09:14:41 +01:00
Thomas Müller 318e5e2864 More group DB 2015-11-30 10:55:13 +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 58cc3000c6 Prevent redefinition warning of PHPUNIT_RUN 2015-11-30 10:55:05 +01:00
Thomas Müller 3bb6dcea64 Apply DB group annotation ... 2015-11-30 10:55:05 +01:00
Thomas Müller 1d30f0fcdb Merge pull request #20760 from owncloud/webdav-authredirectfix
Only reject ajax auth if user is really logged out
2015-11-27 13:16:01 +01:00
Vincent Petry d02e0eaaf1 Only reject ajax auth if user is really logged out 2015-11-26 17:04:21 +01:00
Thomas Müller cc8c38e8ba Fix principal collection for CavDAVTester 2015-11-26 12:15:11 +01:00
Thomas Müller b799e42b4e Introduce \OCP\IUser::getEMailAddress() 2015-11-25 22:23:34 +01:00
Thomas Müller c25a7cc4da Users are available under it's own principal resource named 'principals/users' this will allow us to introduce e.g. groups as principals (one day) and system specific principals (needed for federation) 2015-11-25 22:23:34 +01:00
Thomas Müller 06c85dd1eb Output owncloud.log to the console 2015-11-25 21:14:15 +01:00
Thomas Müller d28390a649 Adding sync support - including dav tests 2015-11-25 21:14:15 +01:00
Thomas Müller ae36c01b95 Adjust sabre changes in core 2015-11-24 15:11:54 +01:00
Vincent Petry 055d58bfc3 Do not authenticate over ajax
This makes sure that whenever a Webdav call is done through Ajax, if the
session has expired, it will not send back a challenge but a simple 401
response. Without this fix, the default code would send back a challenge
and trigger the browser's basic auth dialog.
2015-11-23 09:44:30 +01:00
Scrutinizer Auto-Fixer 5573029485 Scrutinizer Auto-Fixes
This commit consists of patches automatically generated for this project on https://scrutinizer-ci.com
2015-11-20 15:42:34 +00:00
Thomas Müller bcc486ffdc Adding an existing sharee is idempotent 2015-11-19 11:34:59 +01:00
Thomas Müller 4eb15885c9 Addressbook sharing added based on a simplified approach which is based on calendar sharing standard 2015-11-19 11:34:31 +01:00
Thomas Müller d8b73fde1a Merge pull request #20371 from owncloud/add-caldav-2
Introducing CalDAV into core
2015-11-18 16:32:19 +01:00
Vincent Petry 978303e03e Add internal fileid to webdav response
Introduce a new property "oc:fileid" to return the internal file id.

This is because the original "oc:id" property is a compound and it is
not possible to extract the real id without knowing the instance id. The
instance id is not available to external clients.
2015-11-18 11:41:04 +01:00
Thomas Müller aba119951e Merge pull request #20494 from owncloud/storage-forbidden-exception
Allow storage wrappers to through a forbidden exception with retry information for clients
2015-11-18 09:13:45 +01:00
Thomas Müller 20c251a575 Merge pull request #20188 from owncloud/webdav-exposeshareowner
Expose share owner id and display name via files webdav
2015-11-17 13:40:25 +01:00
Joas Schilling e2cfcd992c Allow storage wrappers to through a forbidden exception with retry information 2015-11-17 10:39:52 +01:00
Thomas Müller e4568234a5 Use uri as displayname 2015-11-16 21:01:27 +01:00
Thomas Müller a0b649442c components was not written to the database 2015-11-16 17:57:39 +01:00
Thomas Müller 867fd94dc6 Add scheduling backend 2015-11-16 15:49:46 +01:00
Vincent Petry d62f410f92 Add "owner-id" and "owner-display-name" Webdav properties 2015-11-16 15:31:41 +01:00
Thomas Müller 2b13c5db0f Introducing CalDAV into core 2015-11-16 13:24:50 +01:00
Lukas Reschke a3fc40921b Add fake locker plugin for WebDAVFS
WebDAVFS as used by Finder requires a Class 2 compatible WebDAV server. This change introduces a fake locking provider which will simply advertise Locking support when a request originates from WebDAVFS. It will also return successful LOCK and UNLOCK responses.
2015-11-13 23:31:08 +01:00
Thomas Müller e4900c6c4c Merge pull request #20195 from owncloud/add-caldavtester
Add CalDAVTester to travis
2015-11-10 16:11:49 +01:00
Arthur Schiwon 06d1685e75 When creating addressbooks, make sure the displayname is set 2015-11-10 11:41:27 +01:00
Thomas Müller af94c880b3 Add CalDAVTester to travis 2015-11-10 09:48:05 +01:00
Thomas Müller 71b8916f0f adding individual phpunit.xml and bootstrap.php 2015-11-06 19:11:29 +01:00
Thomas Müller d8e965e59a Introducing CardDAV into core 2015-11-06 15:26:51 +01:00
Thomas Müller e54c22eb59 Merge pull request #20089 from owncloud/litmus-test-webdav
Enable DAV app testing on travis
2015-10-28 11:09:12 +01:00
Thomas Müller 09fff15021 run litmus scripts only if code in the dav app did change changed 2015-10-28 09:59:09 +01:00
Thomas Müller b753e7631b Enable DAV app testing on travis 2015-10-27 23:00:04 +01:00
Robin Appelman c309193039 Merge pull request #17104 from owncloud/chunked-upload-locking
locking for chunked dav upload
2015-10-27 16:58:00 +01:00
Roeland Jago Douma db17598a0e Verify the src exists in webdav MOVE
* Unit test added
2015-10-27 09:22:33 +01:00
Lukas Reschke cddc9abc06 Add tests for Sabre Auth plugin + make getCurrentUser compatible 2015-10-23 17:30:47 +02:00
Robin Appelman 021ed8b2bd adjust tests for new dav classes 2015-10-20 16:22:45 +02:00
Robin Appelman 760335c57d fix locking in tests 2015-10-20 14:15:59 +02:00
Robin Appelman 21d02673be Add tests for uploading to locked files 2015-10-20 14:14:56 +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 8a036842aa Fix failing unit test 2015-10-16 17:36:27 +02:00
Thomas Müller 8fa59033ac Fix uni tests 2015-10-16 13:17:12 +02:00
Thomas Müller f2889dc6e4 Consolidate webdav code - move all to one app 2015-10-16 13:17:12 +02:00