Commit graph

1311 commits

Author SHA1 Message Date
Andy Scherzinger
48b7eff03c
Merge branch 'stable26' into backport/39044/stable26 2023-12-07 11:10:09 +01:00
Marcel Klehr
38d64e3b7e fix(TemplateManager): Bail early if templatedirectory is empty
fixes #39266

Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2023-12-04 10:24:38 +00:00
Robin Appelman
0fb0314b28
add some support for rename on case insensitive local filesystems
Signed-off-by: Robin Appelman <robin@icewind.nl>
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2023-11-15 15:52:05 +01:00
Robin Appelman
6f7f52146f optimize cache jail creation
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-11-07 13:59:40 +00:00
Jonas
ae554fd3af enh(IMountManager): Add method to get MountPoint from CachedMountInfo
Signed-off-by: Jonas <jonas@freesources.org>
2023-10-27 10:38:57 +02:00
Robin Appelman
14b759d0d3 setup filesystem wrappers before we mark the root as setup
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-10-24 15:51:38 +00:00
Robin Appelman
4db5da9d11 add more checks to ensure mounts aren't empty
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-10-24 15:51:38 +00:00
Arthur Schiwon
96eca4a3ea fix(ci): update return type in php doc
Co-authored-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-10-11 14:41:43 +02:00
Robin Appelman
29c36f85b0 fix type hints
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-10-11 14:41:43 +02:00
Robin Appelman
0fde240089 fix unencrypted folder size when no children with unencrypted size set are left
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-10-11 14:41:43 +02:00
Robin Appelman
ed6606e86b fix unencrypted_size for files when scanning
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-10-11 14:41:43 +02:00
Robin Appelman
1a70ba6421 fix unencrypted_size for folders when scanning the filesystem with encryption enabled
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-10-11 14:41:43 +02:00
Julius Härtl
81f3ed25f0
fix: Only read unencrypted_size when file is actually encrypted
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-09-12 15:06:01 +02:00
Julius Härtl
6a5dc8ce06
fix: Only store unencrypted_size if path should be encrypted
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-09-12 15:06:01 +02:00
Côme Chilliet
5434b35ac7
Merge pull request #40280 from nextcloud/backport/40233/stable26
[stable26] Detect aborted connection in OC\Files\View and stop writing data to the output buffer
2023-09-07 09:31:44 +02:00
Côme Chilliet
342cb33f71 Apply suggestions from code review in View.php
Co-authored-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
Signed-off-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-09-05 17:06:11 +00:00
Côme Chilliet
ea2b28e1fc Lower log to debug for connections aborted by the client
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-09-05 17:06:11 +00:00
Côme Chilliet
b7d82f7c01 Detect aborted connection in OC\Files\View and stop writing data to the
output buffer

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-09-05 17:06:10 +00:00
Arthur Schiwon
1c29d87f48
Merge pull request #40232 from nextcloud/sharing-mask-wrapper-26
[26] move share permission logic to storage wrapper
2023-09-05 19:04:41 +02:00
Arthur Schiwon
f755b50a6b
Merge pull request #40187 from nextcloud/backport/39017/stable26
[stable26] fix(s3): fix handling verify_bucket_exists parameter
2023-09-05 19:00:40 +02:00
Arthur Schiwon
f7d890cd66
Merge pull request #39726 from nextcloud/backport/39698/stable26
[stable26] Catch more invalid cache source storage paths
2023-09-05 18:59:48 +02:00
Robin Appelman
065f636cb7
cleanup di for share permissions wrapper
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-09-04 14:21:19 +02:00
Robin Appelman
1340133526
more share permission logic to storage wrapper
this way we only have to determine the share permissions once

Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-09-04 14:21:11 +02:00
John Molakvoæ
c3f146b965 fix: prevent sharing permissions on user root folder
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2023-09-04 09:19:44 +00:00
Thomas Citharel
7deef46668 fix(s3): fix handling verify_bucket_exists parameter
If 'verify_bucket_exists' is set to false in the config.php s3 configuration, it's supposed to avoid
verifying that the bucket exists. However empty(falsy) will  always return true, so this condition
would not work.

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2023-08-31 21:33:05 +00:00
Andy Scherzinger
f3619d8558
Merge pull request #39872 from nextcloud/backport/38714/stable26
[stable26] select the fileid first when looking for incomplete files
2023-08-28 13:44:48 +02:00
Anna
fcaa6760af
Merge pull request #39935 from nextcloud/fix/stable26/transfer-ownership
[stable26] fix: don't emit Hooks when hookpaths are empty
2023-08-21 09:06:18 +02:00
Anna Larch
fe26271c78 fix: don't emit Hooks when hookpaths are empty
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-08-17 15:00:49 +02:00
Ferdinand Thiessen
15ea32c1e1 fix: Prevent PHP warnings when optional CacheEntry attributes are unset
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-08-17 10:03:53 +00:00
Robin Appelman
690d9bac5e select the fileid first when looking for incomplete files
this seems to improve mariadbs index selection

Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-08-14 19:15:41 +00:00
John Molakvoæ
fe85d7d05d fix: simplify sourceData check
Co-authored-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2023-08-05 22:04:35 +00:00
Josh Richards
c4505160a0 Catch more invalid cache source storage paths
OC\Files\Cache\Cache::get can return string|false|null, not just string|false.

- nextcloud/server#26270 added handling of false, but null is needed too.
- Well, or we change the default $resullt to false, but I'm not sure if that has other ramifications and the real need here is to simply catch situations where the cache source storage path is not valid for whatever reason

Related: nextcloud/server#19009

Signed-off-by: Josh Richards <josh.t.richards@gmail.com>
2023-08-05 22:04:35 +00:00
Arthur Schiwon
6eaaef1403 fix(node): non-existing folder is not searchable
the previosuly introduced searchBySystemTag was not overwritten in
NonExistingFolder and could run the inherited method.

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-07-13 14:33:05 +00:00
Arthur Schiwon
fc9fd0d7f2
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 16:58:07 +02:00
Arthur Schiwon
749efc1ba1 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-07 14:54:56 +00:00
Arthur Schiwon
0b4db60d3b fix: include invisible tags for admins
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-07-07 14:54:56 +00:00
Arthur Schiwon
48c92ade85 fix: favorites view and universal search against tags
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-07-07 14:54:56 +00:00
Arthur Schiwon
c33f728249 fix: change if with conditionless else to switch; and a parameter value
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-07-07 14:54:55 +00:00
Arthur Schiwon
b172df69d6 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-07 14:54:55 +00:00
Richard Steinmetz
36b48dea52 fix(sse): don't update uncached files
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2023-07-04 20:23:47 +00:00
Arthur Schiwon
013d34977b
ci: adjust return annotation to older psalm version
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-06-26 17:07:21 +02:00
Arthur Schiwon
aec67f41a3 ci: pro forma check of existence of internal method
createNode() is protected and used by Folder, but being an internal-only
method it shall not be exposed in the Folder or IRootFolder interface.

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-06-23 23:04:44 +00:00
Arthur Schiwon
2b27a4cda0 refactor: declare getMount() and getMountsIn() at IRootFolder
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-06-23 23:04:44 +00:00
Arthur Schiwon
3813b955ee chore: ugly type juggling
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-06-23 23:04:40 +00:00
Arthur Schiwon
ae48fc86d2 fix: add typehine for IRootFolder
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-06-23 23:04:40 +00:00
Arthur Schiwon
e095311819 fix: expect interface, not a specific implementation
- fixes a regression when deleting folders while music app was enabled,
  for a LazyRoot was passed to this method.

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-06-23 23:04:39 +00:00
Robin Appelman
3e46f6289f
use source cache when listing folder during recursive copy
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-06-19 12:31:17 +02:00
Arthur Schiwon
5f566101f1
Merge pull request #38023 from nextcloud/backport/32877/stable26
[stable26] allow storing multiple mounts for the same rootid in the mount cache
2023-06-15 12:40:45 +02:00
Arthur Schiwon
794bf5b6b9
Merge pull request #37776 from nextcloud/backport/37534/stable26
[stable26] Adjust the value of the "max-parts" parameter of the object storage 'ListPart' interface to 1000
2023-06-13 11:46:05 +02:00
Robin Appelman
6cfd5cbe64
allow storing multiple mounts for the same rootid in the mount cache
currently `[$userId, $rootId]` is used as the unique key for storing mounts in the mount cache,
however there are cases where the same rootid is mounted in multiple places for a user which currently leads to not all of those mounts being added to the cache.

Previously this didn't matter as the mount cache was only used to list users with access to a specific file, so a user having access to the file multiple times didn' change anything.

With 24 the mount cache is used for more cases and multiple mounts for the same id becomes relevant.
While I think there isn't a real negative effect atm besides missing the optimized path we should ensure that the mounts are properly listed

Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-05-31 15:38:00 +02:00