Commit graph

465 commits

Author SHA1 Message Date
MichaIng
cb35794f02 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-23 20:32:20 +00:00
John Molakvoæ
245a439d47
Merge pull request #43740 from nextcloud/backport/43727/stable27 2024-02-22 10:45:17 +01:00
Louis Chemineau
5606cadae7
Check share attributes when downloading versions
Signed-off-by: Louis Chemineau <louis@chmn.me>
2024-02-21 21:47:50 +01:00
John Molakvoæ
cb5020483e fix(dav): report status
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2024-02-21 17:08:36 +00:00
Richard Steinmetz
8e67575a71 perf: skip request without read permission
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2024-02-21 12:48:30 +00:00
Robin Appelman
e14858007d only triger metadata preload logic when at least one metadata is requested
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-09-18 09:31:06 +00:00
Robin Appelman
9b3d8f334b don't preload metadata for the sub-childen
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-09-18 09:31:05 +00:00
Robin Appelman
ee8c1a5c60
only determine quota_include_external_storage once for quota wrapper
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-09-07 16:25:23 +02:00
Robin Appelman
9242e8939f
only get logger when needed in sabre/directory
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-09-07 16:25:16 +02:00
Anna Larch
504f396d33 fix(CardDAV): set owner-principal, displayname properties for SAB
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-08-24 15:07:24 +02:00
Robin Appelman
dbc80b02b9 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-18 08:08:34 +00:00
Robin Appelman
2c4535d2fd preload all requested metadata
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-08-08 13:29:34 +00:00
tobiasKaminsky
963a783747 expose gps data via webdav 2023-08-08 13:29:34 +00:00
Arthur Schiwon
ff86e8c411
Merge pull request #38968 from nextcloud/backport/38747/stable27
[stable27] perf: skip request without write permission
2023-07-10 18:30:41 +02:00
Arthur Schiwon
a7b4f502aa
refactor: adjust to unexposed searchBySystemTag
- in this backport we have to drop the breaking addition in
  \OCP\Files\Folder
- this requires adjustments in check for the existance of the method but
  also in testing
- another change in \OCP\SystemTag\ISystemTagManager can be applied as
  this interface is not implemented elsewhere

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-07-07 12:25:04 +02:00
Arthur Schiwon
35de0b5504
fix: cannot apply limit+offset on multi-tag-search
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-07-06 21:52:53 +02:00
Arthur Schiwon
d05d185862
refactor: save unnecessary method_exists
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-07-06 21:52:52 +02:00
Arthur Schiwon
653812d583
fix: use array_unitersect against objects
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-07-06 21:52:52 +02:00
Arthur Schiwon
a5a134567b
fix: obey offset and limit for results from favs and circles
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-07-06 21:52:52 +02:00
Arthur Schiwon
b55be6fd8f
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-07-06 21:52:52 +02:00
Arthur Schiwon
66a7064db3
fix: include invisible tags for admins
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-07-06 21:52:51 +02:00
Arthur Schiwon
4ac77f0f7a
fix: search with more than one search tags
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-07-06 21:52:51 +02:00
Arthur Schiwon
4e5c3bd166 fix: no search when LazyFolder was provided
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-07-06 17:29:13 +00:00
Arthur Schiwon
f87286754e chore: cleanup unused code
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-07-06 17:29:13 +00:00
Arthur Schiwon
36a0d1486e fix: ensure searchBySystemTag() is available
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-07-06 17:29:13 +00:00
Arthur Schiwon
99442b60d5 fix: favorites view and universal search against tags
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-07-06 17:29:12 +00:00
Arthur Schiwon
7bfe6f2cc0 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-07-06 17:29:11 +00:00
Daniel Kesselberg
8e00afbb47 perf: skip request without write permission
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2023-07-04 10:32:26 +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