Commit graph

329 commits

Author SHA1 Message Date
Julius Härtl
d0e26cfd57 fix: Allow to disable multipart copy on external s3 storage
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-03-21 16:45:33 +01:00
Benjamin Gaussorgues
1afaac7031 fix(files_external): list root when using SMB case-insensitive option
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2024-02-12 10:16:31 +00:00
Valdnet
962dea6a62 Correct a typo
Signed-off-by: Valdnet <47037905+Valdnet@users.noreply.github.com>
2023-11-29 10:36:43 +01:00
Joas Schilling
aa5f037af7
chore: apply changes from Nextcloud coding standards 1.1.1
Signed-off-by: Joas Schilling <coding@schilljs.com>
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2023-11-23 10:36:13 +01:00
jld3103
755de1e0b5 refactor: Rename OpenAPI type aliases to their namespaces
Signed-off-by: jld3103 <jld3103yt@gmail.com>
2023-11-02 11:37:15 +01:00
Benjamin Gaussorgues
c52d5e418a
Merge pull request #41053 from nextcloud/bug/smb/in-place-case-rename
fix(files_external): on case insensitive system, block case change
2023-10-31 16:07:29 +01:00
Louis Chemineau
e66e8bad1a
Return correct status if touch failed
Signed-off-by: Louis Chemineau <louis@chmn.me>
2023-10-23 15:26:43 +02:00
Benjamin Gaussorgues
a45e12abc8
fix(files_external): on case insensitive system, block case change
When a file/directory is renamed to the same name with only case change,
the rename fail. We block this kind of rename.
The user will have to rename to another name first.

Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2023-10-23 10:32:28 +02:00
Robin Appelman
eab8dd3ca0 use multipart copy for s3
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-09-20 17:28:48 +02:00
Robin Appelman
d42d809170 sftp psalm fixes
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-09-18 16:12:03 +02:00
Robin Appelman
c264903cb9
psalm suppress
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-09-04 16:30:12 +02:00
Robin Appelman
aa2a3ae6c8
implement fseek for sftp read stream
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-09-04 16:30:11 +02:00
Robin Appelman
b41c8e0ef5
more optimized getPermissions/getMetaData
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-09-04 16:30:10 +02:00
Robin Appelman
1dfef9fccf
sftp optimize file_put_contents, writeStream and copy
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-09-04 16:30:10 +02:00
Robin Appelman
9cf732a90b
fix error during sftp stream close
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-09-04 16:30:09 +02:00
Robin Appelman
19daa70947
clear sftp stat cache when opening a write stream
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-09-04 16:30:07 +02:00
Vincent Petry
8d1a3daa3f Allow ext storage Local to go unavailable
Whenever an external storage of type Local points at a non-existing
directory, process this as a StorageNotAvailable instead of returning
404.

This makes desktop clients ignore the folder instead of deleting it when
it becomes unavailable.

The code change was limited to external storages to avoid issues during
setup and with the default home storage.
Signed-off-by: Vincent Petry <pvince81@yahoo.fr>
2023-08-29 11:04:31 +02:00
jld3103
a7808f0115
files_external: Fix OpenAPI
Signed-off-by: jld3103 <jld3103yt@gmail.com>
2023-08-07 08:42:19 +02:00
John Molakvoæ
38480fda3c
feat(files_external): migrate to vue
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2023-08-01 16:38:06 +02:00
Benjamin Gaussorgues
9b03dc52a4
Migrate files external to PSR LoggerInterface
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2023-08-01 09:44:57 +02:00
Robin Appelman
31f1ff87d0
Merge pull request #39367 from nextcloud/s3-fopen-exception
handle more exceptions in AmazonS3::fopen
2023-07-20 19:32:03 +02:00
Robin Appelman
7c9edbff32
handle more exceptions in AmazonS3::fopen
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-07-13 15:37:42 +02:00
jld3103
bb1e73de97
files_external: Add OpenAPI spec
Signed-off-by: jld3103 <jld3103yt@gmail.com>
2023-07-11 17:22:35 +02:00
Simon L
83faba5e61
Merge pull request #38591 from nextcloud/fix/caching/avoid-haskey-get
fix(caching): Avoid checking existence before fetching
2023-06-12 13:53:37 +02:00
Christoph Wurst
b8c61b3515 fix(caching): Avoid checking existence before fetching
The cache might expire between checking for key existence and fetching
the value. In this rare case the code continues with a null value when
it doesn't expect one.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-06-12 09:44:48 +02:00
Faraz Samapoor
94f2f57519
Update apps/files_external/lib/Lib/Storage/SMB.php
Co-authored-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
Signed-off-by: Faraz Samapoor <f.samapoor@gmail.com>
2023-06-05 16:21:14 +03:30
Faraz Samapoor
cfb921b26c Refactors "strpos" calls in /apps/files_external to improve code readability.
Signed-off-by: Faraz Samapoor <f.samapoor@gmail.com>
2023-06-02 19:54:49 +03:30
Simon L
fa4d153610
Merge pull request #38115 from DerGenaue/patch-1
Rename `numericStorageId` to `numericExternalStorageId` in PersonalMount.php
2023-05-16 19:08:39 +02:00
Robin Appelman
2466724b01
check the username when doing external storage session auth
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-05-11 17:47:56 +02:00
Daniel
55d7add92f
Rename numericStorageId to numericExternalStorageId in PersonalMount.php
so that it doesn't override `numericStorageId` in the `MountPoint` baseclass

fixes https://github.com/nextcloud/server/issues/37473
fixes https://github.com/nextcloud/server/issues/37414

Signed-off-by: Daniel <7558512+DerGenaue@users.noreply.github.com>
2023-05-07 04:47:44 +02:00
James Guo
bb173e092b
Update AmazonS3.php
Signed-off-by: James Guo <i@ze3kr.com>
2023-04-06 14:34:08 +08:00
Robin Appelman
b1f352c614
improve handling of files we can't access in the scanner
instead of erroring, remove the items from the cache.

this situation can be triggered if a user has access to a file but looses it afterwards

Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-04-05 14:44:55 +02:00
Robin Appelman
fd0ef588b4
fix ftp external storage with filezilla server
- filezilla doesn't like "" as parameter for `mdtm` (all others seem fine)
- filezilla sends fractional modified date

Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-03-30 17:44:47 +02:00
Côme Chilliet
308fcf4526
Respect OCP interface in private classes
Because the parameter type was moved to phpdoc it needs to be removed
 from implementations

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-02-07 11:23:35 +01:00
Côme Chilliet
ff776a90b1
Strong type filesize related methods to ease 32bits problem findings
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-02-07 11:23:28 +01:00
Vincent Petry
f0b9b6ebaa
Merge pull request #36089 from nextcloud/enh/noid/ext-storage-default-values
Ext storage configs default value support + enable SSL by default
2023-01-16 14:22:16 +01:00
Vincent Petry
4e179e0e07
Enable SSL by default in ext storage configs
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2023-01-13 10:27:17 +01:00
Vincent Petry
a0f70988f4
Extend ext storage params to contain default value
Extend the external storage configuration parameters definition to allow
to specify a default value

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2023-01-13 10:27:17 +01:00
François Ménabé
710f3fd405 Support of s3 storage class in External Storage application
Signed-off-by: François Ménabé <francois.menabe@gmail.com>
2023-01-12 14:59:13 +01:00
Côme Chilliet
9430899f16
Fix psalm issues related to signature changes from PHP 8.0
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-12-29 12:36:34 +01:00
Carl Schwan
5e31ed4f52 Add comments
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-12-05 15:26:36 +01:00
Carl Schwan
754cb58b12 Fix migration to non-empty secret
Add a fallback for empty keys

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-12-05 11:28:52 +01:00
Robin Appelman
ed8fedc685
fix s3 directory copy
Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-11-15 17:17:59 +01:00
Côme Chilliet
9ba9f9a7dc
Make sure to not pass null to DateTime::createFromFormat
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-11-14 16:23:50 +01:00
Carl Schwan
a5ea677370 Rename file1 and file2 to source and target in Storage abstraction
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-10-18 17:21:47 +02:00
Carl Schwan
732badf552 Additional type hinting found by psalm
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-10-18 12:28:34 +02:00
Carl Schwan
9319bbb00c More type safety
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-10-17 11:53:11 +02:00
Carl Schwan
c2c63a551f Fix usage of streams
always return a bool and type the handle as a string

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-10-17 10:58:27 +02:00
Carl Schwan
74e6976779 Use argument name from parent class
This will be an issue with php 8, so best to fix it now

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-10-17 10:58:27 +02:00
Carl Schwan
c94f9f5e5f Add corresponding interface to trait
Since we can't specify that we want a class implementing a trait yet in
PHP

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-10-17 10:58:27 +02:00