Commit Graph

932 Commits

Author SHA1 Message Date
Roeland Jago Douma 1c75ddac45
Improve the directContoller
* Tests
* No directdownload from storage yet (as it is not tested at all)
* No direct links for folders

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-04-26 10:35:38 +02:00
Roeland Jago Douma d5222d68f0
Add tests for DirectFile and DirectHome
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-04-26 10:35:37 +02:00
Roeland Jago Douma 392337fa13
Throttle requests to unknown tokens
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-04-26 10:35:37 +02:00
Roeland Jago Douma b6c58e75b7
Add backgroundjob to cleanup expired direct links
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-04-26 10:35:37 +02:00
Roeland Jago Douma 042340ccf6
Check if a direct link is expired
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-04-26 10:35:37 +02:00
Roeland Jago Douma 6a385dd20b
Add directDownload support of storage
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-04-26 10:35:37 +02:00
Roeland Jago Douma 164d998856
No listing
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-04-26 10:35:37 +02:00
Roeland Jago Douma b3e7865d9b
Dav endpoint returns proper data
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-04-26 10:35:37 +02:00
Roeland Jago Douma 5c6d3b4f41
Request a direct link
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-04-26 10:35:37 +02:00
Roeland Jago Douma f984664bee
First step of DAV endpoint
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-04-26 10:35:37 +02:00
Roeland Jago Douma 9ab5b6a4f1
Add DB mapping
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-04-26 10:35:37 +02:00
Roeland Jago Douma b0c801c764
Add directdownload table
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-04-26 10:35:37 +02:00
Morris Jobke dd34cb7540
Less deprecated calls to OCP\Util::writeLog
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-04-22 20:41:49 +02:00
Robin Appelman bc3fde9f75
log more information about insufficient storage in dav plugin
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-04-17 15:29:37 +02:00
Roeland Jago Douma fed9140abd
Merge pull request #9148 from nextcloud/dav-read-exception
transform exception during file read to sabre exceptions
2018-04-11 16:03:12 +02:00
Julius Härtl 2626d11f78
Merge pull request #9097 from nextcloud/bugfix/7661/use_mb_substr
Use multibyte substring
2018-04-11 15:55:55 +02:00
Robin Appelman e6a7ddc1c6 transform exception during file read to sabre exceptions
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-04-11 14:45:35 +02:00
Roeland Jago Douma 0864d1c51d
Use multibyte substring
Fixes #7661

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-04-05 22:26:38 +02:00
Arthur Schiwon 373a1d5391
more consistent naming
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2018-04-05 12:46:15 +02:00
Arthur Schiwon 2ebf26e444
admin_audit and dav listen to announce and revoke signals
also place them in doc

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2018-04-05 12:38:43 +02:00
Morris Jobke bd8352d4c4
Merge pull request #8996 from brandonkirsch/fix-onenote-dav
Fix webdav support for OneNote clients
2018-04-03 13:27:29 +02:00
Roeland Jago Douma e8b7e9e75d
Do not treat is-encrypted as customer property
fixes #8977

Else for all files in a folder we would launch off more queries.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-03-28 08:34:50 +02:00
Brandon Kirsch c5005bbab5 Fix webdav support for OneNote clients 2018-03-26 15:32:12 -04:00
Roeland Jago Douma e6a2c13ac1
MethodNotAllowed is not a Fatal error
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-03-26 12:15:31 +02:00
Roeland Jago Douma c306bc29d1
Make displayname selectable
It is dav. so if it is not properly set we just return a 404 anyway.
2018-03-22 16:46:21 +01:00
blizzz 208e38e84e
Merge pull request #8255 from nextcloud/bugfix/noid/group-display-name
Full implement group display names
2018-03-15 12:07:30 +01:00
Morris Jobke ed5008597f
Merge pull request #8112 from nextcloud/fix-integer-overflow
Fix integer overflow in ChunkingPlugin
2018-03-09 10:27:17 +01:00
Joas Schilling db9b2398dd
Fix group displaynames in activity
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-03-08 17:13:49 +01:00
Robin Appelman f5ef9e02b2
emit pre-hooks earlier when not using part files
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-03-08 13:02:35 +01:00
Morris Jobke fc4e0501f0
Fix integer overflow in ChunkingPlugin
Avoids errors when the size exceeds MAX_INT because of the cast to int. Better cast it to float to avoid this.

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-03-06 18:47:26 +01:00
Morris Jobke 236086c457
Merge pull request #8335 from nextcloud/remove-unused-import
Remove unused import statements
2018-02-14 22:23:07 +01:00
Morris Jobke d3d045dd5c
Remove unused import statements
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-02-14 16:55:43 +01:00
Morris Jobke e2974f1133
Simplify return statement
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-02-13 21:55:24 +01:00
Morris Jobke e5c08621af
Merge pull request #8023 from nextcloud/webdavsearch_limit_order_fixing
Respect limit and order in webdav search
2018-02-08 09:11:39 +01:00
Roeland Jago Douma c1ff12e234
CacheJail should apply limit and offset after searching
Else the results might not be correct.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-02-07 13:41:15 +01:00
Robin Appelman 6b5419ddf0
Adjust to updated searchdav library
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-02-07 13:41:15 +01:00
Roeland Jago Douma ec144281ef
Respect limit and order in webdav search
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-02-07 13:41:15 +01:00
Robin Appelman 9d6d23d1f7
keep previous exception when transforming to dav exception
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-02-07 13:34:30 +01:00
Roeland Jago Douma 9896b15ec8
Only handle encrypted property on folders
Exposing the encrypted property is required for E2E. However, there is
no need to expose this on files as then it is server side encryption
(which the clients don't care about).

Better to not confuse the output.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-01-30 12:25:49 +01:00
Morris Jobke eb51f06a3b
Use ::class statement instead of string
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-29 12:03:47 +01:00
Morris Jobke a661f043e1
Remove unneeded semicolon and parentheses
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-26 23:46:40 +01:00
Morris Jobke 97c216ea06
Merge pull request #8071 from nextcloud/remove-silly-code
Cleanup unused code
2018-01-26 15:47:06 +01:00
Morris Jobke c67736a542
Merge pull request #7707 from nextcloud/bugfix/noid/birthdaycalendar-different-uids
generate different UIDs for Birthday, Anniversary and Death event
2018-01-26 15:46:46 +01:00
Morris Jobke c005fc6755
Cleanup unused code
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-26 15:25:19 +01:00
Morris Jobke c1e4f9f305
Use type casting instead of *val() method
It should be up to 6x faster

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-26 11:35:42 +01:00
Joas Schilling c2b1bd92d6
Merge pull request #8063 from nextcloud/inline-value
Return value immediately instead of assigning to a one-time variable
2018-01-26 10:15:39 +01:00
Roeland Jago Douma ec1d94c629
Merge pull request #8052 from nextcloud/fix-array-methods
Fix array method usages with a proper call
2018-01-26 09:53:13 +01:00
Morris Jobke 0a56d2185e
Return value immediately instead of assigning to a one-time variable
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-26 00:02:03 +01:00
Morris Jobke 4dbee99b7b
Remove useless return statements
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-25 22:50:40 +01:00
Morris Jobke 7800a9bc24
Fix array method usages with a proper call
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-25 22:20:10 +01:00
blizzz c7d9e5fd63
Merge pull request #7354 from nextcloud/refacor-update-page-print
Refactor method to check if update is needed
2018-01-22 22:50:05 +01:00
Morris Jobke 24c58d39f4
Merge pull request #7909 from nextcloud/fix-migration-type-hints
Fix the type hints of migrations and correctly inject the wrapped sch…
2018-01-17 13:47:58 +01:00
Joas Schilling 4a5282ba21
Fix the type hints of migrations and correctly inject the wrapped schema into migrations
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-01-17 11:37:36 +01:00
Roeland Jago Douma 8614eb91db
Fix avatarHome
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-01-16 15:37:47 +01:00
Joas Schilling 91d3677446
Make sure the arrays are arrays
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-01-12 14:08:00 +01:00
Roeland Jago Douma e5cc8ebe7a
Return proper principal on the uploads collection listing
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-01-10 08:35:20 +01:00
Georg Ehrke 1b8fc260c6
generate different UIDs for Birthday, Anniversary and Death event
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2018-01-04 20:15:24 +01:00
Morris Jobke 876238ce8b
Merge pull request #7533 from nextcloud/oc-28545-handle-oc-total-length-in-new-chunking
[oc] Handle OC-Total-Length in new chunking
2018-01-03 16:18:24 +01:00
Morris Jobke 0b4d18673e
Do not log user errors as log level 4
* hides log entries for the case the parent folder does not exist

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-03 11:58:55 +01:00
Roeland Jago Douma 0585b776fb
Do no run SyncJob in cron
Fixes #7184

The SyncJob can be very resource intensive. Since it requests all users
on the system to create the system addressbook. In order to do this it
creates a vcard for every user and updates the addressbook.

There is no need for this job since the proper signals are emitted and
handled in the carddav backend to update the addressbook live.

Worst comes to worst there is always the occ command to bring the
address book in sync again.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-01-02 10:00:01 +01:00
Thomas Müller 8c5d656f3b Handle OC-Total-Length in new chunking
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-12-15 14:46:36 +01:00
Morris Jobke 1ceeab9229
Fix unit tests for CalendarManager
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-12-12 09:33:52 +01:00
Morris Jobke d98dea1eb1
Merge pull request #6884 from nextcloud/feature/3003/opt_out_of_birthday_calendar
Opt out of birthday calendar
2017-12-12 08:29:26 +01:00
Tobia De Koninck f6ef779f97
Make ContactsStore a public API
Signed-off-by: Tobia De Koninck <tobia@ledfan.be>
2017-12-11 18:18:58 +01:00
Morris Jobke ba3c608a00
Merge pull request #6590 from nextcloud/dav-create-activities-for-publishing
Create activities for (un)publishing calendar events
2017-12-11 17:13:11 +01:00
Morris Jobke c76c7a96fc
Update wording
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-12-11 16:28:40 +01:00
Thomas Citharel 4c32de22bb
Create activities for (un)publishing calendar events
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2017-12-11 16:28:40 +01:00
Georg Ehrke 6802e2b59a
Principal search: Take sharing settings into account
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2017-12-11 16:04:55 +01:00
Georg Ehrke f543039858
exclude shared calendars from freeBusy
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2017-12-11 16:04:55 +01:00
Christoph Seitz 787e3d51b4
Fix functions to search for principals in the backend.
Add a "searchPrincipals" function to the NC principal backend.
Fix the "findByUri" function to respect the prefixPath.

Signed-off-by: Christoph Seitz <christoph.seitz@posteo.de>
2017-12-11 16:04:55 +01:00
blizzz 80b27fdb93
Merge pull request #7342 from nextcloud/fix_carddav_converter
CardDAV convertor check should not be to wide
2017-12-11 16:03:07 +01:00
Morris Jobke 5b20600da9
Merge pull request #7313 from nextcloud/ensure-that-x-oc-mtime-header-is-an-integer-with-chunked-uploads
Ensure that X-OC-MTime header is an integer with chunked uploads
2017-12-11 15:07:05 +01:00
Roeland Jago Douma 40633c5e54
CardDAV convertor check should not be to wide
Case: email is set to null, but the avatar is set. In the old case the
email would set $emptyValue but $noImage would still be false. This we
would set the empty string as email.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-12-11 11:58:02 +01:00
Lukas Reschke de8fefeb18
Merge pull request #7395 from nextcloud/remove-unused
Remove unused variables
2017-12-06 13:09:01 +01:00
Morris Jobke a73f86912f
Remove unused variables
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-12-05 09:58:15 +01:00
Roeland Jago Douma d2fe30d464
Fix tests
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-12-04 15:23:20 +01:00
Roeland Jago Douma c8a29ec942
A failed storage is a not available storage
We have to double check. Since getting the info of the root returns a
generic entry. But actually the stroage is not available. Else we get
very weird sync and web behavior.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-12-04 15:23:11 +01:00
Morris Jobke f22e02cd79
Refactor method to check if update is needed
There was only one call, that actually needed the parameter to be set to true. So this change moved the print of the page to that location and replaces all other occurences with a direct call to the underlying OCP API.

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-11-30 16:04:07 +01:00
Daniel Calviño Sánchez 2a7b1bae10 Reject X-OC-MTime header if given as a string with hexadecimal notation
In PHP 7.X hexadecimal notation support was removed from "is_numeric",
so "sanitizeMtime" directly rejected those values; in PHP 5.X, on the
other hand, "sanitizeMtime" returned 0 when a string with hexadecimal
notation was given (as it was the behaviour of "intval"). To provide a
consistent behaviour between PHP versions, and given that it does not
make much sense to send X-OC-MTime in hexadecimal notation, now
X-OC-MTime is always rejected if given as a string with hexadecimal
notation.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-11-28 01:08:52 +01:00
Thomas Müller ffe034abb0 Don't use runInSeparateProcess
Directly calling "header" in the PHPUnit process causes the "Cannot
modify header information - headers already sent by" error to be thrown.
Instead of running the test in a separate process, which is slower, this
commit wraps the call to "header" in a method that can be mocked in the
tests.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-11-27 20:39:45 +01:00
Daniel Calviño Sánchez 2af3d8a9b2 Make possible to provide a specific HTTP request object to File
This will be used in a following commit to test how the X-OC-MTime
header is handled.

This commit is based on the "make File::put() more testable" commit
(included in 018d45cad97e0) from ownCloud by Artur Neumann.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-11-27 20:39:41 +01:00
Daniel Calviño Sánchez 01e346b2ae Ensure that X-OC-MTime header is an integer also with chunked uploads
This commit extends the changes introduced in pull request #3793 also to
chunked uploads.

The "sanitizeMTime" method name is the same used in the equivalent pull
request to this one from ownCloud (28066).

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-11-27 20:37:51 +01:00
Morris Jobke 3f7267e0e9
Merge pull request #6901 from nextcloud/bugfix/4014/catch_parsing_error
catch errors when parsing calendar data for calendar query requests
2017-11-27 17:50:37 +01:00
Morris Jobke 573551253e
Merge pull request #7308 from nextcloud/do-not-log-InvalidSyncToken
Log InvalidSyncToken on DAV in debug level
2017-11-27 17:27:41 +01:00
Georg Ehrke ea117bac31
catch errors when parsing calendar data for calendar query requests
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2017-11-27 17:14:18 +01:00
Morris Jobke 88905c6293
Log InvalidSyncToken on DAV in debug level
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-11-27 16:37:11 +01:00
Morris Jobke 26a5fff423
Log NotImplementedException on DAV in debug level
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-11-27 16:17:01 +01:00
Björn Schießle f347e2e4a6
Merge pull request #7047 from nextcloud/add-support-for-files-with-no-permissions
Add support for files with no permissions
2017-11-20 16:15:52 +01:00
Morris Jobke eeb0cfdaf5
Merge pull request #7152 from nextcloud/bugfix/noid/adjust_calendarobject_size_after_applying_class
remove cached size from shared calendar objects
2017-11-17 08:28:34 +01:00
Morris Jobke 20868e17e8
Merge pull request #7193 from nextcloud/bugfix/noid/invitation-email-refinements
refine invitation email
2017-11-16 21:11:44 +01:00
Morris Jobke f32fbbca2e
Merge pull request #6840 from nextcloud/feature/5282/calendar_api
Calendar API for apps
2017-11-16 21:10:35 +01:00
Georg Ehrke b073b13d9f
refine invitation email
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2017-11-16 13:54:19 +01:00
Georg Ehrke 072652b2af
show name of organizer in from name of invitation email
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2017-11-14 21:23:27 +01:00
Georg Ehrke 19b77039d7
remove cached size from shared calendar objects
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2017-11-12 17:30:22 +01:00
Georg Ehrke 2b51d84b98
generate birthday calendars in a background job after admin enabled them
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2017-11-11 16:17:18 +01:00
Georg Ehrke a87d986041
create a user's birthday calendar right after they requested it
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2017-11-11 11:28:34 +01:00
Georg Ehrke ef6f41a16c
respect admin / user choice about birthday calendars in corresponding hooks
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2017-11-11 02:15:57 +01:00
Georg Ehrke d59b3392ab
disallow users to create calendars with reserved names
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2017-11-11 02:15:56 +01:00
Georg Ehrke 1c106a66b1
adapt occ 'dav:sync-birthday-calendar command
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2017-11-11 02:15:56 +01:00
Georg Ehrke 5068d56fb0
add CalDAV interface that allows users to re-enable their birthday calendar
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2017-11-11 02:15:50 +01:00