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
Robin Appelman
f5befbeac6
Check if we have a proper fileinfo
2015-02-25 16:02:08 +01:00
Vincent Petry
9f6dcb9d3e
Sabre Update to 2.1
...
- VObject fixes for Sabre\VObject 3.3
- Remove VObject property workarounds
- Added prefetching for tags in sabre tags plugin
- Moved oc_properties logic to separate PropertyStorage backend (WIP)
- Fixed Sabre connector namespaces
- Improved files plugin to handle props on-demand
- Moved allowed props from server class to files plugin
- Fixed tags caching for files that are known to have no tags
(less queries)
- Added/fixed unit tests for Sabre FilesPlugin, TagsPlugin
- Replace OC\Connector\Sabre\Request with direct call to
httpRequest->setUrl()
- Fix exception detection in DAV client when using Sabre\DAV\Client
- Added setETag() on Node instead of using the static FileSystem
- Also preload tags/props when depth is infinity
2015-02-23 22:27:23 +01:00
Jenkins for ownCloud
6a1a4880f0
Updating license headers
2015-02-23 12:13:59 +01:00
Thomas Müller
3a6b11d018
Merge pull request #13767 from owncloud/issue/13764-mimetype-racecondition
...
Use insertIfNotExists() and reload mimetypes after inserting one
2015-02-20 17:39:17 +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
Thomas Müller
b32d31a2f1
Merge pull request #13836 from owncloud/part-no-cache-update
...
Dont update the cache when working with part files
2015-02-19 00:08:10 +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
134243d3e5
Dont lower the mtime of a folder when propagating changes
2015-02-13 14:30:05 +01:00
Lukas Reschke
9904b30070
Ensure that passed argument is always a string
...
Some code paths called the `normalizePath` functionality with types other than a string which resulted in unexpected behaviour.
Thus the function is now manually casting the type to a string and I corrected the usage in list.php as well.
2015-02-13 12:49:34 +01:00
Robin Appelman
9df18ffe75
only read permissions once
2015-02-11 13:11:31 +01:00
Robin Appelman
9bbfeada6b
Only try to scan the children of directories
2015-02-11 13:11:31 +01:00
Robin Appelman
dc6468c2aa
Cast mtimes and size to int
2015-02-11 13:11:28 +01:00
Robin Appelman
4242dd0d9d
Reuse cache data of existing files during scan
2015-02-11 13:08:28 +01:00
Morris Jobke
1bb6de7c1b
Merge pull request #13425 from owncloud/phpdoc_cleanup
...
Cleanup of PHPDoc return types
2015-02-10 01:14:00 +01:00
Robin McCorkell
a79757bc37
Store FileInfo::getType() result for future use
2015-02-09 16:34:11 +00:00
Lukas Reschke
0e604aa875
Merge pull request #13948 from owncloud/cache-move-transaction
...
Use transactions when renaming directory contents
2015-02-08 19:08:52 +01:00
Robin Appelman
6c00521e8b
Use transactions when renaming directory contents
2015-02-06 15:20:53 +01:00
Lukas Reschke
4d91fa4c93
Normalize before processing
2015-02-06 15:03:29 +01:00
Robin Appelman
adf9a4e4eb
Dont bother updating the cache when working with part files
2015-02-05 13:59:50 +01:00
Robin Appelman
842d0e227c
Dont update the cache after fopen
2015-02-05 13:47:32 +01:00
Robin Appelman
4a9c64e96b
Only make sure the cache directory exists when we use it
2015-02-04 16:52:50 +01:00
Bjoern Schiessle
21c45925fe
detect root of mountpoint also if the trailing slash is missed
2015-02-04 12:47:04 +01:00
Thomas Müller
9e222ec841
Merge pull request #13791 from owncloud/extstorage-fixdavexceptions
...
Fix DAV exceptions, some will still return false now
2015-02-03 13:31:32 +01:00
Joas Schilling
a575dcf78f
Use insertIfNotExists() and reload mimetypes after inserting one
2015-02-02 13:20:16 +01:00
Vincent Petry
5ade2854ee
Fix DAV exceptions, some will still return false now
...
Since the Storage interface isn't ready to work directly with exceptions
like Forbidden and NotFound, the DAV storage has been adapted to still
return false when expected.
2015-01-30 12:02:23 +01:00
Morris Jobke
acf0582029
Merge pull request #13752 from owncloud/closecursor1
...
Close cursor early in calculateFolderSize
2015-01-29 14:23:16 +01:00
Robin Appelman
ddee63fa00
Fix resolving paths for views rooted in a file
2015-01-29 12:47:11 +01:00
Robin Appelman
8c9f1a982c
Update the cache when renaming even if we dont emit hooks
2015-01-28 13:44:39 +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
Morris Jobke
752b94d363
Merge pull request #13717 from owncloud/storage-donotwrapnullstorage
...
Prevent wrapping null storage
2015-01-28 01:00:20 +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
6d8985b671
Prevent wrapping null storage
...
Can happen when trying to instantiate external storages that have
incomplete config, where the constructor throws an exception (the
exception is caught in createStorage())
2015-01-27 17:40:08 +01:00
Vincent Petry
acec40fe5a
Merge pull request #13561 from owncloud/trash-finaldeletewhencrossstoragefix
...
Call final unlink in trash wrapper's storage
2015-01-27 17:05:38 +01:00
Bernhard Posselt
b8769802df
fix node interface
2015-01-26 15:58:41 +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
Robin Appelman
960ff4f136
Apply wrappers to existing mounts before registering it
2015-01-23 13:48:35 +01:00
Vincent Petry
5fb8a4715d
removeStorageWrapper to unregister a storage wrapper
2015-01-23 12:20:54 +01:00
Vincent Petry
6fb553e92c
Do not call wrapStorage if storate with same name added twice
2015-01-22 16:24:24 +01:00
Thomas Müller
65041440de
check is mimetype is set - fixed #13452
2015-01-19 15:04:53 +01:00
Robin McCorkell
2b99fc76ec
Cleanup of PHPDoc return types
2015-01-16 20:30:43 +00:00
Robin Appelman
2248e465af
Remove children from the cache in one query
2015-01-15 17:26:12 +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
c8fa85451c
Merge pull request #13320 from owncloud/fix-php-doc-for-files-view
...
Fix annotations in file view
2015-01-13 18:05:00 +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
Morris Jobke
7746ac519f
drop dead code - ref #13301
2015-01-13 13:52:25 +01:00
Thomas Müller
543fa0d45b
Merge pull request #13291 from owncloud/node-searchcommonbasepathfix
...
Fix searchCommon to properly match path name
2015-01-13 13:25:51 +01:00
Vincent Petry
a2a7a60293
Merge pull request #13301 from owncloud/drop-etag-message
...
drop useless "!!! No reuse of etag" - fixes #13187
2015-01-13 12:24:24 +01:00
Lukas Reschke
f0ac8a278a
Use json_encode on string
...
It's better to encode the string to prevent possible (yet unknown) bugs in combination with PHP's type juggling.
Previously the boolean statements evaluated to either an empty string (false) or a not empty one (true, then it was 1). Not it always evaluates to false or true.
This also removes a stray - that was not intended there but shouldn't have produced any bugs. Just to increase readability.
Thanks @nickvergessen for spotting.
Addresses https://github.com/owncloud/core/pull/13235/files#r22852319
2015-01-13 11:08:18 +01:00
Morris Jobke
9b49b52fc6
drop useless "!!! No reuse of etag" - fixes #13187
2015-01-13 09:54:48 +01:00
Vincent Petry
fcc3b3d5f7
Fix searchCommon to properly match path name
...
The internal path was matched without the last "/" which caused
"files_trashbin" to also match when the internal path was "files".
This adds the missing slash for the comparison.
2015-01-12 19:33:00 +01:00
Morris Jobke
c91d47e5b3
Merge pull request #13224 from owncloud/simplify-is-valid-path-and-add-unit-tests
...
Simplify isValidPath and add unit tests
2015-01-10 17:35:40 +01:00
Morris Jobke
8057bc6646
Merge pull request #13236 from owncloud/use-isset-for-performance
...
Use isset() instead of strlen()
2015-01-10 16:32:50 +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
Lukas Reschke
7e11ca06f6
Cache results of `normalizePath`
...
`normalizePath` is a rather expensive operation and called multiple times for a single path for every file related operation.
In my development installation with about 9GB of data and 60k files this leads to a performance boost of 24% - in seconds that are 1.86s (!) - for simple searches. With more files the impact will be even more noticeable. Obviously this affects every operation that has in any regard something to do with using OC\Files\Filesystem.
Part of https://github.com/owncloud/core/issues/13221
2015-01-10 11:10:38 +01:00
Lukas Reschke
05615bfd47
Simplify isValidPath and add unit tests
...
The check for invalid paths is actually over-complicated and performed twice resulting in a performance penalty. Additionally, I decided to add unit-tests to that function.
Part of https://github.com/owncloud/core/issues/13221
2015-01-10 00:40:21 +01:00
Robin McCorkell
631d6571fd
Merge pull request #13181 from owncloud/filecache-preventleadingslash
...
Trim leading or trailing slashes in file cache paths
2015-01-09 13:54:17 +00:00
Morris Jobke
800738f51a
Merge pull request #12011 from owncloud/reuse-etag-default
...
Default to reusing etags in the scanner
2015-01-09 14:38:45 +01:00
Vincent Petry
888ce4d4f9
Fix cache jail to not duplicate slashes
2015-01-09 10:18:32 +01:00
Vincent Petry
aa821ecc00
Trim leading or trailing slashes in file cache paths
2015-01-08 19:43:02 +01:00
Morris Jobke
fd57820708
Merge pull request #13132 from aptivate/improve_debug_logging_messages
...
Improve debugging for ServiceUnavailable exceptions
2015-01-07 10:36:27 +01:00
Chris Wilson
402a3ed146
Improve debugging for ServiceUnavailable exceptions
...
I was getting a lot of these in my logs for no apparent reason, and file
uploads were failing:
{"app":"webdav","message":"Sabre\\DAV\\Exception\\ServiceUnavailable: ","level":4,"time":"2015-01-06T15:33:39+00:00"}
In order to debug it, I had to add unique messages to all the places where
this exception was thrown, to identify which one it was, and that made the
logs much more useful:
{"app":"webdav","message":"Sabre\\DAV\\Exception\\ServiceUnavailable: Encryption is disabled","level":4,"time":"2015-01-06T15:36:47+00:00"}
2015-01-06 15:59:38 +00:00
Jörn Friedrich Dreyer
c738359a11
add paged provider
2015-01-02 10:28:41 +01:00
Thomas Müller
81243b0f5d
adding getDirectDownload() to Wrapper
2014-12-28 17:17:14 +01:00
Thomas Müller
5b00bc1d6e
Adding basement for the direct download url
2014-12-28 17:17:14 +01:00
Bernhard Posselt
8e37214346
add an interface for the root folder so apps have an interface to deal with storage
...
fix comments and newline
add newline
2014-12-21 20:52:34 +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
Robin Appelman
95a145f67f
Load mount specific options from the mount config
2014-12-17 14:03:50 +01:00
Vincent Petry
c6be491a89
Return file info from Node API
2014-12-15 12:10:54 +01:00
Morris Jobke
5b3971f002
Merge pull request #12639 from owncloud/bad_mtime_format
...
Fix formatting of bad dates from external storages
2014-12-13 10:07:10 +01:00
Robin McCorkell
fdbb68a3c3
Return ? if mtime is 0 or -1
...
Tooltip contains 'Unable to determine date'. Fixes #6395
2014-12-12 23:54:18 +00: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
b1bef5cc15
Merge pull request #12587 from owncloud/dav-logerrors
...
Log exceptions in DAV storage
2014-12-12 11:58:04 +01:00
Vincent Petry
3878c3782f
Added searchByTag in cache jail wrapper
2014-12-12 11:48:42 +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
Thomas Müller
80ae311329
Merge pull request #11892 from owncloud/remove_triggerupdate
...
Remove triggerupdate.php & add quiet option for CLI scanner
2014-12-10 16:17:29 +01:00
Vincent Petry
ebba54d490
Fix numeric storage id for cache wrapper
2014-12-10 13:05:31 +01:00
Jörn Friedrich Dreyer
0f17486c1d
make path absolute
2014-12-10 11:04:17 +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
Jörn Friedrich Dreyer
7ef6df04da
remove triggerupdate, ref #11872
2014-12-04 13:44:30 +01:00
Robin Appelman
672495a1a3
make \OC\Files\Node\Node implement the FileInfo interface
2014-12-04 13:27:08 +01:00
Vincent Petry
bc12d28f23
Log exceptions in DAV storage
...
In some cases a "NotFound" might be expected, so just return false as
before. But for other exceptions, the exception is now logged.
2014-12-03 22:20:00 +01:00
Robin Appelman
1bbb18fe87
also clear statcache in mapped local
2014-12-02 16:39:03 +01:00
Robin Appelman
db3f7238dd
Clear statcache before getting the mtime from local storage backends
2014-12-02 14:25:49 +01:00
Vincent Petry
8db4dd7585
Merge pull request #12469 from owncloud/issue/12460-port-local-changes2mapped
...
Issue/12460 port local changes2mapped
2014-12-01 10:42:39 +01:00
Vincent Petry
35ab770b11
Close cursor early in calculateFolderSize
...
This method triggers additional queries in $this->update() so to avoid
potential database locks or delays, we close the cursor as soon as it is not needed any more
2014-11-28 09:35:31 +01:00
Robin Appelman
05a069c101
Merge pull request #12426 from owncloud/jail-mask-wrappers
...
Add Jail and PermissionsMask storage wrappers
2014-11-27 16:00:14 +01:00
Robin Appelman
33b64868d7
Add storage and cache wrappers to apply a permissions mask to a storage
2014-11-27 15:25:57 +01:00