Commit graph

534 commits

Author SHA1 Message Date
Anna Larch
dce69154ba enh(sharing): enable unsharing for sharees for DAV shares (addressbooks and calendars)
Signed-off-by: Anna Larch <anna@nextcloud.com>
2024-02-15 18:01:12 +01:00
MichaIng
91127edcc8 fix(dav): fallback realm for HTTP authentication
By default, the name of the Nextcloud instance is an empty string, until changed by the admin. This leads to an empty realm sent with the WWW-Authenticate header, while the realm is mandatory for Basic HTTP authentication. Some clients have issues with an empty realm, e.g. Thunderbird cannot store passwords in this case.

This commit applies "Nextcloud" as fallback for the realm, in case the name of the Nextcloud instance is not set.

Solves: https://help.nextcloud.com/t/thunderbird-dont-save-caldav-password-because-of-missing-httprealm-or-formsubmiturl/93233

Signed-off-by: MichaIng <micha@dietpi.com>
2024-02-14 16:49:39 +01:00
John Molakvoæ
6cf4fe19a0
fix(files): add mount root property and adjust delete wording
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2024-02-06 17:43:35 +01:00
John Molakvoæ
9703b1da41
fix(quota): automatically detect chunk quota with OC-Total-Length header
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2024-01-10 13:26:25 +01:00
John Molakvoæ
82b5a19a35
fix: public dav and files_sharing testing fixes
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2024-01-09 10:56:14 +01:00
John Molakvoæ
7b6a650b6e
feat: public dav endpoint v2
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2024-01-09 10:56:06 +01:00
Louis Chemineau
6948c074e9 Use FileInfo's metadata for hidden prop
Signed-off-by: Louis Chemineau <louis@chmn.me>
2023-12-19 10:23:28 +01:00
John Molakvoæ
f89ef392b3
fix(files): better upload error handling
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2023-12-05 12:10:39 +01:00
Joas Schilling
aa5f037af7
chore: apply changes from Nextcloud coding standards 1.1.1
Signed-off-by: Joas Schilling <coding@schilljs.com>
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2023-11-23 10:36:13 +01:00
Maxence Lange
847c687a06 metadata must be set as editable for PROPPATCH
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2023-11-14 14:38:53 +01:00
Louis Chemineau
1c84139fa6
Hide .mov for live photos
Signed-off-by: Louis Chemineau <louis@chmn.me>
2023-11-09 22:39:52 +01:00
Louis Chemineau
d3a313f192
Support getting and setting metadata in DAV requests
Signed-off-by: Louis Chemineau <louis@chmn.me>
2023-11-08 16:23:53 +01:00
Maxence Lange
e62e9e3dbf IFilesMetadata
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2023-11-07 00:21:38 -01:00
John Molakvoæ
63da44bb0e
fix(dav): report status
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2023-09-18 11:29:15 +02:00
Christoph Wurst
9627176a23
Merge pull request #38610 from fsamapoor/replace_strpos_calls_in_dav_app
Refactors "strpos" calls in /apps/dav
2023-09-17 10:14:20 +02:00
Robin Appelman
8966f7fbf2
reuse l10n and request in dav folder listing
instead of having to query those once for every node

Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-09-04 14:06:54 +02:00
Joas Schilling
25309bcb45
techdebt(DI): Use public IThrottler interface which exists since Nextcloud 25
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-08-28 15:50:45 +02:00
Robin Appelman
b6c3507aa0 only determine quota_include_external_storage once for quota wrapper
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-08-18 14:25:28 +02:00
Robin Appelman
f0b70e539b only get logger when needed in sabre/directory
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-08-18 11:14:52 +02:00
Robin Appelman
c7035eec05
Merge pull request #39903 from nextcloud/no-dav-acl-files
don't bother checking dav acl's in files
2023-08-18 09:52:42 +02:00
Robin Appelman
6f6e24431a
Merge pull request #39860 from nextcloud/metadata-dont-preload-subfolders
don't preload metadata for the sub-childen
2023-08-16 17:14:07 +02:00
Robin Appelman
1a9dcc5725 don't bother checking dav acl's in files
any permissions for files is handled in the filesystem layer anyway

Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-08-16 12:13:04 +02:00
Anna Larch
6bd78917d3 fix(CardDAV): set owner-principal, displayname properties for SAB
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-08-16 09:11:01 +02:00
Robin Appelman
76acc3ada7 only triger metadata preload logic when at least one metadata is requested
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-08-14 13:01:14 +02:00
Robin Appelman
fce1a164a0 don't preload metadata for the sub-childen
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-08-14 12:58:46 +02:00
Robin Appelman
65c2d13f4c
preload all requested metadata
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-08-07 13:40:01 +02:00
tobiasKaminsky
b8b4a0e6ce expose gps data via webdav 2023-08-04 10:32:08 +02:00
Joas Schilling
dac31ad101
fix!: Remove legacy event dispatching Symfony's GenericEvent from 2FA Manager
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-07-27 09:57:52 +02:00
Joas Schilling
72667a667d
feat(dav): Emit a typed event to deprecate OCA\DAV\Connector\Sabre::addPlugin
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-07-17 16:06:15 +02:00
Joas Schilling
308fc8d8ed
fix(dav): Use IRequest constant to match version
The pattern matches since a 10 year old client version

Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-07-11 07:35:50 +02:00
Arthur Schiwon
5596af2b96
docs(dav): remove outdated comment
The method was added actually to PHP API in 28 and the mentioned check
is not in place anymore.

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-07-06 21:57:08 +02:00
Julius Härtl
eddb64f8c3
Merge pull request #37969 from nextcloud/poc/noid/systemtags-perf-tag-endpoint 2023-06-28 07:53:35 +02:00
Arthur Schiwon
d9487103c9
fix: cannot apply limit+offset on multi-tag-search
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-06-27 23:06:39 +02:00
Faraz Samapoor
bbfe2fb821
Merge branch 'master' into replace_strpos_calls_in_dav_app
Signed-off-by: Faraz Samapoor <f.samapoor@gmail.com>
2023-06-27 19:07:09 +03:30
Arthur Schiwon
00b396a674
refactor: save unnecessary method_exists
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-06-21 20:35:41 +02:00
Arthur Schiwon
a0b683477f
fix: use array_unitersect against objects
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-06-21 20:28:02 +02:00
Arthur Schiwon
27f6f86d75
fix: obey offset and limit for results from favs and circles
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-06-21 20:28:01 +02:00
Arthur Schiwon
a0f9556f7c
fix: cominbation of small fixes
- possible null return
- parameter name mismatch in implementation
- incomplete unit test

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-06-21 20:28:01 +02:00
Arthur Schiwon
49db546f78
fix: include invisible tags for admins
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-06-21 20:28:01 +02:00
Arthur Schiwon
29f59a54b4
fix: search with more than one search tags
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-06-21 20:28:00 +02:00
Arthur Schiwon
30028bb9ac
fix: no search when LazyFolder was provided
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-06-21 18:19:09 +02:00
Arthur Schiwon
ddb65be58f
chore: cleanup unused code
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-06-21 18:19:09 +02:00
Arthur Schiwon
be50bd1b0f
fix: ensure searchBySystemTag() is available
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-06-21 18:19:08 +02:00
Arthur Schiwon
783e32a64d
fix: favorites view and universal search against tags
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-06-21 18:19:08 +02:00
Arthur Schiwon
58f7fd2370
use efficient tag retrieval on DAV report request
- uses DAV search approach against valid files joined by systemtag selector
- reduced table join for tag/systemtag search
- supports pagination
- no changes to the output formats or similar

Example request body:

<?xml version="1.0"?>
<oc:filter-files xmlns:d="DAV:" xmlns:oc="http://owncloud.org/ns" xmlns:nc="http://nextcloud.org/ns" xmlns:ocs="http://open-collaboration-services.org/ns">
  <d:prop>
    <d:getcontentlength/>
    <d:getcontenttype/>
    <d:getetag/>
    <d:getlastmodified/>
    <d:resourcetype/>
    <nc:face-detections/>
    <nc:file-metadata-size/>
    <nc:has-preview/>
    <nc:realpath/>
    <oc:favorite/>
    <oc:fileid/>
    <oc:permissions/>
    <nc:nbItems/>
  </d:prop>
  <oc:filter-rules>
    <oc:systemtag>32</oc:systemtag>
  </oc:filter-rules>
  <d:limit>
    <d:nresults>50</d:nresults>
    <nc:firstresult>0</nc:firstresult>
  </d:limit>
</oc:filter-files>

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-06-21 18:19:08 +02:00
Daniel Kesselberg
debd03f30d perf: skip request without write permission
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2023-06-19 13:42:13 +00:00
Faraz Samapoor
0bae21b1d1 Refactors "strpos" calls in /apps/dav to improve code readability.
Signed-off-by: Faraz Samapoor <f.samapoor@gmail.com>
2023-06-12 09:46:07 +02:00
Côme Chilliet
6034cc6893 Make sure to never trigger files hooks on a null path
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-05-04 17:55:09 +00:00
Joas Schilling
b91957e3df
fix(dav): Abort requests with 429 instead of waiting
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-05-03 22:43:36 +02:00
Julius Härtl
160bd75d0a fix: Use proper path when creating node instances
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-04-17 23:46:52 +02:00
Louis
7ab44b2d28
Merge pull request #37146 from nextcloud/artonge/feat/migrate_metadata_to_value
Migrate metadata JSON column to new value TEXT column
2023-04-04 10:23:54 +02:00
Louis Chemineau
1a6709cf43 Migrate metadata as JSON to value as STRING
Signed-off-by: Louis Chemineau <louis@chmn.me>
2023-04-03 14:06:28 +02:00
Anna
ac90fa2f8e
Merge pull request #36800 from rotdrop/feature/dav-macos-quirks
apps/dav: add some OSX specific quirks.
2023-03-13 11:46:19 +01:00
Arthur Schiwon
315510df84
Merge pull request #27034 from nextcloud/enh/s3-multipart-upload-api
Use MultipartUpload for uploading chunks to s3
2023-03-09 13:55:57 +01:00
Michiel de Jong
c0e84cb512 Add SHARE_TYPE_SCIENCEMESH
Signed-off-by: Michiel de Jong <michiel@unhosted.org>
2023-03-08 16:46:55 +01:00
Julius Härtl
e23aa8883e
feat(s3): Use multipart upload for chunked uploading
This allows to stream file chunks directly to S3 during upload.

Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-03-08 14:00:04 +01:00
Claus-Justus Heine
64e9dcc9c3
apps/dav: add some OSX specific quirks.
Signed-off-by: Claus-Justus Heine <himself@claus-justus-heine.de>
2023-03-07 16:23:30 +01:00
Julius Härtl
d515da502f fix: Use proper path for quota fetching
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-03-06 22:46:07 +00:00
Julius Härtl
3287eddbbc fix: Recalculate storage statistics on updating the quota
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-03-06 22:46:07 +00:00
Joas Schilling
98ed72b3ed
Revert "fix(performance): Do not set up filesystem on every call" 2023-02-21 07:36:43 +01:00
Julius Härtl
3bdf3322ec
fix: Use passed LazyFolder when building sabre nodes
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-02-17 19:21:05 +01:00
Anna Larch
5d4efb4d5f
Do not set up filesystem on every call
Also remove old Oc_FileChunking logis that produced GC- collectable chunks

Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-02-17 19:18:37 +01:00
Julius Härtl
7b413a41eb
perf(dav): Do not call general setupFS on ever dav auth
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-02-09 10:19:37 +01:00
Côme Chilliet
028c225d96
Fix psalm errors
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-02-07 11:23:32 +01:00
Côme Chilliet
110fc79918
Silence errors of return type mismatch from Sabre for now
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-02-07 11:23:31 +01:00
Côme Chilliet
cd885b5705
Type sizes as int|float throughout the code base
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-02-07 11:23:31 +01:00
Côme Chilliet
5c1a0e0307
Allow float sizes in FileInfo for 32bits
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-02-07 11:23:31 +01:00
Richard Steinmetz
bbda231e18
fix(dav): check if principal has email address before accessing it
Ref https://github.com/nextcloud/calendar/issues/4811

Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2023-01-24 09:27:53 +01:00
Christoph Wurst
afd1ddb0ea
chore(dav): Make json_encode and json_decode throw on error
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-01-19 19:19:22 +01:00
Côme Chilliet
06da8adcd3
Merge pull request #35943 from nextcloud/fix/code-fixes-from-34997
Code fixes from PR 34997
2023-01-03 14:32:31 +01:00
Côme Chilliet
a372564850
Fix psalm spotted errors with new requirements
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-01-02 15:02:28 +01:00
Julius Härtl
b8046e2ba4
Align checksum dav property with desktop client parsing
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-12-30 16:55:35 +01:00
Maxence Lange
cc639a8877 compare cached filesize on download
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2022-12-01 15:42:15 -01:00
Simon L
cd7cec587e
Merge pull request #35425 from nextcloud/bumpMinimumDesktopClientForWebdav
minimum desktop client that is supported is 2.3.0
2022-11-28 15:34:32 +01:00
Carl Schwan
e8ae4406ce
Merge pull request #34849 from nextcloud/feat/hint-about-no-access-reasons
Add an hint about reasons why files can't be accessed
2022-11-25 13:12:55 +01:00
Matthieu Gallien
c63ff42410
minimum desktop client that is supported is 2.3.0
2.3.0 was release on Mar 3, 2017

added support for new chunking algorithm allowing to now deprecate the
older one

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-11-25 11:40:30 +01:00
Louis Chemineau
90bce5d58e Do not check quota for non Node
Signed-off-by: Louis Chemineau <louis@chmn.me>
2022-11-24 11:35:02 +01:00
Carl Schwan
48ea9e1c23 Use public IAppManager instead of OC_App
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-11-23 17:04:22 +01:00
Côme Chilliet
feafa63afb Apply the same fix as on beforeCopy on beforeMove
Let’s be safe

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-11-17 13:22:50 +00:00
Robin Appelman
9150082eb7 fix dirname usage
Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-11-17 13:22:50 +00:00
Côme Chilliet
81d3a76d5d Fix psalm issues
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-11-17 13:22:50 +00:00
Côme Chilliet
5ed840ed23 Check quota on file copy
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-11-17 13:22:49 +00:00
Richard Steinmetz
304b71647f
Fix duplicate event email notifications
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2022-11-04 16:24:57 +01:00
Carl Schwan
5f6997f6fe Add an hint about reasons why files can't be accessed
Hopefully saves some debugging time next time

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-10-27 14:17:56 +02:00
Vincent Petry
56fe33ffca
Merge pull request #34508 from starypatyk/dav_displayname
WebDAV - use file/folder name for dav:displayname
2022-10-21 15:42:27 +02:00
Christoph Wurst
e12df7941e
Merge pull request #34565 from nextcloud/debt/noid/fakelocker-too-many-arguments
Fix TooManyArguments for FakeLockerPlugin
2022-10-17 13:26:32 +02:00
Daniel Kesselberg
934e75384c
Fix TooManyArguments for FakeLockerPlugin
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2022-10-14 15:06:38 +02:00
Dariusz Olszewski
2b4a11598d WebDAV - use file/folder name for dav:displayname
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-10-10 21:20:07 +02:00
Dariusz Olszewski
c0bd7484c6 Review comment - remove redundant empty() call
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-10-10 21:03:28 +02:00
Dariusz Olszewski
255d1dd686 Read notes from share already loaded into memory
Signed-off-by: Dariusz Olszewski <starypatyk@users.noreply.github.com>
2022-10-07 23:24:12 +02:00
Côme Chilliet
4f3b323fba
Move dav utils functions to OCP\Files\DavUtil
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-08-30 09:58:12 +02:00
Côme Chilliet
b3cd9b5573
Move Dav fileid and permissions logic into OCP\Util to be able to use it for BulkUpload
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-08-29 13:55:08 +02:00
Carl Schwan
f8b13ecd60
Merge pull request #32363 from nextcloud/cleanup/remove-long-deprecated-classes
Remove OCP\App and OCP\BackgroundJob
2022-08-08 17:05:11 +02:00
Carl Schwan
458c2fa297
Remove OCP\App and OCP\BackgroundJob
Both deprecated since NC 23

IAppManager is the replacement for OCP\App unfortunately it can't be
dependency injected in classes used by the installed otherwise the
database connection is initialised too early

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-08-01 09:46:40 +02:00
Carl Schwan
7b723813ce
Multiple fixes
- Fix tests
- Use non deprecated event stuff
- Add a bit of type hinting to the new stuff
- More safe handling of instanceOfStorage (share might not be the first
  wrapper)
- Fix resharing

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-07-31 19:37:59 +02:00
Vincent Petry
2ee659e547
Fix view-only code after code review comments
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2022-07-28 16:53:24 +02:00
Vincent Petry
92e60e3858
Add nc:share-attributes Webdav property
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2022-07-28 16:53:23 +02:00
Vincent Petry
a95c19e14b
Add share attributes + prevent download permission
Makes it possible to store download permission

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2022-07-28 16:53:22 +02:00
luz paz
d4637ef4d8 Fix typos in apps/dav subdirectory
Found via `codespell -q 3 -S l10n -L jus ./apps/dav`

Signed-off-by: luz paz <luzpaz@github.com>
2022-07-26 17:40:10 -04:00
Carl Schwan
046357ec75 Fix type error in Sabre/Connector/Directory
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-06-14 13:01:06 +02:00