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
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 +01: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 +01:00
Joas Schilling
1e35ece8e5
Fix potential empty result
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-01-20 10:09:45 +01: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 +01: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 +01: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 +01: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 +01: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 +01: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 +01: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 +01: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 +01: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 +01:00
blizzz
72f16a46e8
Revert "allow using any ldap property as login name when using login credentials"
2021-01-07 14:01:32 +01: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 +01: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 +01: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 +01: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 +01: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 +01: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 +01: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 +01: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 +01: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 +01: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 +01: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 +02: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 +00: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 +02: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 +02: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 +02: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 +02: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 +02:00
Morris Jobke
99c9423766
Remove @suppress SqlInjectionChecker
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-09-16 15:53:56 +02: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 +02: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 +02: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 +02: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 +02: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 +02: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 +02: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 +02:00
Daniel Kesselberg
6f8147b18f
Fix some MissingDocblockType or InvalidDocblock warnings.
...
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2020-08-14 15:10:48 +02: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 +02:00
Daniel Kesselberg
ba3a855ad8
Remove unused method uploadFile
...
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2020-08-13 08:02:28 +02:00
Morris Jobke
0b0cc48c88
Move event listener to dedicated class
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-07-30 12:04:56 +02:00
Robin Appelman
d1bd3ba594
update saved credentials on password change
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-07-30 11:43:15 +02: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 +02: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 +02: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 +02: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 +02: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 +02: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 +02: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 +02: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 +02:00
Joas Schilling
347ab5241c
Move files_external to migrations
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-07-06 16:42:14 +02:00
Joas Schilling
d7c0b9cced
Also always return in app commands
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-06-26 15:12:11 +02: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 +02: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 +02:00
Christoph Wurst
cb057829f7
Update license headers for 19
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-29 11:57:22 +02:00
Robin Appelman
7f32fe6d50
add tooltip to option
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-04-22 14:25:33 +02: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 +02: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 +02: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 +02:00
Christoph Wurst
28f8eb5dba
Add visibility to all constants
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-10 16:54:27 +02: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 +02: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 +02:00