Commit graph

219 commits

Author SHA1 Message Date
Robin Appelman
17be0993b4 remove unneeded normalize 2015-06-18 15:33:44 +02:00
Robin Appelman
6018567df2 unlock the file if the file doesnt exists 2015-06-18 15:26:17 +02:00
Robin Appelman
d7960d5db6 dont update the cache on rename fail 2015-06-18 14:45:13 +02:00
Robin Appelman
3526b352dc update the file cache within the write lock 2015-06-18 13:47:03 +02:00
Robin Appelman
72eedda16c use old cache data when locked 2015-06-17 14:13:10 +02:00
Thomas Müller
d2305f2527 Merge pull request #16729 from owncloud/scanner-read-lock
keep a read lock while scanning a file or folder
2015-06-17 11:52:54 +02:00
Vincent Petry
102c6ffc41 Normalize path in View's lock methods 2015-06-16 17:03:12 +02:00
Vincent Petry
e5d34a2733 Merge pull request #16892 from owncloud/lock-returnfullpath
Rethrow LockedException with full path
2015-06-16 16:47:10 +02:00
Vincent Petry
0e3a3dd5d7 Rethrow LockedException with full path
Because the path is converted to md5 from the original exception,
rethrow the exception with the correct full path
2015-06-16 10:48:31 +02:00
Robin Appelman
567df226e5 fix check if hooks should be emited in runHooks 2015-06-15 15:07:48 +02:00
Robin Appelman
9c0d69a3b2 ensure normalized path form when changing locks 2015-06-15 14:32:29 +02:00
Robin Appelman
a4f808b11d properly unlock in case of failed fopen 2015-06-15 14:32:29 +02:00
Robin Appelman
7d72f7d8ce keep a read lock while scanning a file or folder 2015-06-15 14:32:29 +02:00
Thomas Müller
911c43e5f9 Merge pull request #16727 from owncloud/file-put-content-lock
add proper locking to file_put_contents when using streams
2015-06-15 14:22:06 +02:00
Vincent Petry
4497aa4c68 Webdav PUT small file lock must be shared during hooks
Fixed code path for Webdav PUT of small files to use shared locks during
hook execution, and exclusive during the file operation

This makes it possible for versions to be copied by accessing the file
in a post_write hook.
2015-06-12 18:52:18 +02:00
Joas Schilling
5586b2db09 Don't use limit on explode to have only 1 code path 2015-06-12 11:58:26 +02:00
Joas Schilling
a7d2b3b9ae Add return value to lock methods and check it in tests 2015-06-12 11:41:05 +02:00
Joas Schilling
caf16b083e Only lock files in data/username/files/ 2015-06-12 11:09:38 +02:00
Robin Appelman
bcf13aff6f change lock back to shared before updating the cache 2015-06-03 17:18:50 +02:00
Robin Appelman
6b0874203d add proper locking to file_put_contents when using streams 2015-06-03 17:18:50 +02:00
Robin Appelman
4b48dd424f emit hooks from a view as long as the path is inside the default root 2015-06-02 14:07:20 +02:00
Robin Appelman
ce04cf6610 shared lock around hooks 2015-06-01 13:24:02 +02:00
Robin Appelman
437c0b55a6 unlock source file when we cant lock the target in a rename 2015-06-01 13:22:56 +02:00
Robin Appelman
f0b8672729 fix locking root of a view 2015-06-01 13:22:56 +02:00
Robin Appelman
2d63fd77de dont apply callback wrapper when fopen failed 2015-06-01 13:22:56 +02:00
Robin Appelman
1270c6800d dont lock on meta data operations 2015-06-01 13:22:56 +02:00
Robin Appelman
35c377f7a9 phpdoc and minor issues 2015-06-01 13:22:56 +02:00
Vincent Petry
8d53dc803f Use md5 + prefix for file locking keys in memcache
Also trim slashes from paths to make sure the locks are based on the
same paths.
2015-06-01 13:22:56 +02:00
Vincent Petry
0775e9c1ca Use md5 for lock key 2015-06-01 13:22:56 +02:00
Robin Appelman
a1a25a9b5b fix unlocking when moving mount points 2015-06-01 13:22:56 +02:00
Robin Appelman
7e418c7d69 high level locking wip 2015-06-01 13:22:56 +02:00
Robin Appelman
bf7002bc65 add locking to the view apo 2015-06-01 13:22:56 +02:00
Robin Appelman
45784f213f fix propagation when renaming a directly reshared folder 2015-04-27 14:07:16 +02:00
Robin Appelman
bd57902d1d typo 2015-04-22 16:24:37 +02:00
Robin Appelman
f391f88d7f dont allow using null as view root 2015-04-22 14:51:02 +02:00
Morris Jobke
82cab25762 Merge pull request #13360 from owncloud/cross-storage-move
Proper copy/move between multiple local storages
2015-04-14 14:35:08 +02:00
Robin Appelman
addfafd9da Fix moving mount points 2015-04-13 17:10:02 +02:00
Robin Appelman
c29419e6d7 fix rebase issue 2015-04-13 15:13:03 +02:00
Robin Appelman
8575bb2cb9 Move cross storage copy logic to the storage 2015-04-13 15:13:02 +02:00
Robin Appelman
b302592a64 Small cleanup of rename code 2015-04-13 15:11:03 +02:00
Jörn Friedrich Dreyer
8af52e3876 fixes #15326 2015-04-09 15:37:00 +02:00
Thomas Müller
1b42b492dc kill OC_FileProxy 💥 2015-04-07 13:30:28 +02:00
Jenkins for ownCloud
b585d87d9d Update license headers 2015-03-26 11:44:36 +01:00
Vincent Petry
67160e0861 Do not automatically add "update" permission to shared mounts
In the past it seems the update permission was needed to be able to
rename shared mounts, but it doesn't seem to be the case any more.

Removing the "update" permission that used to be added automatically
fixes the read-only permission check when trying to overwrite a
read-only file over WebDAV.
2015-03-20 12:33:59 +01:00
Thomas Müller
80ef53eff0 verify the file name length not to exceed 255 characters + verify path during rename 2015-03-12 10:47:47 +01:00
cmeh
4a0c649c8a Correct "one invalid characters" to "one invalid character"
Corrected "one invalid characters" to "one invalid character" in line 1575.
2015-03-11 09:59:42 +01:00
Thomas Müller
3623f14e73 no translation service in common storage class 2015-03-09 10:38:38 +01:00
Thomas Müller
33b11682f9 translate error messages 2015-03-09 10:38:38 +01:00
Thomas Müller
49e1a81eba fixing namespaces and PHPDoc 2015-03-09 10:38:37 +01:00
Thomas Müller
4bac595068 adding storage specific filename verification - refs #13640 2015-03-09 10:38:37 +01:00
Robin Appelman
f6182aa87e Allow disabling the cache updater 2015-02-27 17:14:16 +01:00
Thomas Müller
f72f9e0159 Merge pull request #14530 from owncloud/revert-14403
Revert "Updating license headers"
2015-02-27 00:39:29 -08:00
Vincent Petry
232de3bdc0 Delete target file for unsuccessful copy/rename 2015-02-26 15:11:37 +01:00
Morris Jobke
06aef4e8b1 Revert "Updating license headers"
This reverts commit 6a1a4880f0.
2015-02-26 11:37:37 +01:00
Jenkins for ownCloud
6a1a4880f0 Updating license headers 2015-02-23 12:13:59 +01:00
Thomas Müller
84eb00e428 Merge pull request #14342 from owncloud/disallow-path-traversals-in-file-view
Disallow path traversals in file view
2015-02-19 10:27:04 +01:00
Lukas Reschke
46ca0fa481 Add some basic PHPDoc to functions 2015-02-18 18:17:33 +01:00
Lukas Reschke
41e5850450 Prevent directory traversals in ctr of \OC\Files\View
This prevents a misusage of \OC\Files\View by calling it with user-supplied input. In such cases an exception is now thrown.
2015-02-18 18:17:33 +01:00
Robin Appelman
842d0e227c Dont update the cache after fopen 2015-02-05 13:47:32 +01:00
Bjoern Schiessle
21c45925fe detect root of mountpoint also if the trailing slash is missed 2015-02-04 12:47:04 +01:00
Robin Appelman
ce0aa02aac Dont do a cache rename if we cant delete the source file 2015-01-29 15:52:40 +01:00
Robin Appelman
2124540d1d Dont remove a file from cache if the delete operation failed 2015-01-29 15:39:56 +01:00
Robin Appelman
8c9f1a982c Update the cache when renaming even if we dont emit hooks 2015-01-28 13:44:39 +01:00
Morris Jobke
87b39e8f03 Merge pull request #13525 from owncloud/s2s-fixscanfileforbrokenstorage
Catch storage exception in scanner for remote shares
2015-01-28 00:31:37 +01:00
Vincent Petry
87ce64c24e Replace OC_Log::ERROR with OCP\Util::ERROR 2015-01-26 15:51:31 +01:00
Vincent Petry
f6e644b43f Catch storage exception in scanner for remote shares
Whenever an exception occurs during scan of a remote share, the share is
checked for availability. If the storage is gone, it will be removed
automatically.

Also, getDirectoryContent() will now skip unavailable storages.
2015-01-26 13:59:49 +01:00
Robin Appelman
87a1b2bdc4 Preserve mtime when doing cross storage move 2015-01-23 15:11:27 +01:00
Thomas Müller
337c43ce92 Merge pull request #13317 from owncloud/partfile-fileinfo
Return valid fileinfo objects for part files
2015-01-14 22:39:19 +01:00
Morris Jobke
0a400b4577 drop unused parameter 2015-01-13 18:04:20 +01:00
Lukas Reschke
d66facc762 Fix annotations in file view 2015-01-13 14:53:00 +01:00
Robin Appelman
96dff341e2 Return valid fileinfo objects for part files 2015-01-13 13:59:28 +01:00
Lukas Reschke
310424db5d Use isset() instead of strlen()
Isset is a native language construct and thus A LOT faster than using strlen()

On my local machine this leads to a 1s performance gain for about 1 million paths. Considering that this function will be called a lot for every file operation this makes a noticable difference.
2015-01-10 12:06:51 +01:00
Morris Jobke
75e8b39826 Merge pull request #12879 from owncloud/mountconfig
Add mount specific options
2014-12-18 23:38:14 +01:00
Robin Appelman
9ddd5033d4 Movable mountpoints are always deletable 2014-12-17 16:09:28 +01:00
Robin Appelman
fd85424742 Add getMountPoint to FileInfo 2014-12-17 14:03:50 +01:00
Vincent Petry
4b57892c4e Merge pull request #12778 from owncloud/searchbytags2
Added searchByTags to view, storage and cache
2014-12-12 14:27:19 +01:00
Vincent Petry
15ecb28d50 Make $userId mandatory for searchByTags
$userId is now a mandatory parameter for searchByTags.

Also fixed some places in the code where the argument was missing (Node
API and View)
2014-12-12 11:18:35 +01:00
Morris Jobke
e969fe6b12 Merge pull request #12698 from owncloud/handle_readonly_shared_files
Handle readonly shared files
2014-12-12 08:34:28 +01:00
Vincent Petry
25dde7e93b Added searchByTags to view, storage and cache 2014-12-11 17:38:50 +01:00
Jörn Friedrich Dreyer
85176ec072 return correct result 2014-12-08 15:25:21 +01:00
Robin Appelman
f4701d7721 Add public api for mount configurations 2014-12-04 16:47:27 +01:00
Joas Schilling
2c39aec8cb Replace deprecated constant with new class constant 2014-11-25 16:30:21 +01:00
Lukas Reschke
da31177a8f Remove debug statement
Either we throw an exception or we ignore it. But we should certainly not print this to the end-user...
2014-11-12 11:32:48 +01:00
Bjoern Schiessle
f27b6b0ab8 don't scan part files 2014-11-07 15:20:51 +01:00
Robin Appelman
d26a427f92 Also propagate etag changes when the watcher finds a changed file 2014-11-07 12:56:09 +01:00
Robin Appelman
16cfca6a5f Better reuse of cache data for getFolderContents 2014-10-24 12:33:54 +02:00
Robin Appelman
0a3f57f832 Pass the cached data to the filesystem watcher 2014-10-24 12:32:55 +02:00
Jörn Friedrich Dreyer
0254a3c406 make trashbin compatible with objectstore, replace glob with search in cache, make unknown free space work like unlimited free space 2014-10-16 10:15:43 +02:00
Robin Appelman
e29b7e9335 Remove explicit propagate calls 2014-09-05 11:53:24 +02:00
Robin Appelman
d0e83a71aa Update cache before post hooks 2014-09-05 11:53:24 +02:00
Robin Appelman
850542c5d6 Refactor Cache\Updater to work outside of the users home 2014-09-05 11:53:23 +02:00
Jesus Macias
91c8174013 Fix code with previous comments 2014-09-03 18:21:24 +02:00
Jesus Macias
883649b69c Reset changes on 3rdparty submodule 2014-09-03 18:20:09 +02:00
Joas Schilling
989da69cff Do not try to close the same resource multiple times 2014-08-25 15:31:43 +02:00
Morris Jobke
987a0565fb Merge pull request #10395 from owncloud/close-filehandle-lib-files
Close open file handles in files library
2014-08-14 10:57:54 +02:00
Robin Appelman
bba59bf815 Cast file id's to int so we can compare them properly 2014-08-13 19:18:34 +02:00
Morris Jobke
c6bf51c457 Close open file handles in files library
ref #10392
2014-08-13 15:48:32 +02:00
Bjoern Schiessle
6dda30b5a2 remove share permissions if user is excluded from sharing 2014-08-08 12:16:54 +02:00
Robin Appelman
244d4e1399 Make View->shouldEmitHooks more robust 2014-08-05 16:53:28 +02:00
Robin Appelman
c3991ae13e Use the correct path when building the FileInfo for the search result 2014-07-14 18:32:45 +02:00