aboutsummaryrefslogtreecommitdiffstats
path: root/lib/private/Files/ObjectStore
Commit message (Collapse)AuthorAgeFilesLines
...
* | 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
|\
| * fix(proxy): use accessorMaxime Besson2021-06-301-2/+2
| | | | | | | | Signed-off-by: Maxime Besson <maxime.besson@worteks.com>
| * fix(proxy): reaching s3 storage behind some http proxyMaxime Besson2021-04-091-4/+4
| | | | | | | | Signed-off-by: Maxime Besson <maxime.besson@worteks.com>
| * fix(proxy): reaching s3 storage behind some http proxySamuel2021-04-092-2/+15
| | | | | | | | Signed-off-by: Maxime Besson <maxime.besson@worteks.com>
* | Merge pull request #27586 from nextcloud/bugfi/noid/objectstore-checksumblizzz2021-07-011-0/+1
|\ \ | | | | | | Reset checksum when writing files to object store
| * | Reset checksum when writing files to object storeJulius Härtl2021-06-211-0/+1
| | | | | | | | | | | | Signed-off-by: Julius Härtl <jus@bitgrid.net>
* | | Move DateTime::RFC2822 to DateTimeInterface::2822Christoph Wurst2021-06-231-1/+1
|/ / | | | | | | Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
* | Update php licensesJohn Molakvoæ (skjnldsv)2021-06-0414-23/+11
| | | | | | | | Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
* | Merge pull request #27040 from nextcloud/FlorentCoppint-masterMorris Jobke2021-05-251-0/+1
|\ \ | | | | | | Avoid reading ~/.aws/config when using S3 provider
| * | Avoid reading ~/.aws/config when using S3 providerFlorent2021-05-201-0/+1
| | | | | | | | | | | | | | | | | | | | | When using S3 storage, we sometimes have open_basedir errors due to aws-sdk-php trying to read ~/.aws/config which is out of open_basedir restrictions. Christoph Wurst already added csm=false config in #21406 but it wasn't enough, we also need to set use_arn_region=false, added in this commit. Signed-off-by: Florent <florent@coppint.com>
* | | explicitly close source stream on object store upload even if count wrapper ↵Robin Appelman2021-04-291-0/+3
|/ / | | | | | | | | | | isn't needed Signed-off-by: Robin Appelman <robin@icewind.nl>
* | set mimetype for objects uploaded to object storagesRobin Appelman2021-04-215-23/+18
| | | | | | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* | use returned file id for object store copyRobin Appelman2021-03-121-6/+6
|/ | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* Merge pull request #25722 from nextcloud/objectstore-copy-crossRobin Appelman2021-03-121-0/+14
|\ | | | | apply object store copy optimization when 'cross storage' copy is wit…
| * apply object store copy optimization when 'cross storage' copy is within the ↵Robin Appelman2021-03-091-0/+14
| | | | | | | | | | | | same object store Signed-off-by: Robin Appelman <robin@icewind.nl>
* | remove explicit fclose from S3->writeStreamRobin Appelman2021-03-111-2/+0
|/ | | | | | streams get closed automatically when dropped, and in some cases the stream seems to be already closed by the S3 library, in which case trying to close it again will raise an error Signed-off-by: Robin Appelman <robin@icewind.nl>
* Bump nextcloud/coding-standard from 0.3.0 to 0.5.0dependabot-preview[bot]2021-02-181-1/+1
| | | | | | | | | | Bumps [nextcloud/coding-standard](https://github.com/nextcloud/coding-standard) from 0.3.0 to 0.5.0. - [Release notes](https://github.com/nextcloud/coding-standard/releases) - [Changelog](https://github.com/nextcloud/coding-standard/blob/master/CHANGELOG.md) - [Commits](https://github.com/nextcloud/coding-standard/compare/v0.3.0...v0.5.0) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
* Merge pull request #24700 from Imajie/s3-credsRoeland Jago Douma2021-02-021-1/+5
|\ | | | | Resolves #24699, Support ES2 and ECS instance providers for S3 buckets
| * Fix failing testsJames Letendre2020-12-151-1/+1
| | | | | | | | Signed-off-by: James Letendre <james.letendre@gmail.com>
| * Add web identity provider to S3 connection chainJames Letendre2020-12-151-13/+4
| | | | | | | | Signed-off-by: James Letendre <james.letendre@gmail.com>
| * Replace defaultProvider with explicit calls to exclude user home directory ↵James Letendre2020-12-141-1/+15
| | | | | | | | | | | | lookup Signed-off-by: James Letendre <james.letendre@gmail.com>
| * Resolves #24699, Support ES2 and ECS instance providers for S3 bucketsJames Letendre2020-12-141-2/+1
| | | | | | | | Signed-off-by: James Letendre <james.letendre@gmail.com>
* | Update license headersChristoph Wurst2020-12-301-0/+1
| | | | | | | | Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
* | Bump icewind/streams from 0.7.1 to 0.7.2Christoph Wurst2020-12-291-3/+4
| | | | | | | | Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
* | Merge pull request #24594 from kofemann/dcacheJulius Härtl2020-12-221-2/+2
|\ \
| * | storage: update IStorage#file_put_contents docs to match usageTigran Mkrtchyan2020-12-211-2/+2
| |/ | | | | | | | | | | | | The current phpdoc of IStorage#file_put_contents doesnt corresponds to it's actual usage in code, e.g. Signed-off-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
* / Update all license headers for Nextcloud 21Christoph Wurst2020-12-161-0/+1
|/ | | | Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
* use in objectstore copyRobin Appelman2020-11-245-5/+83
| | | | Signed-off-by: Robin Appelman <robin@icewind.nl>
* Allow config to specify the bucket existsRoeland Jago Douma2020-11-061-1/+2
| | | | | | | | | | | | | | | In the 99% case the bucket is just always there. And if it is not the read/write will fail hard anyways. Esp on big instances the Objectstore is not always fast and this can save a few hundered ms of each request that acess the objectstore. In short it is adding 'verify_bucket_exists' => false To the S3 config part Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
* Format code to a single space around binary operatorsChristoph Wurst2020-10-051-1/+1
| | | | Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
* Fix reading empty files from objectstorageRoeland Jago Douma2020-09-091-0/+5
| | | | | | | | Since we try to do range requests this will fail hard. However since empty files are not that interesting to read anyways we just read from an emptry memory stream. Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
* Run stat less often for objectstoragesRoeland Jago Douma2020-09-081-0/+10
| | | | | | | | When we want to get the permissions we now do stat at least 5 times for each entry. Which is a bit much. Especially since the permssions are all just in the database already. Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
* Only update the filecache entry once the file has been written to S3Roeland Jago Douma2020-08-311-2/+11
| | | | | | | If we already update before we have no way to revert if the upload fails. Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
* Don't lose filecache entry on s3 overwrite errorRoeland Jago Douma2020-08-311-5/+16
| | | | | | | If the object store errors we should not always delete the filecache entry. As this might lead to people losing access to their files. Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
* Update the license headers for Nextcloud 20Christoph Wurst2020-08-246-0/+6
| | | | Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
* Resolves #19790, Provides Support for IAM CredentialsStephen Cuppett2020-08-201-6/+38
| | | | | | | | | | | Includes support for either leveraging environment variables passed to the PHP runtime or IAM instance profile present on the host being used. The default and first choice is still the parameter file as documented. See also: https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/guide_credentials_provider.html#chaining-providers Signed-off-by: Stephen Cuppett <steve@cuppett.com>
* Use matching parameter names form interfaces and implementationsMorris Jobke2020-08-191-1/+1
| | | | | | Found by Psalm 3.14.1 Signed-off-by: Morris Jobke <hey@morrisjobke.de>
* Distribute preview folders in appdata in multibucket setup to multiple bucketsMorris Jobke2020-08-061-0/+44
| | | | | | | | | * introduces a new IRootMountProvider to register mount points inside the root storage * adds a AppdataPreviewObjectStoreStorage to handle the split between preview folders and bucket number Ref #22033 Signed-off-by: Morris Jobke <hey@morrisjobke.de>
* Fix static method call for s3 bucket compat checkChristoph Wurst2020-07-031-2/+2
| | | | Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
* Update presign method to match with interface again.Daniel Kesselberg2020-06-251-1/+2
| | | | Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
* Disable Client-Side Monitoring on AWS storageChristoph Wurst2020-06-151-2/+3
| | | | | | | | | The S3 client enables this by default and then tries to read `.aws/config`. This causes `open_basedir` restriction related error for some setups. So this patch disables the CSM because it's most likely unused anyway. Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
* Upload part size as S3 parameter instead of constant valueFlorent2020-06-092-3/+5
| | | | | | | | Some S3 providers need a custom upload part size (500 MB static value in Nextcloud). Here is a commit to change this value via S3 configuration, instead of using S3_UPLOAD_PART_SIZE constant. A new parameter is added for an S3 connection : uploadPartSize Signed-off-by: Florent <florent@coppint.com>
* Merge pull request #18955 from adrb/swift_upload_large_objectsRoeland Jago Douma2020-05-061-4/+14
|\ | | | | Large Object support for OpenStack Swift
| * Large Object support for OpenStack Swift.Adrian Brzezinski2020-04-271-4/+14
| | | | | | | | | | | | | | | | | | Until now, you wouldn't be able to create objects larger that 5GB. It's somewhat related with pull #18883 Signed-off-by: Adrian Brzezinski <adrian.brzezinski@eo.pl>