Commit graph

1196 commits

Author SHA1 Message Date
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
Carl Schwan
2d75321c23 Add more typing to FilesExternal commands
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-10-17 10:58:25 +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
Carl Schwan
c4bb69c143 Specify that userId can be null
This fixes a psalm false-positive where the method is called with null, since
the method actually handle this correctly already

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-10-16 23:35:33 +02:00
Carl Schwan
d4d1952f67 Fix return value of updateParent
Port to executeStatement to guarantee that we will return an int and
remove a deprecated method call at the same time

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-10-16 23:33:52 +02:00
Carl Schwan
a40ca520d4 Port away from removed IDBConnection->isConnected method
Instead track if the reconnection was successful with return value of
connect method

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-10-16 23:32:55 +02:00
Carl Schwan
386ef04e42 Fix too many arguments in LegacyDependencyCheckPolyfill
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-10-16 23:29:38 +02:00
luz paz
9d26671f05 Fix typos in apps/ subdirectory
Found via `codespell -q 3 -S l10n,./apps/files_external/3rdparty -L adn,ba,boxs,keypair,jus,optionel,ressource,tabel ./apps/`

Signed-off-by: luz paz <luzpaz@github.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2022-09-05 12:59:54 +00:00
Robin Appelman
c2b206db64
add marker interface to mark system mount points for encryption
Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-08-25 13:55:53 +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
Louis
259b2806bc
Merge pull request #32016 from nextcloud/fix/PasswordUpdatedEvent_handling
Use stored user for PasswordUpdatedEvent
2022-05-16 12:38:49 +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
Louis Chemineau
816e7827f0 Use stored user for PasswordUpdatedEvent
When handling PasswordUpdatedEvent event, we are calling getLoginName which does not exists.

This PR adds a condition to use the previously stored user when handling PasswordUpdatedEvent.

Signed-off-by: Louis Chemineau <louis@chmn.me>
2022-05-10 12:16:33 +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
Joas Schilling
b9949126ed
Fix case also when the table existed already
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-04-08 15:52:54 +02:00
Côme Chilliet
dd357d7f9b
Merge pull request #31679 from nextcloud/bugfix/noid/ensure-string-columns-to-be-maximum-of-4000
Ensure string column limit of 4.000 characters
2022-03-31 11:37:43 +02:00
Côme Chilliet
ddfa2f221e
Remove unneeded preSchemaChange and return null if no changes
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-03-31 10:19:48 +02:00
Côme Chilliet
765999f454
Merge pull request #31609 from nextcloud/fix/migrate-away-from-ilogger
Migrate from ILogger to LoggerInterface in lib/private
2022-03-29 09:39:38 +02:00
Joas Schilling
9d2536e49e
Fix files_external column length
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-03-25 12:44:51 +01:00
Robin Appelman
881e107543
Apply suggestions from code review
Co-authored-by: Louis <6653109+artonge@users.noreply.github.com>
Co-authored-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>

Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-03-24 17:41:37 +01:00
Robin Appelman
fc6e4530c4
force full setup after external storage config change
Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-03-24 17:03:44 +01:00
Robin Appelman
114af08043
Merge pull request #30991 from nextcloud/external-remove-config-migration
remove old legacy external storage migration logic
2022-03-24 16:00:33 +00: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
cfb7923e08
store mountprovider for each mount in the mounts table
this enabled more fine grained filesystem setup

Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-02-23 18:02:33 +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
Robin Appelman
6907bd67c7
remove old legacy external storage migration logic
Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-02-09 16:04:19 +01:00
Joas Schilling
c58f8d6025
Merge pull request #30945 from nextcloud/techdebt/noid/background-job-time-windows
Background job time windows
2022-02-08 14:46:20 +01:00
Joas Schilling
b8e0a3dbdd
Use the new option to signaling insensitivity
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-02-07 13:54:54 +01:00
howardZa
5c821c7136 Add SCHEME_NULL to list of allowed auth mechanism
Add Auth::Mechanism::SCHEME_NULL to list of allowed auth mechanism for AmazonS3 backend to allow attaching S3 storage to nextcloud instances running on already authorized instances (e.g. EC2 instances with IAM Instance roles)

Signed-off-by: Wolfram Gries <wolfram.gries@zapooflex.net>
2022-02-07 13:42:12 +01:00
Louis Chemineau
6220042788 Fix php:cs
Signed-off-by: Louis Chemineau <louis@chmn.me>
2022-01-26 10:47:16 +01:00
Carl Schwan
9a32672c26
Fix accessing undefined offsets
Move this to inside the else clause of the count($matches)

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-01-21 13:59:10 +01:00
Valdnet
31743438cd
l10n: Change to a capital letter
Signed-off-by: Valdnet <47037905+Valdnet@users.noreply.github.com>
2022-01-21 08:17:19 +01:00
Robin Appelman
0bed61f949
update to release smb lib
Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-01-20 16:08:55 +01:00
Arthur Schiwon
b391d5714f
do not use deprecated query() method
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2022-01-20 16:08:48 +01:00
Arthur Schiwon
a836aa34a6
add changes from Sebastian/dassIT and move default_realm to backend
- Sebastian added the switch depending on the preg_match result and with it
  the fall back to login credentials
- I turned default_realm to a backend option (was previously suggested as
  system config key)

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2022-01-20 16:08:44 +01:00
Arthur Schiwon
a96d461988
add KerberosApacheAuth support to files_external
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2022-01-20 16:08:34 +01:00
Carl Schwan
890af1917e
Merge pull request #29923 from alacn1/fix_basicauth_must_be_string
Fix users can't login external mount user entered credentials not set
2022-01-14 16:13:21 +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
Vincent Petry
ea30297552
Add option to disallow creation of local storages
Introduce a new config option to prevent web UI admins to create
or edit external storages of type "local".

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-12-15 09:15:31 +01:00
Anderson Luiz Alves
4e65441cb2 files_external SMB: throw InvalidArgument when user is not set
Signed-off-by: Anderson Luiz Alves <alacn1@gmail.com>
2021-12-03 10:57:00 -03:00
Côme Chilliet
113756db30
Fix ArrayAccess and JsonSerializable return types
First round of modifications for PHP 8.1

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2021-11-23 09:28:56 +01:00
Julius Härtl
b7d007547a
Add migration to move over existing storage ids
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-11-09 14:34:05 +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
Julius Härtl
8a14f64ac2 Delete object to cleanup leftover of paths when removing directories
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-08-13 16:34:48 +00:00
Richard Steinmetz
2e53cf4c1f
Gracefully handle smb acls for users without a domain
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2021-08-13 09:43:50 +02:00
Arthur Schiwon
47a8d0d5e0
fix app disdplay name
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-06-16 15:19:28 +02:00
Robin Appelman
94f0c10ec6
fix some types
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-06-16 13:56:26 +02:00
Robin Appelman
381aaeb0cc
move logic from contstructor to boot method
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-06-16 13:56:25 +02:00
Robin Appelman
2bb78da813
move user/group deleted listeners to new event listener service
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-06-16 13:56:25 +02:00
Robin Appelman
3a645e2d40
move files_external to IBootstrap
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-06-16 13:56:20 +02:00
Robin Appelman
1052feabed
remove depricated methods from MountConfig
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-06-16 13:55:19 +02:00
blizzz
ae4907b6c9
Merge pull request #26397 from nextcloud/external-storage-login-ldap-public
allow using any ldap property as login name when using external storage login credentials
2021-06-07 13:13:54 +02:00
John Molakvoæ (skjnldsv)
215aef3cbd
Update php licenses
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2021-06-04 22:02:41 +02:00
Robin Appelman
592d6d5ebc
allow using any ldap property as login name when using external storage login credentials
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-06-03 18:55:25 +02:00
Valdnet
77ca79f697
l10n: Spelling unification
Spelling unification in Transifex.

Signed-off-by: Valdnet 47037905+Valdnet@users.noreply.github.com
2021-05-21 11:50:12 +02:00
szaimen
35d978c2fc Rename External storages to External storage
Signed-off-by: szaimen <szaimen@e.mail.de>
2021-05-20 12:13:04 +02:00
Robin Appelman
ed2396b045
better cleanup of filecache when deleting an external storage
this way it can delete the cache entries even with per-user credentials

Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-05-19 17:08:20 +02:00
Robin Appelman
effb7dc8ba
set mimetype for objects uploaded to object storages
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-04-21 15:25:58 +02:00
Julius Härtl
8f01bc65f1
Continue iterating over diretory contents and just hide file if denied by acl
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-04-20 17:17:09 +02:00
Roeland Jago Douma
0a6416f84f
Merge pull request #23444 from nextcloud/notify-dry-run
add dry-run option to files_external:notify
2021-03-30 21:46:27 +02:00
Robin Appelman
43f70e5817
ignore readonly flag for directories
see http://support.microsoft.com/kb/326549

Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-25 12:03:09 +01:00
Robin Appelman
98c3eb6cad
add dry-run option to files_external:notify
and add some additional logging

Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-24 14:28:04 +01:00
Morris Jobke
fb09f3d31d
Merge pull request #26145 from nextcloud/smb-force-write-option
add (hidden) option to always show smb root as writable
2021-03-19 15:31:04 +01:00
Vincent Petry
e6fd9b2f55
Merge pull request #25129 from nextcloud/bugfix/smb-notify-subpath
Fix files_external:notify command when running withing a subdirectory
2021-03-19 14:53:16 +01:00
Morris Jobke
0f2c4ff64c
Use correct exception type hint in catch statement
Found by psalm update 4.6.2 to 4.6.3 in #26111

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2021-03-16 22:06:07 +01:00
Robin Appelman
5ffaa94fbc
add (hidden) option to always show smb root as writable
some smb servers are very insistent in reporting that the root of the share is readonly, even if it isn't.

This works around the problem by adding a hidden option to overwrite the permissions of the root of the share.

This can be enabled using

```bash
occ files_external:config <mount id> root_force_writable true
```

where you can find your mount id using

```bash
occ files_external:list
```

Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-16 15:35:35 +01:00
Robin Appelman
b844293536 catch notfound and forbidden exception in smb::getmetadata
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-04 21:34:54 +01:00
Roeland Jago Douma
68ec18323d Fix types in the Group Manager
Psalm found an issue. However the issue found was because of lying
docblocks. Fixed those and did some typing to make it all better.

For #25839

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2021-03-03 14:52:47 +01:00
Roeland Jago Douma
5cd1880daa Fix a few RedundantCast
Reported by psalm
For #25641

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2021-03-01 16:00:32 +01:00
dependabot-preview[bot]
eb502c02ff
Bump nextcloud/coding-standard from 0.3.0 to 0.5.0
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>
2021-02-18 13:31:24 +01:00
Roeland Jago Douma
2ea3cb7c93 Drop redundant indes
Those indexes are already covered by others. So those can just be used.
THose extra indexes just take up space.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2021-02-16 11:38:43 +01:00