Commit graph

1375 commits

Author SHA1 Message Date
Tobias Zimmerer
8970f96e3b fix(s3): support SSE-C headers for the MultipartCopy call
Signed-off-by: Tobias Zimmerer <3228193+ir0nhide@users.noreply.github.com>
2023-11-15 07:37:09 +00:00
Robin Appelman
204aedc606 optimize cache jail creation
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-11-07 13:59:32 +00:00
Jonas
9ed1bbee5c enh(IMountManager): Add method to get MountPoint from CachedMountInfo
Signed-off-by: Jonas <jonas@freesources.org>
2023-10-26 22:21:08 +02:00
Arthur Schiwon
a722274c60
Merge pull request #40569 from nextcloud/backport/40499/stable27
[stable27] add wrapper for external storage to ensure we don't get an mtime that is lower than we know it is
2023-10-11 10:06:29 +02:00
Julius Härtl
1f4fffc258
Merge pull request #40577 from nextcloud/s3-multipart-copy-27 2023-10-10 19:22:53 +02:00
Robin Appelman
36eef0be67 add wrapper to ensure we don't get an mtime that is lower than we know it is
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-10-10 09:34:20 +02:00
Côme Chilliet
e0eb9a8ce9 Store size in int|float for 32bit support
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-09-25 15:14:31 +00:00
Robin Appelman
22556a67a8 use multipart copy for s3
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-09-22 10:42:07 +02:00
Arthur Schiwon
21f8cc8847
Merge pull request #40379 from nextcloud/backport/38808/stable27
[stable27] Fix issues where unencrypted_size was being falsely used for non-encrypted home folders
2023-09-21 10:55:43 +02:00
Lucas Azevedo
cfae699d6e Wrap mimetype insert and getLastInsertId in a transaction
Signed-off-by: Lucas Azevedo <lhs_azevedo@hotmail.com>
2023-09-16 19:31:27 +00:00
Lucas Azevedo
f0a1716bb5 fix(mimetype): Remove unnecessary transaction when storing a mime type
Fixes #40064.

This could be fixed by adding a rollback and starting a new transaction
before the SELECT query, but in this case that would have the same
effect as not using one.
See https://dev.mysql.com/doc/refman/8.0/en/innodb-autocommit-commit-rollback.html
and https://www.postgresql.org/docs/7.1/sql-begin.html#R1-SQL-BEGIN-1

Signed-off-by: Lucas Azevedo <lhs_azevedo@hotmail.com>
2023-09-16 19:31:26 +00:00
Julius Härtl
fd6990a33b
fix: Only read unencrypted_size when file is actually encrypted
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-09-12 15:05:16 +02:00
Julius Härtl
b14967cb2c
fix: Only store unencrypted_size if path should be encrypted
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-09-12 15:05:13 +02: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
5ebceaa54c
reuse dependencies from wrapped cache
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-09-07 16:22:00 +02:00
Arthur Schiwon
bb08cc15b0
Merge pull request #40286 from nextcloud/backport/40233/stable27
[stable27] Detect aborted connection in OC\Files\View and stop writing data to t…
2023-09-07 11:03:42 +02:00
Arthur Schiwon
801c5556f4
Merge pull request #40231 from nextcloud/sharing-mask-wrapper-27
[27] move share permission logic to storage wrapper
2023-09-06 10:27:55 +02:00
Benjamin Gaussorgues
8c7017679d
Detect aborted connection in OC\Files\View and stop writing data to the output buffer
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2023-09-06 09:22:06 +02:00
Arthur Schiwon
278f79f932
Merge pull request #40227 from nextcloud/backport/40195/stable27
[stable27] fix: prevent sharing permissions on user root folder
2023-09-05 19:14:24 +02:00
Robin Appelman
fc21ecbd2a
cleanup di for share permissions wrapper
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-09-04 14:13:57 +02:00
Robin Appelman
8511fb91ca
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:09:41 +02:00
John Molakvoæ
d60f95833b fix: prevent sharing permissions on user root folder
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2023-09-04 09:05:11 +00:00
Thomas Citharel
fe618feeb0 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:21:16 +00:00
Anna Larch
818ddb02c5 fix: don't emit Hooks when hookpaths are empty
Signed-off-by: Anna Larch <anna@nextcloud.com>
2023-08-21 09:58:21 +02:00
Ferdinand Thiessen
752523f874 fix: Prevent PHP warnings when optional CacheEntry attributes are unset
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2023-08-17 09:48:53 +00:00
Robin Appelman
a5cd892caa 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 18:58:47 +00:00
John Molakvoæ
0638f58632 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 10:34:12 +00:00
Josh Richards
d6fe5acbec 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 10:34:11 +00:00
Julius Härtl
6587cf4314
Merge pull request #39642 from nextcloud/backport/39629/stable27 2023-08-03 08:47:22 +02:00
Arthur Schiwon
0d96313256
Merge pull request #39499 from nextcloud/backport/38934/stable27
[stable27] fix(s3): Pass SSE-C parameters for multipart upload
2023-08-02 20:55:24 +02:00
Tobias Zimmerer
46ba7ed60a fix(s3): add SSE-C parameters to headObject call
Signed-off-by: Tobias Zimmerer <3228193+ir0nhide@users.noreply.github.com>
2023-07-31 16:36:16 +00:00
Julius Härtl
e25db0e294 fix(s3): Pass SSE-C parameters for multipart upload
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-07-20 09:13:41 +00:00
Arthur Schiwon
bf00591278 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:26:26 +00:00
Git'Fellow
61cd250935 Include PR #38965
Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com>
2023-07-10 18:31:45 +02:00
Robin Appelman
98ec2f023f implement optimized getDirectoryContent for DAV
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-07-10 18:31:45 +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
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
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
7d8d586983 fix: change if with conditionless else to switch; and a parameter value
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
Richard Steinmetz
aaa7b41a33 fix(sse): don't update uncached files
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2023-07-04 20:18:17 +00:00
Arthur Schiwon
dd2dfc89fd
Merge pull request #38976 from nextcloud/backport/38625/stable27
[stable27] fix: expect interface, not a specific implementation
2023-07-04 22:07:29 +02:00
Robin Appelman
0ff32cadf3 add utility command for object store objects
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-07-04 17:59:21 +02:00
Robin Appelman
b219a17cc6 file scanner performance improvements
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-06-26 15:44:16 +00:00
Arthur Schiwon
29e11a4273 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:45 +00:00
Arthur Schiwon
09c4ba257c 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
f724760f67 chore: ugly type juggling
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-06-23 23:04:44 +00:00
Arthur Schiwon
faea2440ed fix: add typehine for IRootFolder
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2023-06-23 23:04:44 +00:00
Arthur Schiwon
c04b1ed857 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:44 +00:00