aboutsummaryrefslogtreecommitdiffstats
path: root/lib/private/Files/ObjectStore
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #38858 from nextcloud/scanner-performance3Robin Appelman2023-06-261-1/+1
|\ | | | | file scanner performance improvements
| * file scanner performance improvementsRobin Appelman2023-06-161-1/+1
| | | | | | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* | use source cache when listing folder during recursive copyRobin Appelman2023-06-191-5/+6
|/ | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* add utility command for object store objectsRobin Appelman2023-06-091-1/+5
| | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* Merge pull request #38261 from fsamapoor/replace_strpos_calls_in_lib_privateRobin Appelman2023-06-011-2/+2
|\ | | | | Refactors "strpos" calls in lib/private to improve code readability.
| * Refactors "strpos" calls in lib/private to improve code readability.Faraz Samapoor2023-05-151-2/+2
| | | | | | | | Signed-off-by: Faraz Samapoor <fsamapoor@gmail.com>
* | don't always check if we need to setup the object store rootRobin Appelman2023-05-231-6/+18
|/ | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* repair -1 folder sizes for object store background scanRobin Appelman2023-05-103-83/+100
| | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* Merge pull request #37534 from Rsplwe/masterSimon L2023-04-181-7/+18
|\ | | | | Adjust the value of the "max-parts" parameter of the object storage 'ListPart' interface to 1000
| * Update lib/private/Files/ObjectStore/S3.phpRsplwe2023-04-031-1/+1
| | | | | | | | Co-authored-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com> Signed-off-by: Rsplwe <i@rsplwe.com>
| * s3: get remaining truncation partRsplwe2023-04-011-7/+18
| | | | | | Signed-off-by: Rsplwe <i@rsplwe.com>
| * Adjust the value of 'maxparts' to 1000Rsplwe2023-04-011-1/+1
| | | | | | Signed-off-by: Rsplwe <i@rsplwe.com>
* | Merge pull request #32314 from nextcloud/object-mkdir-loggingSimon L2023-04-171-0/+3
|\ \ | | | | | | additional logging when mkdir fails for object storage
| * | additional logging when mkdir fails for object storageRobin Appelman2023-04-051-0/+3
| |/ | | | | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* / improve objectstore rmdir handlingRobin Appelman2023-04-031-36/+50
|/ | | | | | | | remove folder entries as they are cleared instead of in one go afterwards otherwise they stick around if some of the child entries can't be removed Signed-off-by: Robin Appelman <robin@icewind.nl>
* feat(s3): Use multipart upload for chunked uploadingJulius Härtl2023-03-082-3/+133
| | | | | | This allows to stream file chunks directly to S3 during upload. Signed-off-by: Julius Härtl <jus@bitgrid.net>
* feat(s3): Add option to specify an SSE-C customer provided keyJulius Härtl2023-01-242-5/+38
| | | | Signed-off-by: Julius Härtl <jus@bitgrid.net>
* composer run cs:fixCôme Chilliet2023-01-203-3/+1
| | | | Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
* Manage s3 storage class in objectstoreFrançois Ménabé2023-01-122-1/+7
| | | | Signed-off-by: François Ménabé <francois.menabe@gmail.com>
* compare cached filesize on downloadMaxence Lange2022-12-012-3/+15
| | | Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
* allow disabling object store write checkRobin Appelman2022-10-261-1/+7
| | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* Rename file1 and file2 to source and target in Storage abstractionCarl Schwan2022-10-181-5/+5
| | | | Signed-off-by: Carl Schwan <carl@carlschwan.eu>
* Avoid allocating too much memory for the bufferJulius Härtl2022-10-111-1/+1
| | | | Signed-off-by: Julius Härtl <jus@bitgrid.net>
* Merge pull request #32740 from jasperweyne/patch-2Carl Schwan2022-09-191-0/+2
|\ | | | | Fix open_basedir issues by AWS SDK
| * Merge branch 'master' into patch-2Jasper Weyne2022-08-112-13/+28
| |\
| * | Disable ~/.aws/config access by S3ConnectionTraitJasper Weyne2022-06-071-0/+2
| | | | | | | | | | | | | | | This commit sets the 'use_aws_shared_config_files' option to false, in order to disable configuration loading from ~/.aws/config by the AWS SDK, specifically the S3Client. It is a continuation of #27040, as that PR only changed the behaviour of the CredentialsProvider; this change affects the ConfigurationProvider as well. Signed-off-by: Jasper Weyne <jasperweyne@gmail.com>
* | | don't update the folder size if we know it hasn't changedRobin Appelman2022-08-161-1/+1
| |/ |/| | | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* | don't set `null` as a bundle pathRobin Appelman2022-07-271-3/+6
| | | | | | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* | only use nextcloud bundle when explicitly enabledRobin Appelman2022-07-052-10/+15
| | | | | | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* | also use nextcloud certificate bundle when downloading from s3Robin Appelman2022-07-052-10/+17
|/ | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* Cleanup temporary files after finishing the write to object storageJulius Härtl2022-06-021-0/+2
| | | | Signed-off-by: Julius Härtl <jus@bitgrid.net>
* Migrate more classes of lib/private to LoggerInterfaceCôme Chilliet2022-04-261-6/+5
| | | | Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
* Add a metadata service to store file metadataCarl Schwan2022-04-131-1/+1
| | | | Signed-off-by: Carl Schwan <carl@carlschwan.eu>
* Adapt more code to migration to LoggerInterfaceCôme Chilliet2022-03-241-1/+2
| | | | Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
* Migrate from ILogger to LoggerInterface in lib/privateCôme Chilliet2022-03-241-5/+5
| | | | Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
* don't try to get custom certs for s3 primary storageRobin Appelman2022-03-152-3/+10
| | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* use the nextcloud certificate bundle for s3Robin Appelman2022-03-141-1/+6
| | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* Wrap S3 multipart upload exceptionLouis Chemineau2022-02-161-1/+1
| | | | Signed-off-by: Louis Chemineau <louis@chmn.me>
* Wrap S3 multipart upload exceptionLouis Chemineau2022-02-151-1/+1
| | | | Signed-off-by: Louis Chemineau <louis@chmn.me>
* Make max size for single put uploads configurableJulius Härtl2021-12-292-2/+6
| | | | Signed-off-by: Julius Härtl <jus@bitgrid.net>
* Fix php-cs for S3ConnectionTrait.phpJulius Härtl2021-12-211-1/+0
| | | | Signed-off-by: Julius Härtl <jus@bitgrid.net>
* Merge pull request #27493 from cuppett/cuppett/simplify-aws-credential-providerJulius Härtl2021-12-211-6/+2
|\
| * Simplify S3ConnectionTrait to defaultProvider plus optionStephen Cuppett2021-11-221-6/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we initially added the EC2 and ECS IAM role support in #24700, we had to use a workaround by explicitly ordering the various providers due to an inconsistency in the AWS SDK for PHP. We submitted a PR there to get that squared away. Now, we've consumed that version upstream for the SDK and can update our code here to be the most concise version as well as position ourselves to pick up new methods as those become available and prevalent in AWS (for acquiring credentials). See also: https://github.com/nextcloud/server/pull/24700#issuecomment-747650892 See also: https://github.com/aws/aws-sdk-php/pull/2172 Signed-off-by: Stephen Cuppett <steve@cuppett.com>
* | Fix Guzzle function callsCôme Chilliet2021-11-232-5/+5
|/ | | | | | | Since 1.7.0 and 2.0 these functions are turned into static methods. See https://github.com/guzzle/psr7#upgrading-from-function-api Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
* Implement multibucket shift for ObjectStoreJohn Molakvoæ2021-11-111-2/+15
| | | | Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
* Merge pull request #29115 from ↵Carl Schwan2021-10-281-0/+8
|\ | | | | | | | | nextcloud/work/carl/correct-permissions-when-copying Fix permissions when copying from ObjectStorage
| * Fix permissions when copying from ObjectStorageCarl Schwan2021-10-281-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make sure that when a user copy a file from a directory they don't have all permissions to a directory where they have more permissions, the permissions are correctly set to the one from the parent taget folder. This was caused by the ObjectStoreStorage::copyFromStorage using the jailed storage and cache entry instead of the unjailed one like other storages (the local one). Steps to reproduce + Use object storage + Create a groupfolder with one group having full permission and another one who can just read files. + With an user who is in the second group, copy a file from the groupfolder to the home folder of this user. + The file in the home folder of the user will be read only and can't be deleted even though it is in their home folder and they are the owner. In oc_filecache, the permissions stored for this file are 1 (READ) Signed-off-by: Carl Schwan <carl@carlschwan.eu>
* | s3 external storage listing reworkRobin Appelman2021-10-151-1/+1
|/ | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* Refactor writeObject to only use MultipartUpload when requiredBernd Rederlechner2021-08-202-20/+61
| | | | | | Signed-off-by: Bernd Rederlechner <Bernd.Rederlechner@t-systems.com> Co-authored-by: Julius Härtl <jus@bitgrid.net>
* Merge pull request #26463 from Worteks/fix-s3proxyJulius Härtl2021-07-142-2/+15
|\