Commit graph

564 commits

Author SHA1 Message Date
Lukas Reschke
d0c3c5cee3 Merge pull request #2225 from nextcloud/fix_caldav_proppatch_requests
fix PropPatch requests on calendars
2016-11-21 22:54:17 +01:00
Georg Ehrke
3a8c4230be
fix PropPatch requests on calendars
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2016-11-21 22:10:51 +01:00
Bjoern Schiessle
3a880879ce
update unit tests
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2016-11-21 11:29:59 +01:00
Georg Ehrke
44f55fe415
BirthdayCalendar: fix issue with birthyear to high when birthday on Dec 31st
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2016-11-17 15:28:15 +01:00
Roeland Jago Douma
030118cd85 Merge pull request #2111 from nextcloud/oc_26549
Remove unused $view from FilesPlugin (#26549)
2016-11-14 17:00:04 +01:00
Thomas Müller
506ccdbd8d
Introduce an event for first time login based on the last login time stamp
Use firstLogin event to trigger creation of default calendar and default address book

Delay login of admin user after setup so that firstLogin event can properly be processed for the admin

Fixing tests ...

Skeleton files are not copied over -> only 3 cache entries are remaining

Use updateLastLoginTimestamp to properly setup lastLogin value for a test user
2016-11-14 14:50:10 +01:00
Vincent Petry
17ea1bfb75
Remove unused $view from FilesPlugin (#26549)
The Sabre FilesPlugin never uses the view so remove it.
2016-11-14 14:45:33 +01:00
Robin Appelman
ec2235e14b
fix tests
Signed-off-by: Robin Appelman <robin@icewind.nl>
2016-11-10 15:06:24 +01:00
Lukas Reschke
58ca624b62
Add tests
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-11-09 11:52:40 +01:00
Roeland Jago Douma
1e6175dfcb
Fix CalendarTest
* Made sure delete from self works again (and is tested)

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-11-04 15:40:59 +01:00
Roeland Jago Douma
9fa3a22ddd
Fix tests
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-11-04 13:37:00 +01:00
Thomas Müller
c778b1bade
Update sabre dav to 3.2 (#26115)
* Update sabre/dav to 3.2.0

* Adjust code to work with sabre/dav 3.2.0 and it's dependencies

* Adding own CalDAV plugin to fix calendar home property

* Test if there is a user logged in when listing files home

* Update sabre version used by integration tests

* Disable unauthenticated DAV access

This is needed to make Sabre 3.2 behave like we did before.
Eventually we should integrate better with the ACL plugin which itself
should implement an auth failure when appropriate.

=====

* Fixed so cherry-pick was succesfull

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-11-04 13:35:10 +01:00
Roeland Jago Douma
f6ff624e3d Merge pull request #1733 from nextcloud/dav-events
Activities for calendars, events and todos
2016-11-03 19:31:20 +01:00
Joas Schilling
7a0e003ade
Add more tests
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-11-03 15:24:18 +01:00
Joas Schilling
36b656e207
Add tests for triggerCalendarActivity
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-11-03 14:30:02 +01:00
Joas Schilling
c4775a5bce
Start unit tests for the activity listener
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-11-03 12:57:40 +01:00
Joas Schilling
e8f82c6b61
Add tests for dispatching of the events
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-11-03 12:28:12 +01:00
Joas Schilling
52dd27892b
Use the event dispatcher
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-11-03 12:07:59 +01:00
Joas Schilling
07f6747305
Move the methods into a new class
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-11-03 12:07:58 +01:00
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
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
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 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
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
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
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
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
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
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
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
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
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