Commit Graph

162 Commits

Author SHA1 Message Date
Arthur Schiwon 43bc31bacb
set a storage availability delay on auth issues to avoid lock out
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-08-22 12:40:15 +02:00
Arthur Schiwon cd62b38cc8
catch auth issues also when php-smbclient is in use
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-08-22 11:12:43 +02:00
Morris Jobke adc2ab4bb2
Ignore forbidden exception when fetching share mtime on SMB for symlinks
See https://github.com/nextcloud/server/pull/7556#issuecomment-499028026

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2019-07-08 21:43:24 +02:00
Robin Appelman 6d5579863e
add option to show hidden files in SMB shares
Note hidden files can mean different things in smb and the option the the files web ui,
the webui only counts files starting with '.' as hidden, while smb files
can be marked as hidden regardless, any files that are marked as hidden
on smb will thus be shown in the webui regardless of the setting in the files app.

Fixes #15644

Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-05-23 21:23:56 +02:00
Michael Zamot dc35a8af83 Convert timestamp key value of metadata in Swift files_external
modified:   apps/files_external/lib/Lib/Storage/Swift.php

Signed-off-by: Michael Zamot <michael@zamot.io>

Convert value of timestamp metadata key in swift files_external to string
2019-03-01 12:10:37 -07:00
Morris Jobke 7fc68fe93e
Merge pull request #14211 from nextcloud/bugfix/prefix-path-to-filecache-s3
Prefix $path for filename for internal file cache
2019-02-19 12:01:08 +01:00
Daniel Kesselberg 0d667d18bb
Call headObject if file not in filecache 🙈
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-02-14 18:34:04 +01:00
Daniel Kesselberg 659ed3ecda
Prefix $path for filename for internal file cache
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-02-14 17:06:14 +01:00
Arthur Schiwon 792bcb82ae
add LDAP ConfigHandler for external storages and "$home" var
* handler registered upon OCA\\Files_External::loadAdditionalBackends
  event as user_ldap is loaded before files_external
* new configuration field "ldapExtStorageHomeAttribute" (not in GUI yet)

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-02-14 15:22:22 +01:00
Robin Appelman 2c1f6331a4
Add interface to allow storages from opting out of encryption
As opposed to hard-coding a list of excluded storages

Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-11-29 16:31:34 +01:00
Daniel Kesselberg 4cbea5f7e1
Remove value from cache on delete/clear
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2018-10-08 16:40:39 +02:00
Daniel Kesselberg 5cf38254bb
Use helper method for content length and last modified
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2018-10-01 20:18:36 +02:00
Daniel Kesselberg 67d5380b91
Reuse information from ListObjects for stat / filetype
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2018-09-30 21:05:53 +02:00
Morris Jobke 8563ab94aa
Merge pull request #10589 from nextcloud/smb-stat-retry
retry smb stat on timeout
2018-08-24 07:00:40 +02:00
Robin Appelman bdc6d0b5a1
log entries that are hidden during file listing
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-08-16 01:20:05 +02:00
Robin Appelman 24aaa3bc97
retry stat on timeout
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-08-08 16:07:41 +02:00
Morris Jobke e35451fd4e
Merge pull request #10025 from nextcloud/smb-rename-invalidargument-retry
also retry rename operation on InvalidArgumentException
2018-07-11 16:25:22 +02:00
Robin Appelman 27089422e1
Improved logging of smb connection errors
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-07-03 14:56:37 +02:00
Robin Appelman 431710a5aa
also retry rename operation on InvalidArgumentException
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-06-27 15:33:51 +02:00
Robin Appelman 90be8f336c
Add support for using kerberos ticket to authenticate to smb servers
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-06-22 14:25:36 +02:00
Robin Appelman 4a424f86db
update icewind/smb to 3.0.0
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-06-21 16:02:51 +02:00
Roeland Jago Douma 2b19add6b0
Add SFTP auth mechanism to use a password and public key for SFTP
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-06-07 13:35:43 +02:00
Morris Jobke b348431bce
Merge pull request #8842 from lanxenet/patch-1
fix(AmazonS3):  fix loop $result['Contents'] error
2018-05-07 18:41:39 +02:00
Roeland Jago Douma 055a003661
Use an actual function of the storage to determine needsPartFile
We have a function for it so better to override that. Also because other
codes that might check this should get the right value.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-05-01 15:02:36 +02:00
Arthur Schiwon 38a90130ce
move log constants to ILogger
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2018-04-26 10:45:52 +02:00
Roeland Jago Douma 47a3008141
Remove \OCP\Files::tmpFile
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-03-19 10:52:35 +01:00
Morris Jobke 63bc633d89
Merge pull request #8857 from nextcloud/swift-verify-cached-token
verify cached swift token
2018-03-19 10:10:04 +01:00
Robin Appelman 41954d2903
verify cached swift token
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-03-16 15:20:16 +01:00
enoch 6212992c0a
fix(AmazonS3): fix loop $result['Contents'] error
Invalid argument supplied for foreach() at /var/www/html/apps/files_external/lib/Lib/Storage/AmazonS3.php#295
2018-03-16 11:51:27 +08:00
Morris Jobke 044d01d0e1
Use proper method to log exceptions
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-03-12 18:10:59 +01:00
Roeland Jago Douma 017e1325f1
Merge pull request #8285 from nextcloud/apps_files-smb-catch-exceptions-on-listing
Make SMB module more fault-tolerant
2018-02-27 13:10:54 +01:00
Robin Appelman d40c61a71a
adjust external storage config format to the one used in primary storage
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-02-26 14:54:30 +01:00
Robin Appelman 31dd6d6aae
add support for v3 swift auth
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-02-26 14:54:08 +01:00
Robin Appelman 817f2f8f49
adjust swift external storage to new openstack sdk
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-02-19 19:41:16 +01:00
Roeland Jago Douma 7ad1e13961
Merge pull request #8158 from nextcloud/s3-minio
Use a more widely available method to test s3 settings
2018-02-19 17:09:36 +01:00
Morris Jobke d3d045dd5c
Remove unused import statements
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-02-14 16:55:43 +01:00
Roland Tapken 8e251e5d5a Make SMB module more fault-tolerant
Ignore unavailable files when fetching the share's mtime
or reading directory listings. This can happen on servers using a
distributed file system (DFS) with unavailable destinations, for example
when the remote server is offline.

Signed-off-by: Roland Tapken <roland@bitarbeiter.net>
2018-02-09 17:40:00 +01:00
Robin Appelman 48ea714341
Use a more widely available method to test s3 settings
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-02-08 09:34:05 +01:00
Robin Appelman 84bd2b6bc9
fix invalidating folder cache for s3
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-01-29 15:09:15 +01:00
Robin Appelman 7afd77604e
adjust s3 bulk delete to new sdk syntax
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-01-29 15:06:10 +01:00
Morris Jobke a661f043e1
Remove unneeded semicolon and parentheses
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-26 23:46:40 +01:00
Morris Jobke 4c38d1ed01
Merge pull request #8054 from nextcloud/substr-use-index
Use index based string access for substr with length of 1
2018-01-26 15:40:44 +01:00
Morris Jobke 9ff51aafc5
Use index based string access for substr with length of 1
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-26 13:38:34 +01:00
Morris Jobke 16a558871c
Use proper code flow instead of not needed else branch
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-25 23:01:03 +01:00
Morris Jobke 2a38605545
Properly log the full exception instead of only the message
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-23 10:57:21 +01:00
Morris Jobke b01d20c0d7
Merge pull request #7556 from nextcloud/smb-stat-exception
handle exceptions in SMB::stat
2017-12-18 22:31:05 +01:00
Robin Appelman 3fa13b48fc
handle exceptions in SMB::stat
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-12-18 15:55:46 +01:00
Robin Appelman 4f0d03e172
additional debug logging on smb copy/rename failures
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-12-18 13:59:58 +01:00
Robin Appelman 046eb0c635
add retry wrapper when reading files from swift
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-12-04 16:34:53 +01:00
Morris Jobke 0eebff152a
Update license headers
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-11-06 16:56:19 +01:00
Robin Appelman 91f44f5309
fix undefined constants
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-09-18 15:16:28 +02:00
Robin Appelman 9154b27943
disable part files for s3 external storage
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-09-18 15:16:27 +02:00
Robin Appelman cc9dd4280f
add stat cache for s3 external storage
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-09-18 15:16:27 +02:00
Robin Appelman d5678201b4
more efficient is_dir
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-09-18 15:16:27 +02:00
Robin Appelman 4bbc1cdc79
more efficient permissions for s3 external storage
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-09-18 15:16:27 +02:00
Robin Appelman 9b5accf9f3
more efficient write only fopen
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-09-18 15:16:27 +02:00
Robin Appelman d70607104e
reuse object read/write/delete logic in s3 implementations
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-09-18 15:16:27 +02:00
Robin Appelman dad18baec8
update aws sdk and move it to 3rdparty
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-09-18 15:16:27 +02:00
Vincent Petry 2cb3461146 Move GDrive external storage to a separate repo
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-08-21 09:59:10 +02:00
Vincent Petry 653610559d Bye bye Dropbox v1
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-08-16 11:03:25 +02:00
Lukas Reschke f698aa11e7 Merge pull request #6101 from cbartz/patch-1
Missing array assignment in Swift.php
2017-08-15 18:17:58 +02:00
Christopher Bartz bbd8797f1e Remove tmpFiles Array in Swift.php
tmpFiles Array is unnecessary and there has been
a reference without an assignment which lead to a bug making swift external
storage unuseable.
2017-08-14 17:35:04 +02:00
Robin Appelman ca3aef0486 Merge pull request #5872 from nextcloud/swift-filter-dot
Filter magic dot object when swift directory
2017-08-14 15:11:53 +02:00
Robin Appelman 578e4f9903
Filter magic dot object when swift directory
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-08-01 14:57:33 +02:00
Joas Schilling 7a62fbd205 Fix comparisons in the files external app
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-08-01 13:56:12 +02:00
Lukas Reschke d8ec399454
Run phan over code base
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-07-19 10:28:11 +02:00
Robin Appelman acb0903514
remove duplicate method
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-04-26 16:45:04 +02:00
Robin Appelman 43970b93d1
remove excessive logging
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-04-26 16:41:48 +02:00
Juan Pablo Villafáñez 71012b3432
Adjust SMB permissions on the root 2017-04-26 16:23:52 +02:00
Morris Jobke 4c2c08f376 Merge pull request #4416 from gvmura/avoid-duplicate-files-google
Avoid duplicate files in google with the same name
2017-04-26 01:26:04 -03:00
Morris Jobke c54a59d51e
Remove unused use statements
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-04-22 19:23:31 -05:00
gvmura 0d063c316a avoid duplicate files in google with the same name
Signed-off-by: gvmura <gvmura@uniss.it>
2017-04-21 11:30:02 +02:00
Morris Jobke 1729e4471f
Update comments to Nextcloud
* based on PR by @Ardinis
* see #4311

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-04-11 23:16:27 -05:00
Arthur Schiwon 30c95b51fb
fix fseek against string not resource by removing append support
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2017-04-04 20:25:59 +02:00
Jörn Friedrich Dreyer 9eca1da1dd
allow configuring authType for DAV backend
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-22 18:13:42 -06:00
Morris Jobke 687e38c409 Merge pull request #2970 from nextcloud/notify-self-test
Add self-test for files_external:notify
2017-01-30 17:15:57 -06:00
Robin Appelman d14ff70050
add unit tests for smb notify backend
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-01-27 10:44:45 +01:00
Robin Appelman 269747985e
Add a more powerful notify mechanism
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-01-27 10:44:33 +01:00
Morris Jobke a4ad8af6e3
Add proper default value for datadir
* better safe than sorry
* fixes #3091

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-01-19 19:49:41 -06:00
Robin Appelman 5774d3e82c
replace close:// streamwrapper with CallBackWrapper
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-01-06 15:33:32 +01:00
Robin Appelman 8429687788
Update icewind/smb to 2.0.0
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-01-05 09:16:03 +01:00
Lukas Reschke 00b4dedef5 Merge pull request #2550 from nextcloud/smb-notify-rename
Fix order of parameters when getting notified of smb renames
2016-12-16 16:11:39 +01:00
Lukas Reschke 511056dd3f Merge pull request #1678 from nextcloud/smb-stat-root
Fix mtimes for share root
2016-12-16 13:41:33 +01:00
Robin Appelman b5401adc00
Fix order of parameters when getting notified of smb renames
Signed-off-by: Robin Appelman <robin@icewind.nl>
2016-12-07 16:25:10 +01:00
Robin Appelman 0a246f9852
split off s3 connection logic
Signed-off-by: Robin Appelman <robin@icewind.nl>
2016-11-16 15:30:36 +01:00
Robin Appelman 85bd5589cb
Fix mtimes for share root
Signed-off-by: Robin Appelman <robin@icewind.nl>
2016-10-11 11:09:05 +02:00
Morris Jobke e1807ed0a4 Merge pull request #465 from nextcloud/fix_smb_attributes
Fix file permissions for SMB (read-only folders will be writeable) (#…
2016-08-04 19:48:21 +02:00
Joas Schilling 0215b004da
Update with robin 2016-07-21 18:13:58 +02:00
Joas Schilling 813f0a0f40
Fix apps/ 2016-07-21 18:13:57 +02:00
Morris Jobke e2abe70514 Merge pull request #470 from nextcloud/sftp-renameoverwritedir
Fix overwriting folders on rename with SFTP
2016-07-20 18:31:06 +02:00
Vincent Petry d372836efc
Fix overwriting folders on rename with SFTP
This aligns the behavior with other storages and also fixes the failing
unit test testRenameOverWriteDirectory
2016-07-20 15:12:27 +02:00
Juan Pablo Villafañez c376eb9f90
Fix file permissions for SMB (read-only folders will be writeable) (#25301)
* Fix file permissions for SMB (read-only folders will be writeable)

* Read-only folders won't be deletable

* Added comment for the read-only behaviour for folders
2016-07-20 14:45:42 +02:00
Robin Appelman e1fa314b18 add notify support to smb storage 2016-07-14 14:46:01 +02:00
Robin Appelman f98cb9efa0
Fix type hinting 2016-07-08 12:35:50 +02:00
Robin Appelman 8f84c99e3f
Fix undefined properties 2016-07-08 12:35:16 +02:00
Vincent Petry 09261fca86 Merge pull request #25010 from owncloud/gdrive-fix-tests
Fix GDrive test rename overwrite folder
2016-06-20 11:02:24 +02:00
Vincent Petry e325209291
Convert Dropbox Forbidden exception to StorageNotAvailableException 2016-06-14 17:38:32 +02:00
Vincent Petry c51bdd1809
Fix GDrive test rename overwrite folder 2016-06-10 14:53:37 +02:00
Vincent Petry fa9c96ac4f
Fix GDrive file size when mime type doesn't match contents
Uploading a txt file with XML contents makes GDrive return the XML mime
type.

This fix makes sure the logic that returns "SPACE_UNKNOWN" for the size
properly rely on the Google Docs mime types.
2016-06-08 09:46:49 +02:00
Vincent Petry 15fffb2b10
Fix GDrive upload file which name might match the one of a folder
Whenever a file is uploaded to GDrive, there is a check for that file
with and without extension, due to Google Docs files having no
extension. This logic now only kicks in whenever the detected
extensionless file is really a Google Doc file, not a folder.

This makes it possible again to upload a file "test.txt" in a folder
that also has a folder called "test"
2016-06-07 16:29:23 +02:00