Vlastimil Pecinka
7cab488c6f
Store user object later in the code
...
Signed-off-by: Vlastimil Pecinka <pecinka@email.cz>
2019-03-21 21:37:41 +00:00
Robin Appelman
9b6ead8abf
always allow moving mountpoints inside the same mountpoint
...
even if that mountpoint isn't normally a valid target for moving mounts into
Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-03-20 09:59:17 +00:00
Robin Appelman
54b14946b4
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 16:19:09 +00:00
Ari Selseng
264b4ad3a9
Avoid calculating folder size for parent that needs scan.
...
Signed-off-by: Ari Selseng <ari@selseng.net>
2019-03-08 08:14:33 +00:00
Roeland Jago Douma
30e790606e
Use a tmp file for swift writes
...
Else this leads to a seekable stream error with chunked uploads
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-03-06 14:34:15 +00:00
Roeland Jago Douma
58fd016b27
Fix empty file uploads to S3
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-02-19 10:16:11 +01:00
Roeland Jago Douma
c021b5bfc6
Merge pull request #14195 from nextcloud/backport/14185/stable15
...
[stable15] Fix recent files
2019-02-14 21:18:20 +01:00
Roeland Jago Douma
8373adacd6
Filter out versions and trashbin
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-02-14 10:27:43 +00:00
Roeland Jago Douma
e31c94ac64
Loop for the recent search
...
Else it might happen that less entries than requested are returned
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-02-14 10:27:43 +00:00
Roeland Jago Douma
092baa0e5a
We need to initialize the storage else the jailed path is always null
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-02-14 10:27:42 +00:00
William Pain
602cea074f
Fix: Check if $this->params['user'] is an array
...
Signed-off-by: William Pain <pain.william@gmail.com>
2019-02-07 13:33:18 +00:00
Robin Appelman
ff5f28a65e
always use multipart uploader for s3 uploads
...
the multipart uploader handles non seekable streams while `upload` does not
Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-01-29 10:17:07 +00:00
Morris Jobke
09db2bc701
Merge pull request #13740 from nextcloud/backport/13140/stable15
...
[stable15] Cache tokens when using swift's v2 authentication
2019-01-23 15:29:56 +01:00
Robin Appelman
f7a4f1f128
cleanup shared lock if changing to exclusive lock failed
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-01-22 15:12:46 +00:00
Robin Appelman
6855c1594c
Cache tokens when using swift's v2 authentication
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2019-01-22 14:37:09 +00:00
Florian Schunk
a3d9e6de39
don't close input stream when writing in encrypted file
...
Signed-off-by: Florian Schunk <florian.schunk@rwth-aachen.de>
2019-01-14 15:22:34 +00:00
Robin Appelman
2d2de36baf
upload new files in objectstore to a .part path first
...
This prevent the object store and cache from getting out of sync
when an objectstore silently fails or the php process get's killed
during the upload without giving us the chance to cleanup
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-12-12 15:31:47 +01:00
Robin Appelman
fe23285e44
Add objectExists to objectstore interface
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-12-12 15:31:44 +01:00
Morris Jobke
1e906fd15c
Merge pull request #12868 from nextcloud/backport/12857/stable15
...
[stable15] Emit write update only once on touch
2018-12-06 01:18:21 +01:00
Roeland Jago Douma
07eb6e5716
Emit write update only once on touch
...
When a touch is done (i.e. when creating a new file in the node API)
The hooks contain 'write' and 'touch' (and the operation is touch as
well). This would cause a double write update. Which doesn't make sense.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-12-05 21:55:24 +00:00
Roeland Jago Douma
1656a08323
Only execute query in propagateChange once
...
The second execute statement should be inside the if block. Else it gets
executed twice which makes no sense.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-12-05 20:44:35 +00:00
Robin Appelman
9ee94afe7e
Fix folder path containing leading slash when getting mount root by id
...
This fixes collabora on public link shared groupfolders
Fixes https://github.com/nextcloud/groupfolders/issues/225
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-11-28 19:07:11 +00:00
Morris Jobke
cc6c30e769
Merge pull request #12494 from nextcloud/cache-notfound-id
...
return the correct value when trying to get a non existing item from cache by id
2018-11-20 09:51:18 +01:00
Morris Jobke
cef8eadf2a
Add PHPDoc for thrown exception
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-11-19 15:34:07 +01:00
Robin Appelman
35251928d5
forward object not found error in switch as dav 404
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-11-19 11:34:38 +01:00
Robin Appelman
5d5cfefd35
return the correct value when trying to get a non existing item from cache by id
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-11-16 17:26:42 +01:00
Christoph Wurst
1b85ef4bf2
Fix string doc type casing
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2018-11-15 11:57:05 +01:00
Morris Jobke
fd8eeccb15
Merge pull request #11942 from nextcloud/techdebt/noid/use-count-function
...
Use the defined func()->count() instead of manual counting
2018-11-12 17:43:56 +01:00
Morris Jobke
93c62d78db
Fix UniqueConstraintViolationException while insert into oc_filecache
...
* fixes #6160 by not being prone to the race condition in insertIfNotExists
* fixes #12228 by not using a query that can result in a deadlock
* replaces the insertIfNotExists call with an insert which is wrapped into a try-catch block
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-11-12 14:43:28 +01:00
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