Commit Graph

1221 Commits (d949fce1d524ee7c050fbb7cdca800b0723350ec)

Author SHA1 Message Date
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 +07: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 +07: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 +07: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 +07: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 +07:00
Robin Appelman a6f245f6ff
type hint as generator
Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-03-04 16:26:08 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07:00
Louis Chemineau 6220042788 Fix php:cs
Signed-off-by: Louis Chemineau <louis@chmn.me>
2022-01-26 10:47:16 +07: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 +07: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 +07:00
Robin Appelman 0bed61f949
update to release smb lib
Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-01-20 16:08:55 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07:00
Julius Härtl 9356124700
Merge pull request #29021 from nextcloud/work/smb/additional-logging 2021-10-25 13:25:04 +07:00
Robin Appelman a1ca901e58
cache versioning enabled status
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-10-19 15:03:22 +07:00
Robin Appelman eb6e6e3a85
minor directory detect improvements
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-10-19 14:58:40 +07:00
Robin Appelman 247e12da96
always set Key field in `headObject`
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-10-15 16:43:50 +07:00
Robin Appelman 4bd08af2ad
more reliable hasUpdated for s3
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-10-15 16:02:57 +07:00
Robin Appelman 34637697e1
remove old migration method
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-10-15 15:35:19 +07: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 +07:00
Robin Appelman 294af4275c
more reliable directory copy
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-10-15 15:35:09 +07:00
Robin Appelman 5e3c8b3af2
doesDirectoryExist fixes
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-10-15 15:35:06 +07:00
Robin Appelman 09ffac5e6d
s3 external storage listing rework
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-10-15 15:35:02 +07: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 +07:00
John Molakvoæ 739b67031b
Merge pull request #27194 from nextcloud/new-ftp 2021-10-14 10:29:24 +07:00
Vincent Petry d02936bfb3
Revert "Delete S3 versions in rmdir" 2021-10-12 17:06:02 +07: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 +07:00
Robin Appelman a3f1d10f4d
ftp ci improvements
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-10-07 18:47:13 +07:00
Robin Appelman 7d582cb489
update copyright header
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-10-07 17:36:17 +07:00
Robin Appelman 6b80ae9d44
teardown
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-10-07 17:19:36 +07: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 +07: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 +07: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 +07: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 +07: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 +07:00
Arthur Schiwon 47a8d0d5e0
fix app disdplay name
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-06-16 15:19:28 +07:00
Robin Appelman 94f0c10ec6
fix some types
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-06-16 13:56:26 +07: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 +07: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 +07:00
Robin Appelman 3a645e2d40
move files_external to IBootstrap
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-06-16 13:56:20 +07:00
Robin Appelman 1052feabed
remove depricated methods from MountConfig
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-06-16 13:55:19 +07: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 +07:00
John Molakvoæ (skjnldsv) 215aef3cbd
Update php licenses
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2021-06-04 22:02:41 +07: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 +07: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 +07:00
szaimen 35d978c2fc Rename External storages to External storage
Signed-off-by: szaimen <szaimen@e.mail.de>
2021-05-20 12:13:04 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07:00
Julius Härtl e9ae943bba
Properly handle SMB ACL blocking scanning a directory
This makes sure that a possible ForbiddenException is properly passed
through the storage as a ForbiddenException and can be catched when
trying to fetch the quota info of a parent folder

Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-01-29 11:26:22 +07:00
Morris Jobke 10214fbee0
Merge pull request #25214 from nextcloud/dependabot/composer/phpseclib/phpseclib-2.0.30
Bump phpseclib/phpseclib from 2.0.25 to 2.0.30
2021-01-21 10:25:02 +07:00
Joas Schilling 1e35ece8e5
Fix potential empty result
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-01-20 10:09:45 +07:00
Joas Schilling 6c1e294edd
Compare and store the login name via the event
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-01-20 08:50:17 +07:00
Joas Schilling 831c807eaf
Also fix the username when it changed
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-01-20 08:46:08 +07:00
Joas Schilling 76367c5c38
Don't save credentials of another user
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-01-20 08:46:07 +07:00
Christoph Wurst 4373afeae1
Bump phpseclib/phpseclib from 2.0.25 to 2.0.30
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-01-19 21:19:02 +07:00
Julius Härtl 9ee7d0b718
Fix files_external:notify command when running withing a subdirectory of the SMB share
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-01-14 16:53:02 +07:00
Christoph Wurst c1d4f8161b
Migrate internal classes to the OCP db col types
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-01-12 14:09:13 +07:00
Morris Jobke 24d436cb60
Remove unneeded casts that were found by Psalm
In preparation of the update of Psalm from 4.2.1 to 4.3.1+ (see https://github.com/nextcloud/server/pull/24521)

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2021-01-11 13:14:41 +07:00
Robin Appelman 518e91b008
dont offer to edit external config settings if we can't edit them
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-01-08 15:06:42 +07:00
Morris Jobke 275f15c1fb
Merge pull request #23261 from nextcloud/enh/external-storage-session-type
Expose session based authentication through mount point type
2021-01-07 21:29:13 +07:00
blizzz 72f16a46e8
Revert "allow using any ldap property as login name when using login credentials" 2021-01-07 14:01:32 +07:00
Robin Appelman 58f3f5cc28
allow using any ldap property as login name when using external storage login credentials
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-01-04 19:53:07 +07:00
Christoph Wurst 73c7d0dc81
Bump icewind/streams from 0.7.1 to 0.7.2
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-12-29 09:07:36 +07:00
Julius Härtl 35e5cc88f0 Expose session based authentication through mount point type
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-21 22:55:06 +07:00
Christoph Wurst d89a75be0b
Update all license headers for Nextcloud 21
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-12-16 18:48:22 +07:00
Vincent Petry 0d42d996d1
Adjust further columns
- calendarsubscriptions.lastmodified -> not null
- external_config.value -> allow null

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2020-12-09 12:13:33 +07:00
Robin Appelman 8d962579db
set mountid for personal external storage mounts
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-12-02 14:25:48 +07:00
Christoph Wurst fd649afb1f
Remove the deprecated update.php
* It was documented as deprecated.
* The app code checker warned about it
* It's been three years

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-11-27 13:02:59 +07:00
Morris Jobke f771205f5f
Remove unused and deprecated methods from files_external MountConfig
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-11-10 22:38:10 +07:00
Joas Schilling 8027dcbc6f
Don't leave cursors open when tests fail
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-11-09 12:28:17 +07:00
Roeland Jago Douma b7be09ab2c
Check if array elements exist before using them
It seems that in some recent upgrade here. Not always the entries we
expect are returned. So we should first check if they exist. As to not
spam the log.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-10-25 22:03:40 +07:00
blizzz 060286c51a
Merge pull request #23021 from nextcloud/notify-saved-login-auth
allow using saved login credentials for notify
2020-10-13 19:39:31 +07:00
Robin Appelman 9bdf0eed65
Merge pull request #23020 from nextcloud/disable-notify-self-check
add option to disable notify self check
2020-10-08 11:27:08 +07:00
Robin Appelman ea80d1d68f
also give storage backend it's change to manipulate the config
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-10-07 15:43:44 +07:00
Christoph Wurst d9015a8c94
Format code to a single space around binary operators
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-10-05 20:25:24 +07:00
Robin Appelman 6fed17a342
allow using saved login credentials for notify
when only the user is provided, we use to provided user to try and get saved login credentials

Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-09-23 15:49:27 +07:00
Robin Appelman a79f9605b4
add option to disable notify self check
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-09-23 15:16:16 +07:00
Robin Appelman 43b3049a4f
improve handling of out of space errors for smb
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-09-17 17:23:33 +07:00
Morris Jobke 99c9423766
Remove @suppress SqlInjectionChecker
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-09-16 15:53:56 +07:00
Julius Härtl 2004ae4603
Set delimiter so that the CommonPrefixes response can properly be determined
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-09-10 08:11:55 +07:00
Robin Appelman fc96fa0cc7
fix s3 doesDirectoryExist check for empty directories
if a directory is empty, only the 'marker' object `/` exists.

since not all s3 implementations return just the prefix when listing objects by prefix,
when listing objects by the folder prefix, nothing will be returned if the directory is empty.
by not including the trailing slash in the prefix, the folder marked will always be returned if it exists

Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-09-10 08:11:55 +07:00
Roeland Jago Douma bb06b6cce4
Fix reading empty files from objectstorage
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>
2020-09-09 20:45:13 +07:00
Christoph Wurst 2a054e6c04
Update the license headers for Nextcloud 20
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-08-24 14:54:25 +07:00
Morris Jobke ac73982395
Merge pull request #21734 from nextcloud/external-s3-no-touch
disable touch to update mtime for external s3 storage
2020-08-20 16:07:59 +07:00
Morris Jobke fedf9c69d9
Use matching parameter names form interfaces and implementations
Found by Psalm 3.14.1

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-08-19 18:16:35 +07:00
Morris Jobke d7f66c36ac
Fix "misplaced variables" warning of Psalm in PHPDoc statements
Ref #21787

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-08-17 17:46:57 +07:00
Daniel Kesselberg 6f8147b18f
Fix some MissingDocblockType or InvalidDocblock warnings.
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2020-08-14 15:10:48 +07:00
Morris Jobke afd52c6b12
Remove setCustomJs of the files_external FrontendDefinitionTrait
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-08-13 21:49:50 +07:00
Daniel Kesselberg ba3a855ad8
Remove unused method uploadFile
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2020-08-13 08:02:28 +07:00
Morris Jobke 0b0cc48c88
Move event listener to dedicated class
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-07-30 12:04:56 +07:00
Robin Appelman d1bd3ba594
update saved credentials on password change
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-07-30 11:43:15 +07:00
Robin Appelman c864e5dfc2
remove saved credentails if the user no longer has any storage configured using them
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-07-30 11:43:15 +07:00
Robin Appelman 7ad0f66fc4
Only save login credentials in database once there is an external storage that needs it
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-07-30 11:43:15 +07:00
Morris Jobke 638e9438a9
Merge pull request #21728 from nextcloud/bugfix/noid/s3-external-mtime-cache
Reuse cache for directory mtime/size if filesystem changes can be ignored
2020-07-15 18:26:48 +07:00
Morris Jobke cbbbbee8b1
Merge pull request #21785 from nextcloud/techdebt/noid/remove-classmap-in-files_external
Move OC_Mount_Config to proper classname and remove OC::$CLASSPATH us…
2020-07-13 16:47:12 +07:00
Robin Appelman e357d46863
filter files containing a hash in the path for ftp storages
the php ftp streamwrapper doesn't handle hashes correctly and will break when it tries to enter a path containing a hash.

By filtering out paths containing a hash we can at least stop the external storage from breaking completely

Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-07-10 14:18:40 +07:00
Morris Jobke 065ef14cb0
Move OC_Mount_Config to proper classname and remove OC::$CLASSPATH usage in files_external
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-07-10 00:02:59 +07:00
Robin Appelman 0d6910ac13
disable touch to update mtime for external s3 storage
since updating the mtime requires doing a copy this can have a significant overhead and it messes with versioning

Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-07-07 15:55:38 +07:00
Julius Härtl f5cc34c9c2
Reuse cache for directory mtime/size if filesystem changes can be ignored
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-07-07 10:22:22 +07:00
Joas Schilling 347ab5241c
Move files_external to migrations
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-07-06 16:42:14 +07:00
Joas Schilling d7c0b9cced
Also always return in app commands
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-06-26 15:12:11 +07:00
Julius Härtl 69f4c50032
Remove rescanDelay from directory mtime
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-06-22 14:15:57 +07:00
Robin Appelman 6f2e920a5b
normalize sftp path in read and write stream
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-05-25 15:26:04 +07:00
Christoph Wurst cb057829f7
Update license headers for 19
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-29 11:57:22 +07:00
Robin Appelman 7f32fe6d50
add tooltip to option
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-04-22 14:25:33 +07:00
Robin Appelman 23e2baeb95
Add option to check share ACL's when listing directories
If a file or folder in a directory doesn't have read permissions they
will not be shown

Note that enabling this option incurs a performance penalty additional
requests need to be made to get all the acl.

Additionally the acl resolving logic is fairly primitive at the moment
and might not work correctly in all setups (it should error to showing
the entry)

Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-04-21 16:26:12 +07:00
Robin Appelman 9735b5d61f
Add method to storage backends to get directory content with metadata
Currently you need to use `opendir` and then call `getMetadata` for
every file, which adds overhead because most storage backends already
get the metadata when doing the `opendir`.

While storagebackends can (and do) use caching to relief this problem,
this adds cache invalidation dificulties and only a limited number of
items are generally cached (to prevent memory usage exploding when
scanning large storages)

With this new methods storage backends can use the child metadata they
got from listing the folder to return metadata without having to keep
seperate caches.

Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-04-20 15:45:04 +07:00
Julien Lutran 3e849daf11
Fix issues with Keystone auth v3 in files_external app
Signed-off-by: Julien Lutran <julien.lutran@corp.ovh.com>
2020-04-15 10:33:08 +07:00
Christoph Wurst 28f8eb5dba
Add visibility to all constants
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-10 16:54:27 +07:00
Christoph Wurst 1584c9ae9c
Add visibility to all methods and position of static keyword
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-10 16:51:06 +07:00
Christoph Wurst caff1023ea
Format control structures, classes, methods and function
To continue this formatting madness, here's a tiny patch that adds
unified formatting for control structures like if and loops as well as
classes, their methods and anonymous functions. This basically forces
the constructs to start on the same line. This is not exactly what PSR2
wants, but I think we can have a few exceptions with "our" style. The
starting of braces on the same line is pracrically standard for our
code.

This also removes and empty lines from method/function bodies at the
beginning and end.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-10 14:19:56 +07:00
Christoph Wurst 14c996d982
Use elseif instead of else if
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-10 10:35:09 +07:00
Christoph Wurst 008e6d7e84
Merge pull request #20391 from nextcloud/refactor/spaces-cleanup
Remove all extra whitespace PSR2 does not like
2020-04-09 20:39:37 +07:00
Christoph Wurst 64510932b8
Merge pull request #20384 from nextcloud/techdebt/lowercase-keywords
Use php keywords in lowercase
2020-04-09 16:25:14 +07:00
Christoph Wurst bcd13296de
Make sure every file ends with an empty newline
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-09 16:11:50 +07:00
Christoph Wurst 44577e4345
Remove trailing and in between spaces
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-09 16:07:47 +07:00
Christoph Wurst 36b3bc8148
Use php keywords in lowercase
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-09 14:04:56 +07:00
Christoph Wurst afbd9c4e6e
Unify function spacing to PSR2 recommendation
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-09 13:54:22 +07:00
Christoph Wurst 41b5e5923a
Use exactly one empty line after the namespace declaration
For PSR2

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-09 11:48:10 +07:00
Christoph Wurst 2fbad1ed72
Fix (array) indent style to always use one tab
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-09 10:16:08 +07:00
Christoph Wurst 85e369cddb
Fix multiline comments
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-08 22:24:54 +07:00
Robin Appelman 857957b45e
allow setting tooltips for external storage config options
allows explaining non-obvious config options a bit more

Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-04-03 15:44:53 +07:00
Christoph Wurst 1a9330cd69
Update the license headers for Nextcloud 19
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-03-31 14:52:54 +07:00