Robin Appelman
b3766fc99b
make param names consistent with interface for copy directory polyfill
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-10-07 17:19:44 +02:00
acsfer
98eac0fc05
Simplify :)
2021-10-04 17:21:37 +02:00
acsfer
8a8df49bc0
Replace file_exists() method by is_file()
2021-10-04 17:20:17 +02:00
acsfer
3a25183b66
Get filesize() if file_exists()
...
Should make sense.
2021-10-01 21:02:38 +00:00
Daniel Kesselberg
be3f4edf1f
explicitly close source stream on encryption storage
...
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2021-09-21 17:42:22 +02:00
Daniel Kesselberg
e60a829b42
explicitly close source stream on local storage
...
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2021-09-21 17:41:59 +02:00
acsfer
9324a74bba
Handle files with is_file instead of file_exists
...
Should fix things like `fread(): read of 8192 bytes failed with errno=21 Is a directory`
2021-08-15 11:55:00 +02:00
Julius Härtl
bc3c46362a
Make sure that a empty directory can still be deleted when copied from another storage
...
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-08-13 16:34:48 +00:00
Lukas Reschke
8193a0d1cf
Merge pull request #27923 from nextcloud/remove-flysystem-storage-class
...
Remove Flysystem storage class
2021-08-10 13:18:46 +02:00
Carl Schwan
28970563a2
Remove some mentions of ownCloud from our api documentation
...
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2021-07-29 15:56:30 +02:00
Lukas Reschke
28359571de
Remove Flysystem storage class
...
This seems unused as per https://github.com/nextcloud/server/issues/27768
and may allow us to get rid of one more dependency.
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2021-07-12 13:21:06 +02:00
Rid
0469acfb20
Fix scanner mistaking socket files for directories
...
Signed-off-by: Rid <rid@cylo.io>
2021-06-17 11:44:44 +01: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
ed2d02d5f1
better cleanup of user files on user deletion
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-04-27 20:29:51 +02:00
Lukas Reschke
4b4971ab52
Merge pull request #24966 from nextcloud/jknockaert-patch-1
...
avoid fread on directories and unencrypted files
2021-04-06 13:45:10 +02:00
Roeland Jago Douma
f3738eeff7
Merge pull request #25280 from nextcloud/explicit-file-permissions
...
Set umask before operations that create local files
2021-03-30 21:55:50 +02:00
Robin Appelman
aee4caed07
show better error messages when a file with a forbidden path is encountered
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-24 17:13:09 +01:00
Robin Appelman
e5dc1a8085
Set umask before operations that create local files
...
this solves issues where "other php stuff" is messing with the umask
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-23 14:52:31 +01:00
Robin Appelman
7995c6e1dc
dont return private storage interface from public mount interface
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-23 12:25:37 +01:00
Robin Appelman
c87b1a50d9
apply object store copy optimization when 'cross storage' copy is within the same object store
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-09 20:31:27 +01:00
Roeland Jago Douma
618805b14f
Fix RedundantPropertyInitializationCheck
...
For #25839
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2021-03-09 09:49:45 +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
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
Robin Appelman
d182043e83
explicitly set permissions on newly created folders
...
this works around any `umask` that might be set and limiting the folder permissions
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-01-20 17:15:57 +01:00
Jasper Knockaert
40fde94b4d
fix even more brackets
...
Signed-off-by: Jasper Knockaert jasper@knockaert.nl
2021-01-16 14:49:53 +01:00
Jasper Knockaert
252d1ae512
fix brakcets
2021-01-16 14:38:19 +01:00
Jasper Knockaert
f9a0380eb1
consolidation of boolean expression
2021-01-16 14:33:44 +01:00
Johannes Leuker
ac88bcbd5f
Add 'allow Symlinks' as an option to config.php
...
Signed-off-by: Johannes Leuker <j.leuker@hosting.de>
2021-01-12 10:38:39 +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
Jasper Knockaert
81e3ae4753
avoid fread on directories and unencrypted files
...
Reworking the logic in order to first check the filecache and only then reading the fileheader.
This in order to solve #21578 .
2021-01-05 11:14:49 +01:00
Julius Härtl
98560c80ea
Properly handle result when copying with failure and throw in tests
...
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-01-05 09:20:35 +01:00
Christoph Wurst
9ce3ea3368
Update license headers
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-12-30 14:07:05 +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
Roeland Jago Douma
adc4f1a811
Merge pull request #22916 from J0WI/unifiy-links-to-php.net
...
Unify links to php.net
2020-12-22 09:53:31 +01:00
Julius Härtl
5094e29ebd
Merge pull request #24594 from kofemann/dcache
2020-12-22 09:26:07 +01:00
Tigran Mkrtchyan
4f2dc18f58
storage: update IStorage#file_put_contents docs to match usage
...
The current phpdoc of IStorage#file_put_contents doesnt corresponds to
it's actual usage in code, e.g.
Signed-off-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
2020-12-21 19:04:18 +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
Tigran Mkrtchyan
f3513f3fe4
files: Local#writeStream should use it's own file_put_contents
...
The OC\Files\Storage\Local#writeStream use system provided file_put_contents.
However, it overrides file_put_contents, thus expects that the default behaviour
can be different.
Use Local#file_put_contents in writeStream to benefit from class specific functionality.
Signed-off-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
2020-12-07 18:11:40 +01:00
aler9
ac0c7a8fe0
Fix file size computation on 32bit platforms
...
Signed-off-by: aler9 <46489434+aler9@users.noreply.github.com>
2020-12-02 12:05:14 +01:00
John Molakvoæ (skjnldsv)
6a453ac184
Make sure root storage is valid before checking its size
...
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2020-11-09 08:49:30 +01:00
Morris Jobke
dc479aae2d
Improve CertificateManager to not be user context dependent
...
* removes the ability for users to import their own certificates (for external storage)
* reliably returns the same certificate bundles system wide (and not depending on the user context and available sessions)
The user specific certificates were broken in some cases anyways, as they are only loaded if the specific user is logged in and thus causing unexpected behavior for background jobs and other non-user triggered code paths.
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-11-03 00:13:01 +01: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
J0WI
68ce17e59b
Unify links to php.net
...
Update all links to https://www.php.net/
Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2020-09-17 17:40:04 +02:00
Morris Jobke
063ac9d353
Do not fetch the normalized full path again if it is already available
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-09-17 09:56:45 +02:00
Julius Härtl
87e5fd0d2c
Check if quota should be applied to path when creating directories
...
This fixes an issue where the files_trashbin hierarchy of a user could
not been created as the mkdir operations were blocked by the quota
storage wrapper. Even with 0 quota, users should be able to have a
trashbin for external storages.
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-09-08 07:33:57 +02:00
Robin Appelman
2879472f81
trim slashes
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-08-28 11:14:50 +02:00
Julius Härtl
7512dc2b34
Set proper root path for single file shares originating from other storages
...
Co-authored-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Signed-off-by: Julius Härtl <jus@bitgrid.net>
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-08-28 10:50:15 +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
Roeland Jago Douma
2bbb848c31
Add legacy scanning command
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-08-19 15:45:45 +02:00
Morris Jobke
ae9ecd521f
Merge pull request #21677 from J0WI/clearstatcache-on-rmdir
...
Do clearstatcache() on rmdir
2020-08-05 23:03:06 +02:00
Robin Appelman
ad7798f9c9
use exceptions for error signaling in writeStream
...
this remove the ambiguity when writing zero length files
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-07-23 15:24:52 +02:00
Robin Appelman
5949849322
fix moving files from external storage to object store trashbin
...
having the "cache rename" after the "storage move" caused the target
to get the fileid from the source file, without taking care that the object
is stored under the original file id.
By doing the "cache rename" first, we trigger the "update existing file"
logic while moving the file to the object store and the object gets stored for the
correct file id
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-07-23 15:24:44 +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
e900f424ce
Merge pull request #21636 from nextcloud/lock-exception-readable-path
...
add proper paths to locking exceptions
2020-07-05 22:37:12 +02:00
J0WI
356bc50420
Only clear the realpath cache
...
Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2020-07-03 22:47:13 +02:00
J0WI
ea08a01999
clearstatcache() on rmdir
...
Signed-off-by: J0WI <J0WI@users.noreply.github.com>
2020-07-03 22:42:27 +02:00
Roeland Jago Douma
d53e005458
Merge pull request #21360 from nextcloud/root-storage-prevent-scanning
...
prevent the root storage from accidentally scanning user folders
2020-07-02 21:07:16 +02:00
Robin Appelman
da2d425044
add proper paths to locking exceptions
...
while some code paths do wrap the "raw" locking exception into one with a proper path, not all of them do
by adding the proper path to the original exception we ensure that we always have the usefull information in out logs
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-06-30 18:10:42 +02:00
Daniel Kesselberg
e984357cfc
Set retry = false for forbidden exception.
...
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2020-06-25 23:34:41 +02:00
Robin Appelman
35d75dbb38
relax permissions mask check for detecting part file rename
...
with files drop uploads the original file name isn't always used for the '.ocTransferId' source path
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-06-24 13:06:14 +02:00
Robin Appelman
e9b5514186
prevent the root storage from accidentally scanning user folders
...
while this scan *should* never be triggered, it's good to have some failsafe to ensure
that the users home contents don't end up getting scanned in the root storage
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-06-11 15:41:33 +02:00
Robin Appelman
e75797ad67
increase log level for storage self-test
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-06-08 18:12:49 +02:00
Roeland Jago Douma
6b26744787
Clear the statscache before fetching the metadata
...
Else if a lot of writes happen. It might happen that an old stat result
is used. Resulting in a wrong file size for the file. For example the
text app when a lot of people edit at the same time.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-05-22 09:21:53 +02:00
Robin Appelman
4e6d3d1880
Fix getDirectoryContent implementation for Jail wrapper
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-04-30 15:27:09 +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
436908ee3f
filter out blacklisted files in getDirectoryContent
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-04-23 13:34:55 +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
Christoph Wurst
301327135c
Merge pull request #20361 from nextcloud/write-stream-close-on-exception
...
Close the streams in `writeStream` even when there is an exception
2020-04-15 10:48:24 +02:00
Christoph Wurst
734c62bee0
Format code according to PSR2
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-10 16:56:50 +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
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
Christoph Wurst
14c996d982
Use elseif instead of else if
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-10 10:35:09 +02: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 +02: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 +02:00
Robin Appelman
ccbf3059ba
Close the streams in writeStream even when there is an exception
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-04-08 16:40:56 +02:00
Robin Appelman
5439469b68
optimize getMetaData for local storage
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-04-01 14:14:48 +02: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 +02:00
Christoph Wurst
b80ebc9674
Use the short array syntax, everywhere
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-03-26 16:34:56 +01:00
Robin Appelman
c32750ddd9
Use global used space in quota wrappen when external storage is included
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-03-04 18:02:50 +01:00
Christoph Wurst
5bf3d1bb38
Update license headers
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-12-05 15:38:45 +01:00
Roeland Jago Douma
81b919ed9f
Merge pull request #18163 from nextcloud/fix_file_size
...
fix filename size
2019-12-04 14:15:07 +01:00
Greta Doci
1110a93fc4
fix filename size, add comment
...
Signed-off-by: Greta Doci <gretadoci@gmail.com>
2019-12-04 11:04:46 +01:00
Arthur Schiwon
0e911d643f
delay creation of the cert bundle
...
fixes #18148
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-11-28 17:00:55 +01:00
Roeland Jago Douma
0568b01267
Improve etag handling
...
Check if values exist before using them
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-11-27 13:34:42 +01:00
Roeland Jago Douma
68748d4f85
Some php-cs fixes
...
* Order the imports
* No leading slash on imports
* Empty line before namespace
* One line per import
* Empty after imports
* Emmpty line at bottom of file
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-11-22 20:52:10 +01:00
Roeland Jago Douma
c08e803db3
Catch forbidden http status code
...
If you try to do something on a DAV mount (external or federated share)
that is not allowed. We should not mark the storage as not available but
just fail somewhat gracefully.
Now by catching this and just properly returning the operation will just
fail (and notify the user) which is already a lot better then marking
the storage as unavailable and doing boom.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-11-17 09:11:15 +01:00
Roeland Jago Douma
cc6874df19
Merge pull request #17264 from nextcloud/move-from-storage-wrappers
...
handle moveFromStorage within the same storage even when storage wrap…
2019-09-26 15:48:59 +02:00
Robin Appelman
35f317df7b
handle moveFromStorage within the same storage even when storage wrappers are applied to the source storage
...
the target storage doesn't need additional handling for wrappers as the wrappers implementation of moveFromStorage already deals with that
Any storage based on local storage isn't affected by this as local storage already has it's own way of handling with this
Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-09-25 19:17:06 +02:00
Roeland Jago Douma
bf6082e119
Merge pull request #16836 from nextcloud/fix/16724/smb-availability
...
Fix SMB availability status + higher delay on auth issues
2019-09-09 16:50:42 +02:00
Julius Härtl
64fe9bc287
Return the proper jailed path when requesting the root path
...
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-09-04 13:25:17 +02:00
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
Joas Schilling
323642454a
Undefined variable response when server is no nextcloud anymore
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-08-20 12:54:58 +02:00
Roeland Jago Douma
fb78cd3ed8
Merge pull request #16570 from nextcloud/enh/supress_touch_error
...
Supress warnings touch can generate
2019-07-29 10:39:46 +02:00
Roeland Jago Douma
1cc8a2f5d2
Supress warnings touch can generate
...
We already catch the result value. Having the warning being logged
explicitly doesn't help and polutes the log.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-07-26 17:26:59 +02:00
Roeland Jago Douma
4cc41cb4c7
Do not log all locked exceptions
...
This can happen for valid reasons (multiple users writing at the same
time) with for example the text app. Apps should properly handle it. No
reason to log it by default.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-07-26 14:55:13 +02:00
Robin Appelman
f39605dabc
verify that paths are valid for recursive local move
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-06-27 11:10:08 +02:00
Julius Härtl
67dd4b018a
Check for free space on touch
...
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-05-28 13:06:59 +02:00
Robin Appelman
631ae17dce
handle long etags from dav external storage
...
we can only store etags up to 40 characters long in the database, so when we get an etag that's longer we simply hash it to bring down the length
Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-03-14 14:46:39 +01:00
Florian Schunk
c2f8df0573
don't close input stream when writing in encrypted file
...
Signed-off-by: Florian Schunk <florian.schunk@rwth-aachen.de>
2019-01-10 00:25:07 +01:00
Roeland Jago Douma
72f3882d4b
No need to propogate changes in appdata
...
Right now we propogate a lof of changes in appdata. So for example we
propogate each and every preview that is added to the system. This has
no real added value as far as I can tell.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-12-05 22:06:19 +01:00
Robin Appelman
9b3cc72f7c
fix writeStream for jail wrapper
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-10-31 21:10:57 +01:00
Robin Appelman
c6a48110bf
allways fall back to fopen for encryption wrapper
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-10-31 21:10:51 +01:00
Robin Appelman
93de63777e
extend storage api to allow directly writing a stream to storage
...
this removes the need for temporary storages with some external storage backends.
The new method is added to a separate interface to maintain compatibility with
storage backends implementing the storage interface directly (without inheriting common)
Currently the interface is implemented for objectstorage based storages and local storage
and used by webdav uploads
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-10-31 21:10:44 +01:00
Roeland Jago Douma
0fb070b5b4
Allow chunked uploads even if your quota is not sufficient
...
Fixes #11485
This allows uploads to shared folders.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-10-24 20:29:00 +02:00
Roeland Jago Douma
51e96dc3f6
Normalize getUnjailedPath
...
Fixes #11637
If we do not normalize the unjailed path we might end up with a path
like files/user/folder/. which can break on objectstores
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-10-11 14:43:48 +02:00
Roeland Jago Douma
01bbd28530
Do not log to error loglevel when converting the error
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-08-06 16:31:30 +02:00
Bjoern Schiessle
5d0fa12e12
allow to disable encryption
...
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2018-07-05 17:24:44 +02:00
Roeland Jago Douma
54c4d95a11
Request a valid property for DAV opendir
...
Apperently Sabre and Onedrive are not friends when requesting a single
404 property. I need to dig deeper on why this is. Anyways requesting a
valid property makes it work like a charm.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-06-21 19:01:27 +02:00
Roeland Jago Douma
49145a78e9
Make sure initial files can be properly created
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-06-07 12:07:37 +02:00
Morris Jobke
7f5567e758
Merge pull request #9388 from nextcloud/log-lock-state-on-conflict
...
Log lock state on conflict
2018-05-07 16:42:26 +02:00
Morris Jobke
5484260569
Merge pull request #9372 from nextcloud/bugfix/4577
...
Do not allow folder creation with quota of 0
2018-05-07 10:11:44 +02:00
Robin Appelman
94c15efad0
always log locking errors
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-05-04 13:30:43 +02:00
Roeland Jago Douma
0ff83f7230
Do not allow folder creation with quota of 0
...
Fixes #4577
Users with a quota of 0 are a special case. Since they can't (ever)
create files on their own storage. Therefor it makes no real that they
can create folders (and possible share those etc).
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-05-03 11:31:23 +02:00
Roeland Jago Douma
f2d05120b4
Cache is not part of the quota
...
Fixes #7444
Since the quota is calculated on the files. We should allow apps etc to
store temp stuff in the <user>/cache
Else users can't upload avatars for example.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-05-02 21:46:28 +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
Morris Jobke
67dcff7a1f
Fix undefined variable - found by Phan
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-04-23 11:30:22 +02:00
Björn Schießle
c3900c9d0d
Merge pull request #9018 from nextcloud/fix-copy-encrypted-files
...
reset encryptionVersion to '1' if a file was stream copied
2018-04-03 18:24:27 +02:00
Bjoern Schiessle
a0923d9ffb
reset encryptionVersion to '1' if a file was stream copied, because this means that we basically write the file from scratch
...
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2018-04-03 18:01:23 +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
Roeland Jago Douma
7f736923d9
Merge pull request #8284 from nextcloud/lib_log-storage-test-failed
...
External storage test: log exceptions
2018-03-01 20:32:09 +01:00
Morris Jobke
24f96513fd
Merge pull request #8259 from nextcloud/guzzle6
...
update guzzlehttp/guzzle to 6.3.0
2018-02-14 22:26:19 +01:00
Morris Jobke
e2974f1133
Simplify return statement
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-02-13 21:55:24 +01:00
Roland Tapken
dc99442bc1
External storage test: log exceptions
...
If an external storage test fails the exception's message is now written
into the logfile (level INFO). Additionally, the stack trace is printed
as DEBUG. This helps to resolve the reason for a failing connection.
Signed-off-by: Roland Tapken <roland@bitarbeiter.net>
2018-02-11 16:45:32 +01:00
Robin Appelman
97b44605f4
Adjust dav client to new guzzle
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-02-09 17:13:24 +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
6bbea33133
Simplify ternary operator statements
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-26 12:36:25 +01:00
Roeland Jago Douma
4537faa5da
Merge pull request #7918 from nextcloud/properly-log-exceptions
...
Properly log the full exception instead of only the message
2018-01-23 11:56:02 +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
bcba1a97ad
Use fallback path if data dir is not available for Storage/Local.php
...
Found while testing strict types for PHP7+.
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-01-18 16:38:01 +01:00
Morris Jobke
01040daf02
Fix call to clearstatcache to actually use the file path
...
* found while adding the strict_typing for PHP 7+ migration
* first argument is a boolean - second one is the path
* see http://php.net/manual/en/function.clearstatcache.php
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-12 13:59:58 +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
Roeland Jago Douma
e47137c7d4
Merge pull request #6682 from nextcloud/dav-mimetype-fallback
...
Fallback to filename based detection if the remote dav server doesn't…
2017-12-11 15:28:05 +01:00
Robin Appelman
56fd462718
Use the correct root for shared jail when the source storage is also a jail
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-11-10 17:03:27 +01:00
Morris Jobke
4866314ce0
Run updated license header updater
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-11-07 13:47:42 +01:00
Morris Jobke
0eebff152a
Update license headers
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-11-06 16:56:19 +01:00
Joas Schilling
94f3fc63bc
Use ::class and fix missing doc
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-10-28 11:49:36 +02:00
Robin Appelman
b36dd8b71f
Fallback to filename based detection if the remote dav server doesn't know the mimetype
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-09-28 14:22:42 +02:00
Morris Jobke
3dc1bcd4c1
Merge pull request #6052 from nextcloud/fix_jail_copy
...
Fix copy from jailed storage
2017-08-10 10:21:56 +02:00
Lukas Reschke
c78e999b21
Make definition compatible
...
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-08-09 15:12:02 +02:00
Roeland Jago Douma
ace7b69aa7
Fix copy from jailed storage
...
If we have a jailed storage we must also fix the internal path on copy.
Else we pass in the wrong path.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-08-09 11:56:31 +02:00
Lukas Reschke
dfd8125aeb
Replace wrong PHPDocs
...
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-08-01 08:20:16 +02:00
Robin Appelman
03f27b4c2c
Fix scan permissions with nested permissions masks
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-07-13 14:29:04 +02:00
Robin Appelman
dfe662ad42
Fix propagating changes within jail wrapper
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-07-11 17:55:04 +02:00
Michael Munger
b8f2418248
Fixed a crash caused by Local::copyFromStorage() not conforming to Common::copyFromStorage. Issue# 5071
2017-05-23 10:29:30 -04:00
Robin Appelman
1f1e1b0d00
use unmasked permissions during scanning
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-05-18 16:38:54 +02:00
Joas Schilling
cd2b567c21
Make sure we use the passed-in storage when there is one
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-05-10 15:45:18 +02:00
Morris Jobke
c54a59d51e
Remove unused use statements
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-04-22 19:23:31 -05:00
Morris Jobke
31024b7700
Merge pull request #4329 from nextcloud/move-out-shared-folder
...
Fix moving files out of a shared folder
2017-04-12 11:44:26 -05:00
Robin Appelman
8500debe79
use unjailed path when moving files out of a shared storage
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-04-12 14:56:51 +02:00
Robin Appelman
2f949f4515
rename Jail::getSourcePath to getUnjailedPath to fix conflict with Local::getSourcePath
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-04-12 14:55:47 +02:00
Piotr M
dc78f1251e
Optimize put - Dont try to fetch filecache for not existing filecache in encription
2017-04-12 12:54:20 +02:00
Robin Appelman
a7c611039d
Dont use the permissions mask while scanning
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-04-10 15:19:21 +02:00
Lukas Reschke
49ba822fef
Remove verbose error message
...
There's no need to have this included in the error message.
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-03-29 00:34:33 +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
Roeland Jago Douma
6565533d3b
Merge pull request #3600 from coletivoEITA/master
...
added method needsPartFile() in Storage
2017-03-14 15:14:59 +01:00
Vinicius Cubas Brand
13e50cbcd7
added method needsPartFile() in Storage
...
Signed-off-by: Vinicius Cubas Brand <viniciuscb@gmail.com>
2017-03-14 10:06:50 -03:00
Roeland Jago Douma
79a16bc2d3
Merge pull request #3495 from nextcloud/dav-protected
...
Make it easier to subclass DAV storage
2017-02-15 20:49:06 +01:00
Roeland Jago Douma
17c07e5caf
Merge pull request #3447 from nextcloud/getmetadata-permissions-mask
...
also apply permissions mask in getMetaData
2017-02-15 20:22:08 +01:00
Roeland Jago Douma
f60d95840e
Merge pull request #3262 from nextcloud/jail-scanner-storage-id
...
Make sure we use the correct storage id and parent id when scanning a jailed storage
2017-02-15 20:21:03 +01:00
Robin Appelman
25dc140511
Make it easier to subclass DAV storage
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-02-15 14:00:00 +01:00
Lukas Reschke
257e28f46d
Merge pull request #3465 from nextcloud/storage-log-locks
...
Add option to enable locking debug logging
2017-02-14 15:08:21 +01:00
Morris Jobke
7f73ee0764
Add missing PHPDoc and properly throw exception
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-02-13 18:03:35 -06:00
Lukas Reschke
a422a59f99
Add storage to log item as well
...
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-02-13 22:49:44 +01:00
Robin Appelman
8c1ed7507a
Add option to enable locking debug logging
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-02-13 15:03:46 +01:00
Robin Appelman
f27113a6ee
also apply permissions mask in getMetaData
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-02-10 22:36:12 +01:00
vkuimov
71a022640b
bug when connect to yandex webdav server
...
server think that request like
<?xml version="1.0" encoding="UTF-8"?>
<d:propfind xmlns:d="DAV:">
<d:prop/>
</d:propfind>
is 400: Bad Request
2017-02-10 16:31:49 +00:00
Jörn Friedrich Dreyer
6fd7d4efd0
remove obsolete hack ( #26928 )
...
* remove obsolete hack
> // file_get_contents() has a memory leak: https://bugs.php.net/bug.php?id=61961
was closed 4 years ago. we could also use the Common implementation
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-01-27 12:20:48 -06:00
Robin Appelman
2520a4831b
Make sure we use the correct storage id when scanning a jailed storage
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-01-25 17:03:45 +01:00
Robin Appelman
38ec2a35f2
Make DAV external storage test more reliable
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-01-24 16:56:24 +01:00
Roeland Jago Douma
447e388ce9
Merge pull request #2744 from nextcloud/oc_26324
...
[downstream] Fix DAV stat cache to properly cache 404
2017-01-11 08:16:40 +01: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
Vincent Petry
6d4abdab8f
Fix DAV stat cache to properly cache 404
...
404 errors were not properly cached due to catching the wrong
exception. Now catching ClientHttpException and checking the error
code. In case of 404, adjust the stat cache accordingly.
2017-01-05 09:39:07 +01:00
Vincent Petry
4744dce4df
Nuke the legacy storage fallback from orbit
...
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-12-23 12:49:46 +01:00
Morris Jobke
1253d1008a
Merge pull request #2411 from nextcloud/fix-encryption-home-storage
...
check if the file should really be encrypted before we update the file cache
2016-12-05 15:38:12 +01:00
Robin Appelman
02ee4f958c
apply permissions mask for shared storage
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2016-12-02 17:59:02 +01:00
Bjoern Schiessle
0f8fe77b3a
check if the file should really be encrypted before we update the file cache
...
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2016-11-29 20:34:45 +01:00
Joas Schilling
558f169671
Move the validation into one place only
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-11-21 09:23:37 +01:00
Morris Jobke
27ba46c40e
Merge pull request #1890 from nextcloud/downstream-25428
...
fixing php 32 bit (arm) filemtime on large file issue (#18971 ) (#25428 )
2016-10-25 14:44:27 +02:00
Lukas Reschke
459477e2c3
Move function to LargeFileHelper
...
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-10-25 12:00:57 +02:00
Boris Rybalkin
cfc0d9249b
fixing php 32 bit (arm) filemtime on large file issue ( #18971 ) ( #25428 )
...
* fixing php 32 bit (arm) filemtime on large file issue (#18971 )
* cast to int
2016-10-25 11:43:17 +02:00
Lukas Reschke
df3444493b
Remove not existent function call
...
- Removes a not existent function call
- Removes a fallback for Windows
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-10-25 11:37:16 +02:00
Roeland Jago Douma
e73a11d106
Fix permision mask
...
If we move a file from the temp part file to the original file we don't
need update permissions.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-10-24 21:45:00 +02:00
Joas Schilling
246bb9f33d
Move OC\Files\Storage\Shared to the right namespace
2016-10-20 20:27:44 +02:00
Vincent Petry
1f21a132c7
Only use realpath for real directories ( #26058 )
...
In some cross-local-storage use cases, the Local storage is
instantiated with "/" as data directory. In such cases, calling
realpath() would cause PHP warnings when open_basedir is set.
This fix bypasses the realpath() call when dealing with a root storage.
Downstreaming of https://github.com/owncloud/core/pull/26058
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-09-26 11:21:47 +02:00
Robin Appelman
e316a7ade7
Allow jail wrappers to lazily initialize the source storage
2016-08-22 12:26:27 +02:00
Robin Appelman
5e44a2d868
Allow storage wrappers to lazily initialize the source storage
2016-08-22 12:23:55 +02:00
Robin Appelman
d499f68fd7
Fix storage id with storage jail
2016-07-22 14:34:59 +02:00
Joas Schilling
0215b004da
Update with robin
2016-07-21 18:13:58 +02:00
Joas Schilling
ba87db3fcc
Fix others
2016-07-21 18:13:57 +02:00
Morris Jobke
c2d88a08b7
Remove unneeded checks if it runs on a Windows machine
...
* the setup check is still there
2016-07-08 15:55:17 +02:00
Robin Appelman
2a72eff9ee
Fix getting the certificate bundle for dav external storage ( #25274 )
...
* Fix getting the certificate bundle for dav external storages
* Log the original exception in dav external storage
2016-06-27 22:26:43 +02:00
Robin Appelman
88ef163276
handle unavailable fed shares while testing for availability ( #25277 )
...
* More explicit http status codes
* handle unavailable fed shares while testing for availability
2016-06-27 21:34:28 +02:00
Vincent Petry
8d0948977e
Merge pull request #24899 from owncloud/local-storage-symlinks
...
dissalow symlinks in local storages that point outside the datadir
2016-06-08 10:19:24 +02:00
Robin Appelman
2cf7ad8c55
make sure $data['mtime'] is always a timestamp
2016-06-07 17:09:24 +02:00
Robin Appelman
7b1b723e5b
dissalow symlinks in local storages that point outside the datadir
2016-06-07 14:01:53 +02:00
Robin Appelman
6bc8305edd
Fix warnings when trying to get mtime of non existing files
2016-06-03 13:35:27 +02:00
Vincent Petry
5d7f37d570
Check whether remote DAV server accepted the mtime on touch
...
ownCloud as remote DAV always accepts the mtime on touch, but other
servers like Apache's DAV server doesn't. The latter doesn't give any
visible hint in its response to detect this case, so this fix does a
subsequent PROPFIND to check whether the mtime was actually set.
Since a touch() operation seldom happens (only on uploads), the minor
performance loss should hopefully be acceptable.
2016-05-30 16:10:30 +02:00
Vincent Petry
6f346b4b1f
Fix webdav destination header when overwriting folders
...
The trailing slash is needed when talking to Apache's mod_dav server
2016-05-30 16:10:30 +02:00
Lukas Reschke
aba539703c
Update license headers
2016-05-26 19:57:24 +02:00
Vincent Petry
bac8e13324
Remove unneeded unsets in encoding wrapper
2016-05-20 09:33:59 +02:00
Vincent Petry
e8d082208d
Fixes for encoding wrapper
...
Improved label
Fixed rename/copy/moveFromStorage/copyFromStorage and added tests
Improved findPathToUse algo
2016-05-20 09:33:59 +02:00
Vincent Petry
63bbbf29f4
Add wrapper for NFD encoding workaround
2016-05-20 09:33:59 +02:00
Robin McCorkell
77cec29b10
Prevent concurrent availability checks
2016-04-26 22:30:09 +01:00
Lukas Reschke
ddbebe91f0
Merge pull request #24246 from owncloud/local-invalid
...
error out if a local storage isn't setup correctly
2016-04-26 20:57:56 +02:00
Robin Appelman
dbfdc6282a
do propagation in a single query
2016-04-25 16:18:59 +02:00
Robin Appelman
21643150aa
error out if a local storage isn't setup correctly
2016-04-25 14:36:53 +02:00
Roeland Jago Douma
dedf392751
Move \OC\Files to PSR-4
2016-04-24 21:37:35 +02:00