Commit Graph

220 Commits

Author SHA1 Message Date
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
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
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
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
cf1381a6f9 Port away from deprecated clearBucket call
This was removed a long time ago in the library that we use, but never
detected since this was inside a try catch block...

Remove the call for now and we should investigate newer api in the
future.

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-10-16 23:39:49 +02:00
Carl Schwan
1d90f84141 Port to LoggerInterface
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-10-16 23:39:28 +02:00
Carl Schwan
ff4c8e9bee Force cast getCode to int
Otherwise psalm complains that the type can also be a non-falsy-string

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-10-16 23:38:31 +02:00
Matthieu Gallien
54c05bcdb9 handle AccessDenied error when checking if external s3 support versions
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-07-28 09:20:12 +00:00
Carl Schwan
d5c23dbb9f Move CappedMemoryCache to OCP
This is an helpful helper that should be used in more place than just
server and this is already the case with groupfodlers, deck, user_oidc
and more using it, so let's make it public

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-07-14 15:54:31 +02:00
Carl Schwan
ec6b83cc18 Add stricter psalm type for CappedMemoryCache
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-05-12 15:06:18 +02:00
Carl Schwan
f945c0cbc6 Add a public replacement for OC::$server->get
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-05-10 18:51:12 +02:00
Vincent Petry
bccb69f806 Merge pull request #30860 from nextcloud/smb-getdirectory-content-catch
handle notfound and notpermitted error in Smb::getDirectoryContent
2022-04-14 20:26:17 +02:00
Côme Chilliet
ea23523c70 Adapt more code to migration to LoggerInterface
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-03-24 16:21:25 +01:00
Robin Appelman
ec4be7f2be Merge pull request #31215 from nextcloud/smb-directory-invalid-type
handle invalid type when listing directory in smb
2022-03-17 16:25:26 +00:00
Erik van Velzen
17f3e5e4b5 AmazonS3: allow not implemented versioning
In case the S3 implementation does not implement versioning, set it to
false. Versioning was introduced in Nexcloud in commit
09ffac5e6d

This is needed for compatibility with the Storj gateway.

Signed-off-by: Erik van Velzen <erik@evanv.nl>
2022-03-15 00:40:38 +01:00
John Molakvoæ
e81eaf45d2 Prevent reading key on SFTP stat bool
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
2022-03-11 10:54:52 +01:00
Robin Appelman
a6f245f6ff type hint as generator
Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-03-04 16:26:08 +01:00
Robin Appelman
5b77099612 handle invilid type when listing directory in smb
just handle it as an empty directory

Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-03-04 15:49:00 +01:00
Robin Appelman
e2aa283dba handle notfound and notpermitted error in Smb::getDirectoryContent
Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-02-11 17:23:54 +01:00
Carl Schwan
aeecb72e96 Fix a few psalm issues and moved back to psalm/phar 4.18
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-01-12 20:03:06 +01:00
Julius Härtl
4e57146617 Use unique combination of hostname/bucket/key for external storages
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-11-04 11:34:13 +01:00
Julius Härtl
9356124700 Merge pull request #29021 from nextcloud/work/smb/additional-logging 2021-10-25 13:25:04 +02:00
Robin Appelman
a1ca901e58 cache versioning enabled status
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-10-19 15:03:22 +02:00
Robin Appelman
eb6e6e3a85 minor directory detect improvements
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-10-19 14:58:40 +02:00
Robin Appelman
247e12da96 always set Key field in headObject
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-10-15 16:43:50 +02:00
Robin Appelman
4bd08af2ad more reliable hasUpdated for s3
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-10-15 16:02:57 +02:00
Robin Appelman
34637697e1 remove old migration method
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-10-15 15:35:19 +02:00
Robin Appelman
d3bd0b5a1b optimize filetype for s3 directories a bit
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-10-15 15:35:16 +02:00
Robin Appelman
294af4275c more reliable directory copy
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-10-15 15:35:09 +02:00
Robin Appelman
5e3c8b3af2 doesDirectoryExist fixes
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-10-15 15:35:06 +02:00
Robin Appelman
09ffac5e6d s3 external storage listing rework
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-10-15 15:35:02 +02:00
Robin Appelman
fadeae8c8a Merge pull request #29185 from nextcloud/revert-29165-bug/noid/s3-delete-folder-versions
Revert "Delete S3 versions in rmdir"
2021-10-15 13:30:51 +00:00
John Molakvoæ
739b67031b Merge pull request #27194 from nextcloud/new-ftp 2021-10-14 10:29:24 +02:00
Vincent Petry
d02936bfb3 Revert "Delete S3 versions in rmdir" 2021-10-12 17:06:02 +02:00
Vincent Petry
09ab7a40fe Delete S3 versions in rmdir
When deleting a complete folder in a bucket that has versioning enabled,
also make sure to delete all associated versions and delete markers

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-10-11 13:45:02 +02:00
Robin Appelman
a3f1d10f4d ftp ci improvements
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-10-07 18:47:13 +02:00
Robin Appelman
7d582cb489 update copyright header
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-10-07 17:36:17 +02:00
Robin Appelman
6b80ae9d44 teardown
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-10-07 17:19:36 +02:00
Robin Appelman
ccb24416ac add new ftp backend
this uses the raw `ftp_` functions instead of the stream wrapper

Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-10-07 17:19:23 +02:00
Carl Schwan
365f5e425f Add additional logging on SMB failure to read folder content
Currently we discard the error comming from the SMB library and create a
new exception for nextcloud. This patch makes sure that the
access/permission exception from the SMB library are logged correctly.

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2021-10-01 17:54:27 +02:00
Louis Chemineau
735fd94cc0 Fix folder size contained in S3 buckets
If 'filesystem_check_changes' was set to never, the cached size was alway set to -1 (Pending) on every access

Signed-off-by: Louis Chemineau <louis@chmn.me>
2021-08-19 15:03:46 +02:00