Commit Graph

318 Commits

Author SHA1 Message Date
Christoph Wurst b80ebc9674
Use the short array syntax, everywhere
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-03-26 16:34:56 +01:00
Christoph Wurst 74936c49ea
Remove unused imports
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-03-25 22:08:08 +01:00
Christoph Wurst 23eb0462e5
Use lowercase true, false and null constants
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-03-25 21:53:04 +01:00
Julius Härtl 0fa897fcfc Limit enumeration in principal search
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-03-20 10:43:56 +01:00
Robin Appelman ce398cf7bd
merge the two almost identical custom property backends
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-03-18 13:41:04 +01:00
Robin Appelman fab22ac14c
pass the existing locks info when making locked exception with absolute paths
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-03-02 19:29:44 +01:00
Julius Härtl 8fba05db96
Check for empty authorization headers for office requests and allow anonymous option on the whole tree
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-02-04 15:35:23 +01:00
Christoph Wurst 1b46621cd3
Update license headers for 18
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-12-20 09:23:25 +01:00
Roeland Jago Douma 8d7baaff74
Merge pull request #18061 from nextcloud/bugfix/noid/dav-plugin-old
Load apps dav plugins on the old webdav route
2019-12-16 13:38:38 +01:00
Roeland Jago Douma 97deaf85b9
Merge pull request #17935 from nextcloud/feature/noid/public-auth-for-circles
adding share type circles
2019-12-11 12:37:54 +01:00
Christoph Wurst 5bf3d1bb38
Update license headers
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-12-05 15:38:45 +01:00
Maxence Lange 0f32f8119e using IShare::
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2019-12-05 10:33:48 -01:00
Maxence Lange c1558af16d adding share type circles
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2019-12-05 10:33:48 -01:00
Julius Härtl 1593322397
Load apps dav plugins on the old webdav route
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-12-04 19:04:29 +01:00
Georg Ehrke c3748cfee3
respect shareapi_allow_share_dialog_user_enumeration in Principal backend for Sabre/DAV
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-12-03 09:44:07 +01:00
Roeland Jago Douma 68748d4f85
Some php-cs fixes
* Order the imports
* No leading slash on imports
* Empty line before namespace
* One line per import
* Empty after imports
* Emmpty line at bottom of file

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-11-22 20:52:10 +01:00
Roeland Jago Douma a184e350d7
Merge remote-tracking branch 'origin/master' into filecache-extension 2019-11-18 11:06:17 +01:00
Robin Appelman 2e97e8bf84
re-acquired expired shared locks on large file uploads
during large file uploads, the shared lock that we get at the begining can expire
leading to locked errors later on, instead of erroring, try to re-get the lock

Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-11-13 14:54:22 +01:00
Robin Appelman 2165f10aaf
hookup creation and upload time into dav
Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-11-13 12:39:39 +01:00
Roeland Jago Douma f452e23a7d
Merge pull request #16666 from nextcloud/feature/calendar/delegation
Feature/calendar/delegation
2019-08-15 19:30:45 +02:00
Georg Ehrke 63d584afb5
use principaluri instead of userid, allowing to add delegates for rooms and things
Signed-off-by: Georg Ehrke <developer@georgehrke.com>

!fixup add owner_id and proxy_id as db index, since we use it for querying

Signed-off-by: Georg Ehrke <developer@georgehrke.com>

!fixup don't add ACL for each individual proxy, just use calendar-proxy groups

Signed-off-by: Georg Ehrke <developer@georgehrke.com>

!fixup allow delegation of resources / rooms

Signed-off-by: Georg Ehrke <developer@georgehrke.com>

!fixup fix addIndex call in migration

Signed-off-by: Georg Ehrke <developer@georgehrke.com>

!fixup fix remaining constructor calls of Principal

Signed-off-by: Georg Ehrke <developer@georgehrke.com>

!fixup minor fixes and unit tests

Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-08-15 15:41:28 +02:00
Roeland Jago Douma 3d86537dc9
Early first stage implementation of the groupset
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-08-15 15:41:27 +02:00
Roeland Jago Douma 01a4644cad
Use the proxymapper to obtain valid proxy data
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-08-15 15:41:27 +02:00
Julius Härtl fea04ef2df
Return proper responses when office is requesting OPTIONS/HEAD with empty Bearer header
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-08-14 10:15:45 +02:00
Roeland Jago Douma 34868f0964
Merge pull request #14429 from tobiasKaminsky/shareesOnDav
Show sharees via propfind
2019-08-13 20:22:47 +02:00
tobiasKaminsky eb564e82de
get all shares, not only first one per type
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2019-08-08 11:01:23 +02:00
tobiasKaminsky 82ae6fb6d3
use namespace everywhere
no camelCase

Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2019-08-06 10:32:46 +02:00
Roeland Jago Douma 85d5400314
Fix tests
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-08-01 10:02:25 +02:00
tobiasKaminsky 42f00e80c7
add display name to sharee list
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2019-07-31 13:42:25 +02:00
Roeland Jago Douma 21477bca77
Unify share fetching
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-07-30 22:59:22 +02:00
Roeland Jago Douma 2a45763440
Use proper ShareeList
This makes the XML parsing more sane ;)

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-07-30 22:51:08 +02:00
Roeland Jago Douma 06a9ade582
Use proper caching
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-07-30 22:35:44 +02:00
Morris Jobke 13fd89575d
More precise error message when expected filesize does not match - could be on reading or writing side
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-07-29 15:03:01 +02:00
Roeland Jago Douma 22f9a95814
Do not log locked files
This is the code doing its job. There is no need to spam the log file
with this.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-07-26 14:29:13 +02:00
tobiasKaminsky efa0733b04
wip
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2019-07-23 10:33:56 +02:00
tobiasKaminsky b81fb182b3
wip
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2019-07-22 14:47:17 +02:00
tobiasKaminsky e3991fbde0
Show sharees via propfind
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2019-07-22 13:59:43 +02:00
Robin Appelman 50dbc9a536
dont use part files for dav writes when the target folder doesn't have create permissions
Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-07-03 16:36:27 +02:00
Robin Appelman 08865046fb
log inner exception during dav write
Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-06-06 16:02:42 +02:00
Roeland Jago Douma 49361c40e2
Typehint builtin types in constructor to not initiate autoloading
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-06-04 15:13:33 +02:00
Roeland Jago Douma c16d116fa6
Prefetching blows up if there are a lot of files.
I saw instances where people had a lot of files (each with custom
properties) and all this prefetching blew up and started to consume an
insane amount of RAM resulting in the process getting killed.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-04-18 21:23:59 +02:00
Georg Ehrke d74e49b3e6
implement principal property search for calendar user address set property
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-03-21 16:32:41 +01:00
Robin Appelman dafbb42189
throw a proper error if rename fails in dav
Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-03-14 15:40:21 +01:00
Morris Jobke de8e02628e
Improve code
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-13 23:01:47 +01:00
Morris Jobke 389c2095a6
Use dependency injection for app manager
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-13 00:42:39 +01:00
Vinicius Cubas Brand 9bb13fb05f
Created infrastructure to show circles' shared files
There is a proposal to allow users to filter files shared to circles. This commit is needed to provide the infrastucture for it.

Issue: https://github.com/nextcloud/circles/issues/137

Changes to comply to https://github.com/coletivoEITA/circles/pull/2

Polishing: get files shared to circles in caldav

Signed-off-by: Vinicius Cubas Brand <viniciuscb@gmail.com>
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-13 00:31:38 +01:00
Morris Jobke f0c85a0f5f
Merge pull request #6512 from coletivoEITA/add_circles_sharing_to_caldav
Change CALDAV to allow calendars be shared with circles.
2019-03-13 00:06:46 +01:00
Morris Jobke dd2496b275
Use proper dependency injection for app manager
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-05 16:00:47 +01:00
Morris Jobke 8322cec951
Suppress phan exceptions because they are catched by a class_exists
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-03-05 15:46:56 +01:00
Roeland Jago Douma eb175584f6
Merge pull request #14514 from nextcloud/fix/no_debug_output
Do not just write foobar
2019-03-04 21:26:20 +01:00
Morris Jobke 79ec7bbcf6
Merge pull request #13871 from PLUTEX/master
dav: Fix handling of chunked WebDAV upload
2019-03-04 17:43:31 +01:00
Roeland Jago Douma c8d1b29407
Do not just write foobar
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-03-04 17:14:32 +01:00
Christoph Wurst aee348c5f5
Update apps/dav/lib/Connector/Sabre/Node.php
Co-Authored-By: tobiasKaminsky <tobias@nextcloud.com>
2019-03-04 08:24:14 +01:00
Georg Ehrke 12d3f246aa
use class_exists on correct class to please phan
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-03-04 00:36:52 +01:00
Georg Ehrke dc26d94014
properly catch exceptions of detailsCircle
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-03-03 23:07:07 +01:00
Vinicius Cubas Brand 58c92e6047 Get user's circles without touching session
This works with nextcloud/circles#260

Signed-off-by: Vinicius Cubas Brand <viniciuscb@gmail.com>
2019-03-01 17:04:43 -03:00
Georg Ehrke 34601f8623
allow sharing addressbooks with circles
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2019-03-01 13:02:30 +01:00
Vinicius Cubas Brand 5e37b52241
Share calendar to circle
* Allow user to share calendar with a circle
* Allow user to see calendars shared with his/her circles

Signed-off-by: Vinicius Cubas Brand <viniciuscb@gmail.com>
2019-03-01 10:40:54 +01:00
tobiasKaminsky 78e6bf0daf
Add note to dav endpoint
Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
2019-02-27 07:11:40 +01:00
Joas Schilling 2cc4118629
Merge pull request #14066 from nextcloud/feature/noid/casted-system-values
Get typed system values
2019-02-22 11:54:20 +01:00
Joas Schilling 0c77cd21f9
Make sure maintenance mode is always casted to bool
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-02-22 08:25:41 +01:00
Roeland Jago Douma 719b70108d
Hanlde writestream not closing source
Fixes #14298

If a storage doesn'tclose the write stream then $isEOF is not yet set.
So we have to fallback.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-02-20 09:49:06 +01:00
Roeland Jago Douma fc967a5ac2
Make sure that we have a stream
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-02-18 14:25:57 +01:00
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