Commit Graph

305 Commits

Author SHA1 Message Date
Roeland Jago Douma 3720add736
Add a wrapper to determine if a file is EOF
The stream is already closed at this point. Which means feof will always
return false. We have to determine if the stream is EOF in the
preCloseCallback. And pass this info along. Then the logic works as
expected.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-02-15 08:41:39 +01:00
Jan-Philipp Litza 9348e3d2f6 dav: Fix handling of chunked WebDAV upload
When $data is null (which can happen when $request->getBodyAsStream() returns
null), the Exceptions says "copied bytes: 0, expected filesize: 0", which
sounds more like success...
2019-01-28 17:14:22 +01:00
Bastien Durel 4535cc50ad check anonymous OPTIONS requests file in root (not in subdir)
Signed-off-by: Bastien Durel <bastien@durel.org>
2019-01-04 18:42:42 +00:00
Roeland Jago Douma d41d3d8bf3
If the parent is not cached we should request the file
Else we ignore all incomming shares. Which basically does 💥

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-12-06 21:59:28 +01:00
Roeland Jago Douma 28474612e4
Only run the AnonymousOptionsPlugion on Anonymous requests
Fixes #12744

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-12-04 11:55:04 +01:00
Robin Appelman ffd7778040
extend anonymous options to work on every dav url
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-11-23 15:36:40 +01:00
Robin Appelman 35251928d5
forward object not found error in switch as dav 404
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-11-19 11:34:38 +01:00
Roeland Jago Douma 665a6d2055
Allow writing an empty file with the new writeStream
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-11-05 17:00:04 +01:00
Roeland Jago Douma 5d3051ff62
Do not log FileLock as exception
There is no reason to log FileLock errors as exceptions to the log file.
Locks happen for very legit reasons and it is actually a sign of the
code doing its job.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-11-04 13:55:49 +01:00
Roeland Jago Douma 7ba8700ba1
Merge pull request #12148 from nextcloud/suppress-wrong-audit-log-message
suppress wrong audit log messages about failed login attempts
2018-11-02 13:52:50 +01:00
Robin Appelman 9b3cc72f7c
fix writeStream for jail wrapper
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-10-31 21:10:57 +01:00
Robin Appelman 93de63777e
extend storage api to allow directly writing a stream to storage
this removes the need for temporary storages with some external storage backends.
The new method is added to a separate interface to maintain compatibility with
storage backends implementing the storage interface directly (without inheriting common)

Currently the interface is implemented for objectstorage based storages and local storage
and used by webdav uploads

Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-10-31 21:10:44 +01:00
Bjoern Schiessle 0efd29f41f
first check if the user is already logged in and then try to authenticate via apache, this way we suppress wrong audit log messages about failed login attempts
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2018-10-30 22:14:52 +01:00
Georg Ehrke 218253db76
allow user principal search for dav displayname property
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2018-10-22 15:48:18 +02:00
Roeland Jago Douma b51e503aea
Do not emit preHooks twice on non-part-storage
The old code would emit the hooks twice. Thus having the version written
twice. Which is not very performant as it is first read twice as well.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-10-19 12:19:53 +02:00
Georg Ehrke f5dc7b7f07
move disableFreeBusy check from User principal backend to Scheduling Outbox collection. This allows to keep local delivery of scheduling messages while prohibiting FreeBusy requests
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2018-10-16 20:27:33 +02:00
Robin Appelman 3806ecb242
use the same ignored properties list for both CustomerPropertiesBackends
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-08-28 18:27:53 +02:00
Daniel Calviño Sánchez 523fdb612c Add room shares to DAV and recent files "share-types" property
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-08-08 14:25:43 +02:00
Roeland Jago Douma a2df728fb8
Merge pull request #9581 from nextcloud/dav-acl-no-files
disable dav acl plugin for files resource
2018-07-20 12:16:45 +02:00
Robin Appelman d4a51447d1
Fix getting ocs share permissions if a storage is not available
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-07-18 14:42:39 +02:00
Robin Appelman 8399d6070e
always log exceptions on dav write
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-07-09 14:25:54 +02:00
Morris Jobke 7025f16017
Merge pull request #9345 from nextcloud/federation20
Federation 2.0
2018-07-03 23:13:47 +02:00
Robin Appelman 27089422e1
Improved logging of smb connection errors
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-07-03 14:56:37 +02:00
Bjoern Schiessle cdf8abb060
look for correct OCM permissions
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2018-07-02 11:29:31 +02:00
Robin Appelman b21bec5c73
Fix search related results in OPTIONS requests
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-06-28 14:54:46 +02:00
Robin Appelman f017f431f6
properly lock the target file on dav upload when not using part files
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-06-11 15:26:41 +02:00
Robin Appelman ea4f4b8417
Add sabre plugin to allow anonymous options requests to the dav root
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-06-01 17:20:42 +02:00
Morris Jobke c3fc789b2c
Merge pull request #9550 from nextcloud/bugfix/noid/override_freebusy_sharing_rules
allow admins to disable FreeBusy without modifying ShareAPI capabilities
2018-06-01 12:00:56 +02:00
Roeland Jago Douma 240006bdf5
When sharing calendars and addressbooks the principal has to be verified to be valid
d3fb8fcdd3

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-05-27 20:51:36 +02:00
Robin Appelman 491f01efba
disable dav acl plugin for files resource
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-05-24 14:00:14 +02:00
Georg Ehrke 367ca563b4
allow admins to override FreeBusy capabilities without modifying ShareAPI capabilities
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2018-05-22 19:16:26 +02:00
Morris Jobke 7cb467b476
Merge pull request #9355 from nextcloud/dav-upload-lock
only allow a single concurrent dav write to a file
2018-05-03 16:28:39 +02:00
Morris Jobke a56ec1062a
Merge pull request #9346 from nextcloud/techdep/noid/needsPartFile_to_storage
Use an actual function of the storage to determine needsPartFile
2018-05-02 16:03:31 +02:00
Roeland Jago Douma 953691abb2
External mount does not get DELETE and UPDATE if readonly
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-05-01 15:18:56 +02:00
Roeland Jago Douma 055a003661
Use an actual function of the storage to determine needsPartFile
We have a function for it so better to override that. Also because other
codes that might check this should get the right value.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-05-01 15:02:36 +02:00
Robin Appelman dd1b0799a4
only allow a single concurrent dav write to a file
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-04-26 11:16:51 +02:00
Arthur Schiwon 38a90130ce
move log constants to ILogger
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2018-04-26 10:45:52 +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
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
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
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 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
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 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
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
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 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
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
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
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
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 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 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
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 0eebff152a
Update license headers
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-11-06 16:56:19 +01:00
Daniel Calviño Sánchez 555d582f35 Return whether the file is readable or not in the DAV permissions
Until now it was safe to assume that every file was readable by its
owner, so there was no need to return whether the file was readable or
not. However, with the introduction of end to end encryption that is no
longer the case, and it is now necessary to explicitly provide that
information.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-11-02 19:37:00 +01:00
Joas Schilling 7c53f921a9
Use ::class to avoid errors
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-10-13 12:36:20 +02:00
Joas Schilling fd5465d509
Fix class name, regression from 44cf67accd
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-10-13 12:35:52 +02:00
Roeland Jago Douma ab63c89ab3
Fix quota calculation on new dav upload endpoint
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-09-13 19:28:38 +02:00
Morris Jobke 1724fed8c5 Merge pull request #5415 from nextcloud/search-cache-node
cache nodes from search results
2017-09-06 10:16:01 +02:00
Bjoern Schiessle e83e1c7c23
add propfind to detect encryption status
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-08-28 14:02:25 +02:00
Robin Appelman 37e8b698f7 cache nodes from search results
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-08-26 10:18:19 +02:00
Morris Jobke fc12bd0be6 Do not log WebDAV maintenance mode exception
Log the maintenance mode exception only in debug level. Fixes #6124

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-08-15 15:03:39 +02:00
Joas Schilling 231bb47ae6 Fix file size comparison
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-08-01 13:56:12 +02:00
Joas Schilling 89238164e1 Fix comparisons in the dav app
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-08-01 13:55:07 +02:00
Roeland Jago Douma 61a6adff14
Fix sabre test
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-08-01 08:20:17 +02:00
Roeland Jago Douma fc369dd86e
[DAV] Fix URLUtil::splitPath usage
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-08-01 08:20:17 +02:00
Lukas Reschke e1f52fc901
Stricter phan config fixes
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-08-01 08:20:13 +02:00
Joas Schilling b27819785e
Don't log passwords on dav exceptions
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-06-29 17:20:10 +02:00
Morris Jobke eb9aedf44b Enhance the logging if the part file can not be renamed
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-06-22 17:50:14 -05:00
Joas Schilling 698a7cb7f0 Merge pull request #5124 from nextcloud/allow-dirlisting-with-unreadable-items
Allow dir-listing also when one child is blocked by access control
2017-06-16 10:47:08 +02:00
Lukas Reschke 633396001f
Prevent sending second WWW-Authenticate header
Overrides \Sabre\DAV\Auth\Backend\AbstractBearer::challenge to prevent sending a second WWW-Authenticate header which is standard-compliant but most DAV clients simply fail hard.

Fixes https://github.com/nextcloud/server/issues/5088

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-06-13 13:54:52 +02:00
Joas Schilling d0c614a322
Allow dir-listing also when one child is blocked by access control
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-05-26 15:54:39 +02:00
Lukas Reschke 639ba526d0
Adjust realm from SabreDAV to Nextcloud
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-05-18 21:38:55 +02:00
Lukas Reschke f93db724d7
Make legacy DAV backend use the BearerAuth backend as well
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-05-18 21:19:39 +02:00
Lukas Reschke df3909a7c3
Use Bearer backend for SabreDAV
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-05-18 20:49:10 +02:00
Lukas Reschke 5f71805c35
Add basic implementation for OAuth 2.0 Authorization Code Flow
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-05-18 20:49:03 +02:00
Roeland Jago Douma cef2110263
Revert "fix objectstore rename"
This reverts commit 5334a3dc33.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-05-15 13:59:18 +02:00
Robin Appelman 9d8936c5bf
fix error when browsing the dav root
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-05-08 14:34:36 +02:00
Morris Jobke 49e958fa12 Enforce type hints in dav app
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-05-04 19:32:22 -03:00
Bjoern Schiessle c053a275d7
check password for mail shares as well
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-05-04 11:20:20 +02:00
Robin Appelman ab9a36e872
allow apps to set custom mount types
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-04-28 09:38:21 +02:00
Roeland Jago Douma 9da697b11a Merge pull request #4524 from nextcloud/downstream-27508
Keep file id on move
2017-04-28 09:37:40 +02:00
Vincent Petry 211a76eff3
Add comment 2017-04-27 09:29:20 +02:00
Vincent Petry 614bd5c294
Properly handle missing READ permission 2017-04-27 09:29:02 +02:00
Roeland Jago Douma edd9444209 Merge pull request #4503 from nextcloud/downstream-27281
fix objectstore rename
2017-04-26 17:17:24 +02:00
Vincent Petry 7b6e4d0dd2
Fix FutureFile MOVE to keep destination node
Sabre usually deletes the target node on MOVE before proceeding with the
actual move operation. This fix prevents this to happen in case the
source node is a FutureFile.
2017-04-26 15:46:38 +02:00
Vincent Petry ec8d7010e5
Accept moving FutureFile into a Directory 2017-04-26 15:43:01 +02:00
Vincent Petry 82b967d3f9
Remove ObjectTree::move and let is use the IMoveTarget approach instead
This removes the duplicated code
2017-04-26 15:35:08 +02:00
Vincent Petry 0a9f7730d0
Ported ObjectTree::move to IMoveTarget in new DAV endpoint 2017-04-26 15:33:20 +02:00
Joas Schilling 5334a3dc33
fix objectstore rename
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-04-25 17:52:05 +02:00
Vincent Petry 1c40a05204
Restrict proppatch to the proper nodes
Need to fetch the node earlier because cancelling from within the
handler is not possible. Well, it is but it prevents other node types
using the same property names to run because the failure marks the
property with status 403.
2017-04-25 17:25:03 +02:00
Morris Jobke c54a59d51e
Remove unused use statements
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-04-22 19:23:31 -05:00
Joas Schilling a3c3124762
Allow file upload when storage is unlimited
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-04-12 12:27:47 +02:00
Morris Jobke 1729e4471f
Update comments to Nextcloud
* based on PR by @Ardinis
* see #4311

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-04-11 23:16:27 -05:00
Robin Appelman 429f8ae011
Allow getting the unread comment count for an entire folder at once
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-03-30 12:48:24 +02:00
Thomas Müller 23aab05bda
Adding dav resource for avatars
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-29 00:04:29 +02:00
Christoph Wickert 07b35b7bae DummyGetResponsePlugin: ownCloud -> Nexcloud
Signed-off-by: Christoph Wickert <cwickert@suse.de>
2017-03-18 12:59:25 +01:00
Joas Schilling 3a53784f80
Don't set the HTTP status twice
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-03-16 13:35:41 +01:00
Maxence Lange 1b9ed81cb6
switch reshares to true
Signed-off-by: Maxence Lange <maxence@nextcloud.com>
2017-03-14 19:27:07 +01:00
Roeland Jago Douma 6565533d3b Merge pull request #3600 from coletivoEITA/master
added method needsPartFile() in Storage
2017-03-14 15:14:59 +01:00
Vinicius Cubas Brand 13e50cbcd7 added method needsPartFile() in Storage
Signed-off-by: Vinicius Cubas Brand <viniciuscb@gmail.com>
2017-03-14 10:06:50 -03:00
Stefan Schneider f6ef024159 Correct incorrectly typed X-OC-Mtime header
Signed-off-by: Stefan Schneider <stefan.schneider@squareweave.com.au>
2017-03-10 18:16:27 +11:00
Roeland Jago Douma c16cb1978b Merge pull request #3621 from kuimovvg/master
don't setted status when file is lock
2017-03-09 21:28:32 +01:00
Joas Schilling d228acabf6
Set a status code when setting a body
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-03-07 17:31:32 +01:00
Robin Appelman 8f289286a7
handle non existing owners when handling dav requests
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-03-02 15:26:00 +01:00
Roeland Jago Douma c75b5a5614
Properly handle groups with a /
If a group contains a slash the principal URI becomes
principals/groups/foo/bar. Now the URI is plit on '/' so this creates
issues ;)

Fixes #2957

* Add tests for groups with /

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-02-27 17:07:18 +01:00
vkuimov db6eb85ad2 don't setted status when file is lock 2017-02-25 16:12:53 +00:00
Morris Jobke 9533f4e5ed
Clean up single user mode
Single user mode basically disables WebDAV, OCS and cron execution. Since
we heavily rely on WebDAV and OCS also in the web UI it's basically useless.
An admin only sees a broken interface and can't even change any settings nor
sees any files. Also sharing is not possible.

As this is at least the case since Nextcloud 9 and we haven't received any
reports for this it seems that this feature is not used at all so I removed it.

The encryption commands now rely on the well tested maintenance mode.

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-02-22 23:02:31 -06:00
Morris Jobke abf0606054 Merge pull request #3430 from nextcloud/fix-ios-client-detection
Fix detection of the new iOS app
2017-02-10 14:24:45 -06:00
Lukas Reschke 929648ce2c
Add integration tests for legacy DAV endpoints
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-02-10 16:18:04 +01:00
Joas Schilling 33fb86f68b
Fix detection of the new iOS app
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-02-10 10:10:21 +01:00
Roeland Jago Douma fdf10e242d Merge pull request #2850 from nextcloud/downstream-26603
Fixed size issues on main detail view and disappearing of share recipients (#26603)
2017-01-02 21:19:43 +01:00
Roeland Jago Douma db3c918adb
Fix legacy caldav endpoints
* CaldavBackend is now endpoint aware (use old style principals on old
endpoint and new onces on new).

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-01-02 15:02:18 +01:00
Michael Jobst 969c19b2e9
Fixed size issues on main detail view and disappearing of share recipients (#26603)
* fixed size issues on main detail view and disappearing of share recipients

* Changes due to code comments

* Moved reloadProperties() to FileInfoModel

* Solved Scrutinizer issues

* Bugfix: undefined value used on error

* check if options are set for FileInfoModel.initialize()

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2016-12-23 16:56:55 +01:00
Sergio Bertolín 928f113361
Return explicit values instead of boolean from sabre (#26654)
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-12-22 10:10:29 +01:00
Thomas Müller 04cf77120c
Fix error when $view is null when being passed into some plugins
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-12-19 15:53:13 +01:00
Lukas Reschke 8a00638425
Don't set Content-Disposition header if one already exists
If a Content-Disposition header is already set by another plugin we don't need to set another one as this breaks clients.

Fixes https://github.com/nextcloud/server/issues/1992

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-12-14 17:35:27 +01:00
Joas Schilling 1aa874e4e3
Also get infos about email shares
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-11-30 09:21:58 +01:00
Robin Appelman b56f2c9ed0
basic lockdown logic
Signed-off-by: Robin Appelman <icewind@owncloud.com>
2016-11-16 15:24:23 +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 d1291f7aee
remove unneeded getDirectoryContent when getting share types for a folder
Signed-off-by: Robin Appelman <robin@icewind.nl>
2016-11-09 17:04:44 +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
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
Roeland Jago Douma fc4d0a86ef
Fix merging backend results
* Merge share types correctly
* Filter share types
* Order share types

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-11-01 12:16:05 +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
Thomas Müller 1c39b30d50
Require to use at least desktop client 2.0 by default 2016-10-25 18:01:25 +02:00
Morris Jobke c0adc3c2cf Merge pull request #1883 from nextcloud/downstream-26145
Storage 503 message improvements
2016-10-25 13:19:46 +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
Vincent Petry 44cf67accd
Storage 503 message improvements
"Storage not available" is now "Storage temporarily not available".
Exceptions are now logged in DEBUG level, not FATAL.
2016-10-24 15:43:15 +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