Joas Schilling
bb352fb667
Use the defined func()->count() instead of manual counting
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-11-08 15:44:45 +01:00
Roeland Jago Douma
0277cd7158
Properly search the root of a shared external storage
...
Fixes #1020
When an external storage is shared with you in full the root is ''
(empty). This adds an extra check for an empty jail basically.
Because if the jail is on the empty string. It matches all paths.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-11-05 16:27:43 +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
Robin Appelman
e5c3e4b76f
Add getExtension() to FileInfo
...
this is a fairly common operation so it makes sense to prevent having
to repeatedly implement it.
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-10-29 15:24:02 +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
Robin Appelman
6c5ea0ceca
pass `Cache::getMoveInfo` along cache wrappers
...
fixes cross storage move in some cases
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-10-17 14:57:33 +02:00
Robin Appelman
565d830c11
expose storagefactory in server container
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-10-17 14:57:30 +02:00
Robin Appelman
ea42474b31
use name in fileinfo if set
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-10-17 14:56:51 +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
d5bf2c4523
Move normalizePath to regexes instead of looping
...
This is IMO a bit more readable and it seems to make the code faster.
Tested it on the company instance where there are over 3k calls to this
function. It shaves off around 10ms.
The advantage here is that the pattern gets optimized by php itsel and
cached.
Also looking for all patterns at the same time and especially no longer
looping for /./ patterns should save time.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-10-10 13:23:59 +02:00
Robin Appelman
4c0cbdff36
tokens can't be valid local user names
...
this saves searching for shares on non-public link dav requests
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-08-16 21:27:57 +02:00
Robin Appelman
c300516e51
more efficient way to detect added and removed mounts
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-08-16 19:56:49 +02:00
Robin Appelman
f7ae235372
cache OC\Files\Mount\Manager::findIn results
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-08-16 19:02:00 +02:00
Robin Appelman
f8116ad4cf
use more efficient method to find mountpoint for path
...
this changes the complexity from the number of mounts to the depth of
the path
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-08-16 18:55:52 +02:00
Robin Appelman
95981810c0
remove double loop for detecting changed mounts
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-08-16 18:24:56 +02:00
Robin Appelman
5e9d6b1585
use insertIfNotExists to store new mimetypes.
...
Also throw an error if we can't find the mimetype after insert
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-08-09 15:20:55 +02:00
Björn Schießle
11e99859ef
Merge pull request #10397 from nextcloud/encryption-s3-fix
...
make file cache updates more robust
2018-08-08 18:27:18 +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
a9e22c5f1c
make file cache updates more robust
...
only update the encrypted version after the write operation is finished and the stream is closed
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2018-07-31 12:24:38 +02:00
Robin Appelman
5e940366c2
Do scan the root storage in background scan
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-07-24 14:15:27 +02:00
Morris Jobke
19c49c8473
Use the path_hash instead of the path to query the filecache
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-07-16 16:10:34 +02:00
Morris Jobke
cc9073c251
Merge pull request #10179 from nextcloud/mount-filter
...
Add the option to filter mounts for a user
2018-07-11 16:29:09 +02:00
Julius Härtl
6da2b7c4f6
Separate fopen into read and write methods
...
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-07-11 12:08:37 +02:00
Julius Härtl
f1469e34aa
Add fopen method to ISimpleFile
...
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-07-11 10:29:03 +02:00
Robin Appelman
3ad6084891
Add the option to filter mounts for a user
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-07-10 16:49:26 +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
Morris Jobke
48b7499fa4
Merge pull request #10079 from nextcloud/search-double-slash
...
fix double slash in search result path when the result is in a submount
2018-07-02 15:49:27 +02:00
Robin Appelman
922c851494
fix double slash in search result path when the result is in a submount
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-07-02 14:17:38 +02:00
Robin Appelman
b9e685236f
Add option to only scan the home storage
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-06-28 16:09:25 +02:00
Julius Härtl
73cf71a20f
Add resource type phpDoc for putContent methods
...
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-06-26 13:58:58 +02:00
Robin Appelman
587d7cc7d2
Merge pull request #9526 from Blaok/files-scan-shallow
...
allow shallow (non-recursive) scan when scanning file storage
2018-06-25 13:01:22 +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
Robin Appelman
47fd3499a3
Fix listing s3 objects when using google cloud aws compatibility
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-06-11 17:10:57 +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
Robin Appelman
ac26175a17
add azure unit tests with azurite
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-06-04 16:18:03 +02:00
Robin Appelman
60b7cbc0f0
add azure object storage backend
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-06-04 10:57:52 +02:00
Morris Jobke
6b6d522969
Merge pull request #9395 from nextcloud/scanner-error-lock-cleanup
...
cleanup locks in scanner on error
2018-05-23 20:05:01 +02:00
Blaok
21b9ad3978
feat: allow files:scan --shallow
...
Signed-off-by: Yuze Chi <i@blaok.me>
2018-05-18 14:50:32 -07:00
Roeland Jago Douma
575dc29c27
Make Appdata static
...
* Add fileid for simpleroot folders (only internal)
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-05-14 13:25:54 +02:00
Morris Jobke
7639f680a2
Merge pull request #9397 from nextcloud/log-fileinfo-not-found
...
Debug log file not found when getting fileinfo
2018-05-07 16:43:38 +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
Morris Jobke
0da6f6b356
Merge pull request #9371 from nextcloud/bugfix/7444
...
Cache is not part of the quota
2018-05-07 10:11:04 +02:00
Robin Appelman
e3de7ec867
Debug log file not found when getting fileinfo
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-05-04 18:48:12 +02:00
Robin Appelman
63caf331e5
cleanup locks in scanner on error
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-05-04 18:05:46 +02:00
Morris Jobke
fb296342b9
Merge pull request #9387 from nextcloud/getcachentry-lock
...
remove unneeded locks in getCacheEntry
2018-05-04 14:57:09 +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
Robin Appelman
734aec1522
remove unneeded locks in getCacheEntry
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-05-04 12:51:41 +02:00
Morris Jobke
2780bb0b2b
Merge pull request #9364 from nextcloud/log-invalid-storage
...
Log mount and storage issues in getFileInfo
2018-05-04 12:01:33 +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
Robin Appelman
d71783fb93
Log mount and storage issues in getFileInfo
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-05-02 15:11:59 +02:00
Robin Appelman
57ba18f47f
Use better way to determine stream type in encryption stream wrapper
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-05-01 15:06:21 +02:00
Morris Jobke
7306d30708
Merge pull request #9321 from nextcloud/bugfix/noid/return_root_folder_when_at_root
...
Actually return the root folder when traversing up the tree
2018-04-27 13:59:29 +02:00
Roeland Jago Douma
a0e038f912
generateTokenFromCache is only valid for V3
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-04-26 20:51:05 +02:00
Roeland Jago Douma
7318882357
json_decode an associative array for the swift cached token
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-04-26 20:47:47 +02:00
Roeland Jago Douma
235e3480e6
Actually return the root folder when traversing up the tree
...
If you now keep calling $node->getParent() you will at some point get
the RootFolder back. This is a nice termination check and will prevent
endless loops if an exit condition is slightly off.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-04-26 20:04:19 +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
1ceb081c9b
Merge pull request #9280 from nextcloud/bugfix/noid/swift-v3-scope
...
Swift v3 requires setting a scope
2018-04-24 09:49:27 +02:00
Roeland Jago Douma
ba71918ad2
Swift v3 requires setting a scope
...
Unscoped auth is not guaranteed to return a catalog. So require the
scope to be set properly.
See https://developer.openstack.org/api-ref/identity/v3/index.html#password-authentication-with-unscoped-authorization
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-04-23 19:34:09 +02:00
Morris Jobke
431ccb6386
Fix undefined variable - found by phan
...
Added in https://github.com/nextcloud/server/pull/8314/files#diff-a55c10804586cd797b7f3f16556c1457R157
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-04-23 11:34:41 +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
Morris Jobke
2f068bc9d1
Add more logging for the object storage during creation of the buckets
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-04-05 17:26:09 +02:00
Roeland Jago Douma
73e6eea57e
Fix tests
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-04-04 12:50:54 +02:00
Roeland Jago Douma
37233471b6
Add pathcache
...
* If we find the mountpoint for a path cache it
* If we modify the mount points empty the pathCache
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-04-04 12:44:56 +02:00
Roeland Jago Douma
6868da9958
Make normalized cache path larger
...
On larger instances with a large number of shares this can make a real
impact as the default 512 entries are easily filled.
Making this contain max 2048 entries has basically no effect on smaller
installations (as they probably never hit the 512 now). But makes sure
we don't evict entries in the larger case.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-04-04 12:44:52 +02:00
Roeland Jago Douma
dc222aa3a5
Comparing stringlength is cheaper than strpos
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-04-04 12:44:28 +02:00
Roeland Jago Douma
e48d4c4aad
Cache the $foundMountPointLength
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-04-04 12:44:28 +02:00
Roeland Jago Douma
003c624596
Inspections
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-04-04 12:44:28 +02:00
Roeland Jago Douma
7f1141f7e9
Make the MountManager strict
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-04-04 12:44:28 +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
53447ae2b2
Throw an exception if file_put_contents fails
...
* This will help with AppData hardening etc
* Introduced a GenericFileException for if nothing else is appropiate
- Maybe the other File exceptions should base on this?
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-03-27 16:23:06 +02:00
Roeland Jago Douma
4e1161d254
Fix proper permissions for multiple file access
...
Fixes #8890
In case you have access to a file via multiple ways, for example:
1. the file is shared with you with permission read only
2. the folder containing the file is shared with your read/write
Requesting the getById function on the userFolder would give back two
entries but both with the same permissions. Depending on the node you
picked this is not right.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-03-22 12:06:41 +01: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
Roeland Jago Douma
fa886ef4eb
Merge pull request #8830 from nextcloud/node_emit_read
...
Emit read for nodes
2018-03-15 14:04:14 +01:00
Roeland Jago Douma
d6b326650b
Emit read for nodes
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-03-15 11:18:39 +01:00
Roeland Jago Douma
d3e7996e80
Fix bucket and container usage
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-03-14 13:57:14 +01:00
Roeland Jago Douma
4e8d5504d2
Properly cache swift v3 token
...
The V3 token has an export function. Without this the token is
effectively never cached.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-03-12 20:53:50 +01:00
Roeland Jago Douma
d05469959e
Merge pull request #8715 from nextcloud/objectstore-no-part-files
...
disable part files for object stores
2018-03-08 20:52:16 +01:00
Robin Appelman
fc35352122
disable part files for object stores
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-03-07 13:33:35 +01:00
Robin Appelman
9764e70494
don't read existing file when overwriting using object store
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-03-07 12:05:57 +01:00
Joas Schilling
158aac00a0
Merge pull request #8289 from nextcloud/appdata_hardening
...
AppData hardening
2018-03-02 11:26:36 +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
Roeland Jago Douma
8b5997483c
Hardening of SimpleFile getContent
...
if file_get_contents fails remove the file. And traverse up the tree
checking if the other folders are there.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-02-27 13:35:09 +01:00
Roeland Jago Douma
812ea354d0
User proper username + pass
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-02-26 14:54:18 +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
Robin Appelman
3192efc415
adjust swift object storage to new openstack sdk
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-02-19 19:41:16 +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
236086c457
Merge pull request #8335 from nextcloud/remove-unused-import
...
Remove unused import statements
2018-02-14 22:23:07 +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
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
Roeland Jago Douma
3e0ef7e3f2
Try to silence phan
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-02-08 15:18:26 +01:00
Robin Appelman
e34c20af7d
don't swallow exception from touch
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-02-08 15:18:26 +01:00
Robin Appelman
85d23dd6fc
better error message on catalog error
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-02-08 15:18:26 +01:00
Morris Jobke
26e0c14c6d
Merge pull request #8033 from nextcloud/s3-uploader
...
Use S3Client::upload instead of splitting single/multipart upload ourselves
2018-02-08 14:30:02 +01:00
Morris Jobke
e5c08621af
Merge pull request #8023 from nextcloud/webdavsearch_limit_order_fixing
...
Respect limit and order in webdav search
2018-02-08 09:11:39 +01:00
Robin Appelman
fd09c06eb4
actually return stream from swift
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-02-07 17:10:59 +01:00
Roeland Jago Douma
c1ff12e234
CacheJail should apply limit and offset after searching
...
Else the results might not be correct.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-02-07 13:41:15 +01:00
Roeland Jago Douma
53a780e31c
Do not try to get the jailed path if we can't find the id
...
Fixes #8047
If we can't find the file by id there we should just return null instead
of trying to get the jailed path of null.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-02-03 14:45:28 +01:00
Morris Jobke
eb51f06a3b
Use ::class statement instead of string
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-29 12:03:47 +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
97c216ea06
Merge pull request #8071 from nextcloud/remove-silly-code
...
Cleanup unused code
2018-01-26 15:47:06 +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
c005fc6755
Cleanup unused code
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-26 15:25:19 +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
Joas Schilling
c2b1bd92d6
Merge pull request #8063 from nextcloud/inline-value
...
Return value immediately instead of assigning to a one-time variable
2018-01-26 10:15:39 +01:00
Roeland Jago Douma
5a7a5e5352
Merge pull request #8058 from nextcloud/useless-return
...
Remove useless return statements
2018-01-26 09:51:26 +01:00
Morris Jobke
0a56d2185e
Return value immediately instead of assigning to a one-time variable
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-26 00:02:03 +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
4dbee99b7b
Remove useless return statements
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-25 22:50:40 +01:00
Robin Appelman
3499cbdb76
Use S3Client::upload instead of splitting single/multipart upload ourselves
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-01-24 17:22:05 +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
5c360a41e9
Merge pull request #7858 from nextcloud/fix-local-storage
...
Use fallback path if data dir is not available for Storage/Local.php
2018-01-23 10:52:41 +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
Robin Appelman
326d55db81
Support arbitrary number of arguments for d:or and d:and in search queries
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-01-16 13:22:28 +01:00
Roeland Jago Douma
8a41d05761
Remove deprecated \OCP\Config
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-01-13 14:25:04 +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
34ced4dd97
add option to use legacy v2 auth with s3
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-12-19 11:54:55 +01:00
Morris Jobke
d2d73f1ce8
Also replace all other occurences
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-12-18 20:57:11 +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
05d2f61a59
handle not found mounts when cleaning avatars
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-12-11 16:56:10 +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
Morris Jobke
c32cb6b4b7
Merge pull request #7385 from nextcloud/shared-delay-root
...
delay calculating the shared cache root until it's used
2017-12-06 15:14:48 +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
Robin Appelman
c87d689253
delay calculating the shared cache root until it's used
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-12-04 15:16:39 +01:00
Morris Jobke
be4e921306
Use basename() instead of self implementation
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-11-23 12:35:47 +01:00
Morris Jobke
106d932e8f
Merge pull request #7137 from nextcloud/shared-jailed-source-root
...
Use the correct root for shared jail when the source storage is also a jail
2017-11-23 12:03:36 +01:00
Bjoern Schiessle
1ade6b0817
only create the file cache entry after the empty file was created successfully, otherwise file_exists() call on the initial file_put_content() will indicate that the file already exists
...
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-11-17 12:45:46 +01:00
Björn Schießle
c225bbd021
Merge pull request #7113 from nextcloud/s3-download-stream-fix
...
Fix s3 download and touch
2017-11-14 20:38:50 +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
5d8421135e
Merge pull request #7014 from nextcloud/rename-locks
...
Unlock files even if an exception occurs while renaming
2017-11-09 09:47:36 +01:00
Lukas Reschke
989a8a3668
Merge pull request #6220 from nextcloud/cached-mount-info-filepath
...
Allow getting the filepath when getting cached mounts by fileid
2017-11-09 00:04:25 +01:00
Robin Appelman
c566b2854b
Use non empty files for object store touch
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-11-08 17:51:02 +01:00
Robin Appelman
70a4860ccb
Fix contructing headers for s3 download
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-11-08 17:50:46 +01:00
Morris Jobke
19069f2b9c
Merge pull request #6988 from starypatyk/stable12-mount-cache-performance
...
Improve performance of UserMountCache with external storage folders
2017-11-07 17:32:06 +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
31c5c2a592
Change @georgehrke's email
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-11-06 20:38:59 +01:00
Morris Jobke
da6c2c9da1
Merge pull request #7083 from nextcloud/update-license-headers
...
Update license headers
2017-11-06 18:48:04 +01:00
Morris Jobke
0eebff152a
Update license headers
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-11-06 16:56:19 +01:00
Morris Jobke
8b763ea0f7
Better error message for invalid bucket names
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-11-06 09:48:41 +01:00
korelstar
c7482402b8
Unlock files even if an exception occurs
...
Signed-off-by: Kristof Hamann <korelstar@users.noreply.github.com>
2017-11-03 18:29:04 +01:00
Roeland Jago Douma
687c92bfd3
Merge pull request #6974 from nextcloud/fix-fseek-on-objectstorage
...
Fix seeking on object storage
2017-11-02 14:56:51 +01:00
Dariusz Olszewski
07016a1e5b
Improve performance of UserMountCache with external storage folders
2017-11-01 21:11:39 +01:00
Joas Schilling
3e0789aa94
Merge pull request #6958 from nextcloud/improved-mimetype-detection-for-object-storage
...
Improve mimetype detection for object storages
2017-11-01 11:04:15 +01:00
Joas Schilling
defc4bf6a8
Merge pull request #6975 from nextcloud/s3-read-object-fopen
...
use fopen directly when reading objects from s3
2017-11-01 10:57:56 +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
3f0cb13042
Allow getting the filepath when getting cached mounts by fileid
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-10-27 14:35:34 +02:00
Robin Appelman
f9a7294807
use fopen directly when reading objects from s3
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-10-27 12:58:19 +02:00
Morris Jobke
de912385e0
Fix seeking on object storage
...
Seeking is not needed if the $from is 0, because then the pointer is already at the correct position. Additionally another fallback is added, that if the fseek fails it just uses an fread to skip the beginning of the file until it is at the correct position. This skipping is done with a chunked fread.
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-10-27 12:16:28 +02:00
Morris Jobke
405bbc1c61
Improve mimetype detection for object storages
...
Object storage instances always fall back to the content based mimetype detection, because the file name for object storage was always random due to the fact that it was temporarily storage in a generated temp file. This patch adds a check before that to make sure to use the original file name for this purpose and also remove possible other extensions like the versioning or part file extension.
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-10-26 16:31:59 +02:00
Julius Härtl
4cfa1c66b8
Doc: Fix phpDoc issues
...
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-10-23 23:23:56 +02:00
Robin Appelman
91b3536f45
propagate multipart upload exception when aborting upload
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-10-17 15:10:58 +02:00
Roeland Jago Douma
a5912cbe33
Merge pull request #6812 from nextcloud/upload-cache-path
...
also use configured 'cache_path' for new chunking
2017-10-15 21:42:41 +02:00
Robin Appelman
e393b3553e
set s3 part size to 500mb
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-10-11 15:59:53 +02:00
Robin Appelman
d27b0b07bc
also use configured 'cache_path' for new chunking
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-10-11 14:18:45 +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
Robin Appelman
385d6f098c
Add tests for multipart upload
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-09-21 14:47:34 +02:00
Robin Appelman
4ae46d8876
only do multipart upload for large files
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-09-21 14:06:59 +02:00
Robin Appelman
e4e5e735db
multipart upload for s3 object storage
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-09-20 17:51:58 +02:00
Robin Appelman
d526969a68
fix path style
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-09-18 15:16:28 +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
William Pain
9a63ded43b
Fix uninitialized variable $this->params
...
Signed-off-by: William Pain <pain.william@gmail.com>
2017-09-11 10:01:12 +02:00
Morris Jobke
c04a494ea7
Merge pull request #6064 from nextcloud/fix-5219-absolute-path-must-be-relative-to-files-on-theming-update
...
Still throw a locked exception when the path is not relative to $user/files/
2017-09-04 14:05:34 +02:00
Robin Appelman
804d97d6ff
unlock file when an exception occurs during scanning
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-08-26 18:58:06 +02:00
Robin Appelman
18908af87b
Dont swallow exception when inserting mimetypes if we're inside a transaction
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-08-26 18:58:06 +02:00
Joas Schilling
b9b88aa666
Don't lock in the appdata_ directory
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-08-10 12:35:33 +02:00
Joas Schilling
5515c7b2c0
Still throw a locked exception when the path is not relative to $user/files/
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-08-10 11:58:01 +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
Joas Schilling
b29baababd
Oracle does not support PDO::FETCH_KEY_PAIR
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-08-02 09:48:12 +02:00
Lukas Reschke
dfd8125aeb
Replace wrong PHPDocs
...
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-08-01 08:20:16 +02:00
Morris Jobke
c27498db71
Use IConfig instead of static OCP\Config
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-07-27 13:43:18 +02:00
Roeland Jago Douma
5f227bd93b
More phpstorm inspection fixes
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-07-24 11:39:29 +02:00
Morris Jobke
9a151056d0
Merge pull request #5812 from MrJeos/master
...
Fix for mb strlen
2017-07-22 11:04:24 +02:00
Morris Jobke
655c26224b
Merge pull request #5596 from nextcloud/mount-rename
...
Fix renaming of non-renamble mounts
2017-07-21 23:10:50 +02:00
Robin Appelman
06a4d6b5b9
Also repair storage id's when repairing invalid entries
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-07-21 14:06:13 +02:00
Lukas Reschke
3d2600b039
Add Phan plugin to check for SQL injections
...
This adds a phan plugin which checks for SQL injections on code using our QueryBuilder, while it isn't perfect it should already catch most potential issues.
As always, static analysis will sometimes have false positives and this is also here the case. So in some cases the analyzer just doesn't know if something is potential user input or not, thus I had to add some `@suppress SqlInjectionChecker` in front of those potential injections.
The Phan plugin hasn't the most awesome code but it works and I also added a file with test cases.
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-07-20 22:48:13 +02:00
Artem Kochnev
5abeb9519e
Fix for mb strlen
...
Error with moving files with long names in UTF-8
2017-07-20 17:29:50 +03:00
Lukas Reschke
030d85bc9c
Remove unused functions
...
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-07-19 10:28: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
1 Man Projects
3e5d590f1e
changed direct cast to integer to numerical value
2017-07-17 15:19:04 +02:00
Robin Appelman
0e107bc63c
non movable mounts can not be moved
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-07-17 15:09:08 +02:00
1 Man Projects
56c0384044
Removed cast to integer in getSize
...
Fixes - Wrong or no sizes of files/folders #5031
2017-07-15 20:18:45 +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
Morris Jobke
b4a221f9be
Merge pull request #5424 from nextcloud/moveFromCache-from-shared
...
fix moving folders out of a cache jail
2017-07-06 18:31:18 +02:00
Bjoern Schiessle
da51ec38f4
only collect detailed access list if it is really needed
...
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-07-06 11:33:08 +02:00
Morris Jobke
7d58bb7db5
Merge pull request #5342 from nextcloud/userlist-used-space
...
show used space in user list
2017-07-05 15:15:25 +02:00
Roeland Jago Douma
4a9277d8da
Merge pull request #5460 from nextcloud/objectstore-error-logging
...
improved logging of objectore errors
2017-06-29 11:22:17 +02:00
Robin Appelman
0a12b5d38d
improved logging of objectore errors
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-06-21 17:33:26 -05:00
Robin Appelman
2e8e6f95b9
show used space in user list
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-06-15 14:06:54 +02:00
Robin Appelman
fa81759917
fix moving folders out of a cache jail
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-06-15 13:59:06 +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
Lukas Reschke
8c624bdef9
Merge pull request #4792 from nextcloud/fix-storage-wrappers-on-scanner
...
Make sure we use the passed-in storage when there is one
2017-05-19 00:49:58 +02: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
Morris Jobke
91dfff5db4
Revert "fix permissions of mountpoints - take 2"
2017-05-15 12:43:25 -05:00
Morris Jobke
ad0d0b0916
Merge pull request #4685 from nextcloud/fix_4683
...
fix permissions of mountpoints - take 2
2017-05-15 11:53:59 -05:00
Joas Schilling
00ebd5c184
Fix variable names
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-05-15 12:38:30 +02:00
Joas Schilling
fd75c08238
Fix order of parameter and escaping
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-05-12 09:33:51 +02:00
Joas Schilling
65efb388e6
Actually we want to update the mimetype of all files ending with the suffix
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-05-11 10:58:21 +02:00
Rello
f1ef5fc537
don´t change folders with --repair-filecache
...
check if folder is "httpd/unix-directory" and don´t perform here #27585
2017-05-11 10:40:48 +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
f8044cbbce
Proper exception for upload of .htaccess file via WebDAV
...
* fixes #2860
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-05-08 20:03:41 -05:00
Roeland Jago Douma
e5960fe260
Revert "Revert "fix permissions of mountpoints""
...
This reverts commit 70a0e9c2d3
.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-05-04 08:41:54 +02:00
Morris Jobke
70a0e9c2d3
Revert "fix permissions of mountpoints"
2017-05-04 00:09:09 -03:00
Robin Appelman
75b3b72d89
fix permissions of mountpoints
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-05-01 15:37:02 +02:00
Robin Appelman
ab9a36e872
allow apps to set custom mount types
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-04-28 09:38:21 +02:00
Roeland Jago Douma
9da697b11a
Merge pull request #4524 from nextcloud/downstream-27508
...
Keep file id on move
2017-04-28 09:37:40 +02:00
Vincent Petry
642b4331a6
Moved unit tests from ObjectTree::move to Directory
2017-04-26 15:42:29 +02:00
Vincent Petry
0721a7d5cc
Fix scanner after review
2017-04-26 13:26:47 +02:00
Vincent Petry
e3218ddffd
OCC scanner commit in batches
2017-04-26 13:26:27 +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
Roeland Jago Douma
867b3ee234
Merge pull request #4396 from nextcloud/scan-non-existing
...
show error when trying to scan non existing path
2017-04-21 19:47:33 +02:00
Robin Appelman
6fbe991afb
limit the user when searching for a file by id if we know the user already
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-04-21 17:11:26 +02:00
Robin Appelman
a0e5107c0b
check for existence before we start the db transaction
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-04-20 13:25:49 +02:00
Morris Jobke
fbedea0807
Add PHPDoc and handle exception in ScanAppData as well
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-04-19 17:04:16 -05:00
Robin Appelman
ce2dba0796
show error when trying to scan non existing path
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-04-19 14:36:38 +02: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
Björn Schießle
18580395d4
Merge pull request #4277 from nextcloud/permissions-mask-scanner
...
Dont use the permissions mask while scanning
2017-04-10 16:04:12 +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
Robin Appelman
bb7e236e74
Allow searching file by fileid
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-04-05 15:22:53 +02:00
Robin Appelman
d4a7cfec7c
rename fun to func
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-03-30 11:15:06 +02:00
Robin Appelman
fee818f493
Add tests for query builder (i)like
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-03-30 11:15:03 +02:00
Robin Appelman
4b7bc2af0e
Move all children of a folder in a single query
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-03-30 11:14:48 +02:00
Roeland Jago Douma
626d03e3d4
Merge pull request #4116 from nextcloud/swift-cache-token
...
Cache swift authentication token in memcache
2017-03-29 11:23:13 +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
Roeland Jago Douma
4821c00ea8
Merge pull request #4004 from nextcloud/backport-27172
...
Remove SharedCache::getNumericStorageId to let CacheWrapper do it
2017-03-28 21:56:44 +02:00
Robin Appelman
6991b79d40
serialize the token to json instead of using php's serialize
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-03-28 21:33:07 +02:00
Robin Appelman
205d5586e8
cache swift tokens in memcache
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-03-28 12:37:41 -06:00
Robin Appelman
e26f138fc5
Merge pull request #4112 from nextcloud/swift-config
...
Better error messages for objectsack swift configuration
2017-03-28 17:51:18 +02:00
Robin Appelman
8dbca71a77
better error messages for invalid regions, urltypes and service names
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-03-28 17:00:11 +02:00
Robin Appelman
5062d0ac50
better error messages when swift authentication fails
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-03-28 11:02:18 +02:00
Robin Appelman
8de4209c3e
round the mtime in touch
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-03-27 17:07:48 +02:00
Morris Jobke
b59f6dcca4
Merge pull request #3850 from nextcloud/search-order
...
Fix search ordering
2017-03-23 15:25:27 -06:00
Robin Appelman
2d02a4735c
Fix search ordering
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-03-23 15:24:50 -06:00
Morris Jobke
eee7e97a6e
Merge pull request #4001 from nextcloud/backport-27389
...
Ensure that FileInfo return values as required by its phpdoc.
2017-03-23 13:00:49 -06:00
Joas Schilling
88015bc51f
Fix type hints and doc blocks
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-03-23 17:52:47 +01:00
Vincent Petry
89c42a76c3
Remove SharedCache::getNumericStorageId to let CacheWrapper do it
...
The CacheWrapper will properly forward the call to the wrapped cache.
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-23 00:02:48 -06:00
Piotr M
5c7079f8c6
Ensure that FileInfo return values as required by its phpdoc.
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-22 20:03:46 -06: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
Robin Appelman
714f198a5d
mount shared mounts last
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-03-22 17:15:42 +01:00
Lukas Reschke
ab9e3525cc
Move error message to log entry
...
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-03-20 11:06:08 +01:00
kdslkdsaldsal
fc57d4b96c
Fix malformed logging in exception
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-19 22:56:35 -06:00
Joas Schilling
26eda9dd58
Merge pull request #3892 from nextcloud/downstream-27101
...
Redirect unlink to rmdir
2017-03-17 13:56:36 +01:00
Vincent Petry
cbebfaaf2b
Skip FailedStorage in background scan
...
The background job that scans storages must skip failed storages to
avoid potential exceptions, especially when the failed storage comes
from a shared storage where the source is not accessible.
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-17 00:06:48 -06:00
Vincent Petry
7256940524
Redirect unlink to rmdir ( #27101 )
...
Many API callers will call unlink even for directories and it can mess
up with some wrappers like the encryption wrapper
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-16 23:45:03 -06:00
Roeland Jago Douma
67faf7edc4
Merge pull request #3838 from Xuanwo/basename-fix
...
[OC/Files/Cache]: Fix wrong usage of basename
2017-03-14 21:00:24 +01: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
Xuanwo
210f4106c4
[OC/Files/Cache]: Fix wrong usage of basename
...
Fix https://github.com/nextcloud/server/issues/3837
Signed-off-by: Xuanwo <xuanwo@yunify.com>
2017-03-14 13:27:17 +08:00
Robin Appelman
6d0c756ff9
dont allow empty wildcard search
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-03-13 16:06:19 +01:00
Robin Appelman
e61606a767
Allow searching for favorites
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-03-08 16:30:55 +01:00
Robin Appelman
df2063ee7b
Implement webdav SEARCH
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-03-01 14:06:39 +01:00
Robin Appelman
706131b394
add icewind/searchdav
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-02-28 14:24:18 +01:00
Frédéric Fortier
55a37c1db9
Refactor files' CacheEntry object creation to call cacheEntryFromData() all the time thus allowing proper casts to be done
...
Signed-off-by: Frédéric Fortier <frederic.fortier@oronospolytechnique.com>
2017-02-22 20:03:32 -05:00
Frédéric Fortier
cc511ac7b8
Typecast filecache 'storage' as int to return it as documented, fixes #3461
...
Signed-off-by: Frédéric Fortier <frederic.fortier@oronospolytechnique.com>
2017-02-20 22:23:27 -05: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
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
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
269747985e
Add a more powerful notify mechanism
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-01-27 10:44:33 +01:00
Lukas Reschke
29f5ab1758
Merge pull request #3238 from nextcloud/dav-test
...
Make DAV external storage test more reliable
2017-01-26 18:43:36 +01: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
Morris Jobke
95ab46e3d2
Merge pull request #3030 from nextcloud/filesapi-renamefailcase
...
Fix files node API failed rename/copy
2017-01-24 21:23:59 -06: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
Robin Appelman
d4d116503c
Merge pull request #3212 from mwalbeck/mimetype-hidden-files
...
Mimetype detection for hidden files
2017-01-23 21:45:16 +01:00
Magnus Walbeck
3d99ec6832
Reduced code for filename trim
...
Signed-off-by: Magnus Walbeck <mw@mwalbeck.org>
2017-01-23 17:14:39 +01:00
Magnus Walbeck
eadc1ac637
Mimetype detection for hidden files
...
Signed-off-by: Magnus Walbeck <mw@mwalbeck.org>
2017-01-23 13:28:35 +01:00
Vincent Petry
0aaf209c66
Prevent PHP request to get killed when using fclose callback ( #26775 )
...
* Prevent PHP request to get killed when using fclose callback
* Add ignore_user_abort everywhere where the time limit is set to 0
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-01-23 12:33:20 +01:00
Vincent Petry
e667b28298
Fix files node API failed rename/copy
...
Whenever a rename or copy operation failed on the view, we must throw
an exception instead of just ignoring.
Signed-off-by: Vincent Petry <pvince81@owncloud.com>
2017-01-12 13:52:59 +01:00
Vincent Petry
eb5ea0e260
Refactor files node API for more code reuse
...
Signed-off-by: Vincent Petry <pvince81@owncloud.com>
2017-01-11 14:53:42 +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
Roeland Jago Douma
00b17c3af5
Only check for local shared storages
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-01-10 16:14:21 +01:00
Vincent Petry
706655ef20
Skip local shares in bkg scan and occ files:scan ( #26590 )
...
Local shares should only be scanned when doing it for the owner to
avoid repeatedly rescanning the same shared storage over and over again
for every recipient.
2017-01-10 16:11:45 +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
Roeland Jago Douma
73fcb69cad
Merge pull request #2934 from nextcloud/quota-stream-non-global
...
remove the need to register the quota streamwrapper globally
2017-01-06 15:25:20 +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
Robin Appelman
72a3ea6073
log a warning when trying to use a non basic fopen mode
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-01-05 08:49:04 +01:00
Robin Appelman
bca91f2216
remove static:// stream wrapper
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-01-04 15:57:02 +01:00
Robin Appelman
968de70bc5
remove the need to register the quota streamwrapper globally
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-01-04 15:15:47 +01:00
Robin Appelman
5b09565594
remove no longer used fakedir stream wrapper
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-01-03 17:06:03 +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
Robin Appelman
14a561ddad
always use numeric storage id in cacheentry
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2016-12-13 12:53:38 +01:00
Robin Appelman
86473306f3
fix cacheentry return wrong storage id
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2016-12-13 12:50:17 +01:00
Robin Appelman
6f46a8bd5b
also compare storage ids when checking for changed mounts
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2016-12-13 12:11:10 +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
Lukas Reschke
1131338562
Merge pull request #2486 from nextcloud/shared-storage-mask
...
apply permissions mask for shared storage
2016-12-02 23:39:48 +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
Robin Appelman
efbe26f9c3
only update the cache if the storage operation succeeds
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2016-12-02 16:20:49 +01:00
Lukas Reschke
b7f866988e
Prevent endless loop in \OC\Files\View::createParentDirectories
...
\OC\Files\View::createParentDirectories was previously prone to an endless loop. If a path such as /foo/existingfile.txt/bar/foo was passed and existingfile.txt existed in foo the loop was never left and running until the PHP process timed out.
This commit changes the logic to a foreach loop over an array and additionally additional error handling using is_file.
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-12-01 16:57:12 +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
Robin Appelman
ce2f9493a7
filter out oc_mounts results from non existing users
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2016-11-24 11:44:18 +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
Joas Schilling
4652d203e3
Make sure we don't scan files that can not be accessed
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-11-21 09:23:32 +01:00
Lukas Reschke
cc500c2810
Merge pull request #2199 from nextcloud/readfile-close-handle
...
close the file handle after readfile
2016-11-18 14:58:03 +01:00
Robin Appelman
8b9ad46ba3
Merge pull request #768 from nextcloud/s3-objectstore
...
Add S3 objectstore backend
2016-11-18 14:55:07 +01:00
Robin Appelman
89d37575a3
close the file handle after readfile
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2016-11-18 12:19:49 +01:00
Robin Appelman
2f03fcab4a
let the share backend get the node cacheentry to save queries
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2016-11-17 18:48:38 +01:00
Robin Appelman
14cdeafc3e
make source cache injectable in cache wrappers
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2016-11-17 18:48:38 +01:00
Morris Jobke
02bfd91553
Merge pull request #2176 from nextcloud/share-cache-root-info
...
reuse the known rootinfo in the shared cache when possible
2016-11-17 18:47:39 +01:00
Morris Jobke
54ca411ff0
Merge pull request #2167 from nextcloud/mountmanager-lockdown
...
ensure we setup the mount manager when in lockdown
2016-11-17 16:56:55 +01:00
Robin Appelman
30e7c27d86
reuse the known rootinfo in the shared cache when possible
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2016-11-17 14:59:31 +01:00
Morris Jobke
b373f52fa8
only use one kind of hack for the storage wrappers of the sharing code
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2016-11-16 19:04:47 +01:00
Vincent Petry
e7b1196dd6
Hack to prevent warning for read-only wrapper in public links
...
Storage wrappers should normally always be registered inside a presetup
hook. However in the public link scenario this is not possible and
there is currently no good alternative with the current architecture.
Instead of logging a warning every time, this fix prevents the warning
to be shown but also adds a FIXME in the code for the future. This is
ok because this app is already using private/internal APIs at the
moment and should be reworked properly in the future.
2016-11-16 19:04:42 +01:00
Robin Appelman
a7c0d99705
ensure we setup the mount manager when in lockdown
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2016-11-16 17:24:37 +01:00
Robin Appelman
3ab160dd5a
fopen s3 objects directly to work around unexplainable guzzle bug
...
For some reason when a text file started with a valid hex character ([0-9a-f]) it would eat the text untill the first newline
The new code does basically the same thing as guzzle/s3-sdk did only without wrapping everything in a guzzle stream
Signed-off-by: Robin Appelman <robin@icewind.nl>
2016-11-16 15:30:37 +01:00
Robin Appelman
0ee958595e
Improve isMounted to handle primary storage object store
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2016-11-16 15:30:36 +01:00
Robin Appelman
eefd059716
add amazon s3 objectstore backend
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2016-11-16 15:30:36 +01:00
Robin Appelman
64e896cc0d
split testing of objectstoragestorage and objectstore implementations
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2016-11-16 15:30:36 +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
b56f2c9ed0
basic lockdown logic
...
Signed-off-by: Robin Appelman <icewind@owncloud.com>
2016-11-16 15:24:23 +01:00
Roeland Jago Douma
b7e13b43fb
Merge pull request #2114 from nextcloud/downstream-26498
...
make object prefix configurable
2016-11-14 17:07:00 +01:00
Jörn Friedrich Dreyer
4a9361905d
make object prefix configurable
2016-11-14 15:10:56 +01:00
Thomas Müller
506ccdbd8d
Introduce an event for first time login based on the last login time stamp
...
Use firstLogin event to trigger creation of default calendar and default address book
Delay login of admin user after setup so that firstLogin event can properly be processed for the admin
Fixing tests ...
Skeleton files are not copied over -> only 3 cache entries are remaining
Use updateLastLoginTimestamp to properly setup lastLogin value for a test user
2016-11-14 14:50:10 +01:00
Robin Appelman
cbcdf69dc2
only query substorages to calculate the final mtime/size/etag lazily
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2016-11-10 13:59:22 +01:00
Lukas Reschke
a9547a2fd7
Merge pull request #2015 from nextcloud/swift-bucket
...
allow using 'bucket' to set the swift container
2016-11-04 21:46:59 +01:00
Morris Jobke
f42d5b6e56
Merge pull request #2007 from nextcloud/downstream-26411
...
[oc] Fix initMountPoints to set usersSetup earlier
2016-11-04 15:03:52 +01:00
Robin Appelman
b72e5a2e4e
allow using 'bucket' to set the swift container
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2016-11-04 14:15:18 +01:00
Vincent Petry
237dab675e
Fix initMountPoints to set usersSetup earlier
...
This is needed because in some cases like LDAP, the user manager itself
might trigger avatar updates which would internally also call
initMountPoints with the same user. This could cause the same user to
be setup twice, and in some sharing situations could cause recursive
deduplication of shares by adding "(2)" every time.
2016-11-03 20:45:40 +01:00
Robin Appelman
7be62d083e
explicitly cast mtime to int
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2016-11-03 14:36:46 +01:00
Lukas Reschke
68cebef64c
DI for root.php
...
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-11-02 23:16:51 +01:00
Morris Jobke
8653d14862
Do not expose user data in exceptions & fix typo
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2016-11-02 22:21:47 +01:00
Vincent Petry
f737426eca
Add using casing check/fix for initMountPoints
2016-11-02 22:21:46 +01:00
Robin Appelman
049bcae29e
Allow setting a maximun number of buckets for multibucket
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2016-11-02 21:31:24 +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