Commit graph

458 commits

Author SHA1 Message Date
Morris Jobke
4d2835802f
hide storage wrapper warning for the readonly storage
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2016-10-13 14:37:31 +02:00
Robin Appelman
1484d01ff6
explicitly cast to int
Signed-off-by: Robin Appelman <robin@icewind.nl>
2016-10-12 16:12:39 +02:00
Robin Appelman
0d842e0550
optimize Folder::getById to use less queries
Signed-off-by: Robin Appelman <robin@icewind.nl>
2016-10-12 16:12:28 +02:00
Roeland Jago Douma
6807cb684f
avatar to appdata
* Fix AvatarTest

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-10-05 11:00:16 +02:00
Roeland Jago Douma
ac38a3a654
Add Tests
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-10-05 11:00:16 +02:00
Roeland Jago Douma
5d8b941fea
Initial AppData
* Introduce simpleFS
* Introduce IAppData
* Introduce AppData Factory to get your AppData folder
* Update FileDisplayResponse

* AppData implements a ISimpleRoot but lazy. So only if an apps starts
  to access data will stuff get initialized

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-10-05 11:00:14 +02:00
Lukas Reschke
c4d263199c Merge pull request #1521 from nextcloud/fix-mimetypedetect-hiddenfolder
Fix mimetype detection inside hidden folders (#26138)
2016-09-27 18:52:48 +02:00
Vincent Petry
9b4de310bd
Fix mimetype detection inside hidden folders (#26138)
Downstreaming of https://github.com/owncloud/core/pull/26138

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-09-26 11:31:03 +02:00
Vincent Petry
1f21a132c7
Only use realpath for real directories (#26058)
In some cross-local-storage use cases, the Local storage is
instantiated with "/" as data directory. In such cases, calling
realpath() would cause PHP warnings when open_basedir is set.

This fix bypasses the realpath() call when dealing with a root storage.

Downstreaming of https://github.com/owncloud/core/pull/26058

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-09-26 11:21:47 +02:00
Semih Serhat Karakaya
cfc1c7cbd2 Update CachedMountInfo for user home storage
In getMountPointNode function rootId is not inside of the userFolder for home storage. We was searching '/user' folder in '/user/files' folder. So, it was return NULL. I moved searching part to parent folder. It solves everything. Also, obviously other storage types not affect then this change.

Related owncloud commit :
https://github.com/owncloud/core/pull/26017
2016-09-09 18:07:21 +03:00
Morris Jobke
5ac26d12f0 Merge pull request #1247 from nextcloud/storage-id-global-cache
more efficient querying of numeric storage ids
2016-09-08 21:09:14 +02:00
Robin Appelman
e8e950a4d2
more efficient querying of numeric storage ids 2016-09-07 17:22:40 +02:00
Joas Schilling
24d90a4bb1
Correctly remove the charset from finfo mimetype 2016-09-05 09:48:22 +02:00
Vincent Petry
669b0bc2ae
Prevent error with orphaned shares when updating user mount cache 2016-08-30 19:49:23 +02:00
Jörn Friedrich Dreyer
d5518735c9
always return numeric storage id as int, also check type equality in test asserts 2016-08-29 14:20:51 +02:00
Lukas Reschke
4d85ffc27c Merge pull request #1054 from nextcloud/less-cache-hits
Reduce the number of cache operations for dav operations
2016-08-27 22:44:29 +02:00
Roeland Jago Douma
f805aff67c
Always use the LazyRoot 2016-08-26 12:13:34 +02:00
Robin Appelman
fb88d66857 optimize getUserFolder for the common case 2016-08-25 17:22:25 +02:00
Robin Appelman
2693ae870e cache user folders 2016-08-25 17:22:25 +02:00
Robin Appelman
b2d365734a cache root id in mountpoint 2016-08-25 17:22:25 +02:00
Robin Appelman
a0c2342c20 prevent infinite recursion while getting storage from mount 2016-08-23 14:52:18 +02:00
Robin Appelman
e316a7ade7 Allow jail wrappers to lazily initialize the source storage 2016-08-22 12:26:27 +02:00
Robin Appelman
5e44a2d868 Allow storage wrappers to lazily initialize the source storage 2016-08-22 12:23:55 +02:00
Lukas Reschke
67d016833d Merge pull request #810 from nextcloud/shared-cachethepropagatorinstance
Store the shared propagator instance
2016-08-10 17:24:57 +02:00
Vincent Petry
412b5c5407
Store the shared propagator instance
This instead of recreating it for every call.
2016-08-10 10:57:49 +02:00
Robin Appelman
a999420c75 get shared storage storage id without setting up the storage 2016-08-09 15:52:13 +02:00
Thomas Müller
f1cd68d713 Adding test case for getPathById including a jailed cache where root is just empty 2016-08-05 14:06:05 +02:00
Thomas Müller
d252d79059 getJailedPath expects $path to have a trailing / - fixes #25464 2016-08-05 14:06:05 +02:00
Robin Appelman
81e103074e use limit instead of since when listing recent files 2016-07-22 15:20:55 +02:00
Robin Appelman
e321ecd592 add recent files to node api 2016-07-22 14:39:32 +02:00
Robin Appelman
d499f68fd7 Fix storage id with storage jail 2016-07-22 14:34:59 +02:00
Joas Schilling
0215b004da
Update with robin 2016-07-21 18:13:58 +02:00
Joas Schilling
ba87db3fcc
Fix others 2016-07-21 18:13:57 +02:00
Robin Appelman
29eeeb2273 Save the files external mount id in the mount cache table 2016-07-13 16:34:08 +02:00
Morris Jobke
c2d88a08b7
Remove unneeded checks if it runs on a Windows machine
* the setup check is still there
2016-07-08 15:55:17 +02:00
Thomas Müller
d2d99a91a0 fix swift primary object store test (#25281)
* Wait for socket to be open

* Fix call on null

* Allow DB access for MountProviderTest

Makes unit tests pass when using object store, since their FS access is
actually oc_filecache DB access. It is currently not possible to mock
or bypass the logic from "SharedMount::verifyMountPoint()" triggered by
this test.
2016-07-05 08:54:51 +02:00
Hendrik Leppelsack
11be3d6276 remove png references in core 2016-07-01 16:36:37 +02:00
Robin Appelman
2a72eff9ee Fix getting the certificate bundle for dav external storage (#25274)
* Fix getting the certificate bundle for dav external storages

* Log the original exception in dav external storage
2016-06-27 22:26:43 +02:00
Robin Appelman
88ef163276 handle unavailable fed shares while testing for availability (#25277)
* More explicit http status codes

* handle unavailable fed shares while testing for availability
2016-06-27 21:34:28 +02:00
karakayasemi
c8b7a059b4
Fire hooks for mkdir for folder upload
fromTmpFile function, usual mkdir call is only working for file's parent
directory. Does not care upper parent folders. I added a recursive
function that creates parent non-existing folders with usual mkdir.
2016-06-21 17:10:52 +02:00
Vincent Petry
5de6432441 Merge pull request #25056 from owncloud/fs-usermountcache-capped
Capped cache for cache info in UserMountCache
2016-06-15 13:01:28 +02:00
Vincent Petry
f163eedfa2 Merge pull request #25102 from owncloud/preview-delete-performance
Preview delete performance
2016-06-15 11:58:50 +02:00
Robin Appelman
01d9ad6b14 optimized size propagation on deletes 2016-06-14 17:17:43 +02:00
Vincent Petry
86d7241be2
Capped cache for cache info in UserMountCache 2016-06-13 15:08:12 +02:00
Robin Appelman
338cd4033a handle invalid storages in LazyStorageMountInfo 2016-06-13 13:31:45 +02:00
Vincent Petry
52a0c939ab Merge pull request #24863 from owncloud/propagator-batching
Propagator batching for the file scanner
2016-06-10 17:45:52 +02:00
Vincent Petry
0e3737ffe1 Merge pull request #25028 from owncloud/scanner-user-not-setup
skip scanning for a user when the user is not setup yet
2016-06-09 10:29:46 +02:00
Robin Appelman
808438efc0 skip scanning for a user when the user is not setup yet 2016-06-08 14:19:42 +02:00
Vincent Petry
8d0948977e Merge pull request #24899 from owncloud/local-storage-symlinks
dissalow symlinks in local storages that point outside the datadir
2016-06-08 10:19:24 +02:00
Robin Appelman
2cf7ad8c55 make sure $data['mtime'] is always a timestamp 2016-06-07 17:09:24 +02:00
Robin Appelman
6822689e38 don't update storage mtime if we can't get the modified date 2016-06-07 15:04:24 +02:00
Robin Appelman
73547f29be Ignore forbidden files while scanning 2016-06-07 14:01:55 +02:00
Robin Appelman
7b1b723e5b dissalow symlinks in local storages that point outside the datadir 2016-06-07 14:01:53 +02:00
Robin Appelman
6bc8305edd Fix warnings when trying to get mtime of non existing files 2016-06-03 13:35:27 +02:00
Robin Appelman
14f96f86e7 return success when deleting ghost files 2016-06-03 13:34:54 +02:00
Robin Appelman
63408fa6ef allow deleting "ghost files" trough the View and Node api 2016-06-03 13:30:59 +02:00
Georg Ehrke
89a10fdb2d
normalize path in getInternalPath 2016-06-02 19:11:35 +02:00
Robin Appelman
fce19d22d9 fix mtime propagation on sqlite 2016-06-02 15:43:43 +02:00
Robin Appelman
cc67ad4dda use propagator batching in the scanner 2016-06-02 15:07:50 +02:00
Robin Appelman
9fb44e34af add propagator batching 2016-06-02 15:07:47 +02:00
Vincent Petry
5ad8fa7675
Add keepUnicode value in the cache key of normalizedPathCache 2016-06-01 14:28:59 +02:00
Vincent Petry
5d7f37d570
Check whether remote DAV server accepted the mtime on touch
ownCloud as remote DAV always accepts the mtime on touch, but other
servers like Apache's DAV server doesn't. The latter doesn't give any
visible hint in its response to detect this case, so this fix does a
subsequent PROPFIND to check whether the mtime was actually set.

Since a touch() operation seldom happens (only on uploads), the minor
performance loss should hopefully be acceptable.
2016-05-30 16:10:30 +02:00
Vincent Petry
6f346b4b1f
Fix webdav destination header when overwriting folders
The trailing slash is needed when talking to Apache's mod_dav server
2016-05-30 16:10:30 +02:00
Robin Appelman
d717b583d2 trigger size calculation after scanning (#24875) 2016-05-30 11:14:31 +02:00
Lukas Reschke
aba539703c
Update license headers 2016-05-26 19:57:24 +02:00
Vincent Petry
e7110c7678 Merge pull request #24760 from owncloud/objectstore_multibucket
Objectstore multibucket
2016-05-24 15:15:59 +02:00
Roeland Jago Douma
abe338f433
Store user bucket in preferences 2016-05-23 21:57:41 +02:00
Vincent Petry
adcf942901 Merge pull request #24750 from owncloud/lenz1111-share_download_range_requests_support
Http Range requests support in downloads
2016-05-23 21:01:26 +02:00
Roeland Jago Douma
e03e4921a0
Fix Name 2016-05-23 20:42:08 +02:00
Roeland Jago Douma
5e2316d05d
Allow multibucket in objectstore 2016-05-23 20:42:08 +02:00
Vincent Petry
aa56d42fa8 Merge pull request #24777 from owncloud/scanner-dont-propagate
dont needlessly triger the propgator in the scanner
2016-05-23 19:05:20 +02:00
Vincent Petry
524479fa09 Merge pull request #24699 from owncloud/background-scan-recursion
Only recurse into incomplete folders during background scans
2016-05-23 17:44:02 +02:00
Piotr Filiciak
6577bbe887 Code style and doc fix 2016-05-23 15:17:00 +02:00
Robin Appelman
eca57be336 Only recurse into incomplete folders during background scans 2016-05-23 14:40:35 +02:00
Vincent Petry
21df2eb5a1 Merge pull request #24695 from owncloud/background-scan-propagate
Trigger propagation from the background scanner
2016-05-23 14:32:28 +02:00
Robin Appelman
f3979e5459 dont needlessly triger the propgator in the scanner 2016-05-23 13:53:05 +02:00
Vincent Petry
bd87f67473 Merge pull request #24349 from owncloud/nfd-storagewrapper
Add wrapper for NFD encoding workaround
2016-05-23 13:45:33 +02:00
Vincent Petry
c78bb2ab34 Merge pull request #24356 from owncloud/scanner-recursion-memory
Free up folder content from memory before recursing in the file scanner
2016-05-23 09:51:52 +02:00
Piotr Filiciak
9999e05660
Http Range requests support in downloads
Http range requests support is required for video preview
2016-05-20 18:16:44 +02:00
Vincent Petry
bac8e13324
Remove unneeded unsets in encoding wrapper 2016-05-20 09:33:59 +02:00
Vincent Petry
e8d082208d
Fixes for encoding wrapper
Improved label
Fixed rename/copy/moveFromStorage/copyFromStorage and added tests
Improved findPathToUse algo
2016-05-20 09:33:59 +02:00
Vincent Petry
f8b2b95408
Scanner must normalize new children names for cache diff
Since new children from the storage might contain NFD entries, these
must be normalized to NFC to be properly diff'ed with the cache
contents which is always NFC.

This fixes an issue where NFD entries would disappear from the cache
after rescannng for children.
2016-05-20 09:33:59 +02:00
Vincent Petry
63bbbf29f4
Add wrapper for NFD encoding workaround 2016-05-20 09:33:59 +02:00
Robin Appelman
e6386652df Trigger propagation from the background scanner 2016-05-18 14:31:43 +02:00
Robin Appelman
de5b7609f9 use mount providers to setup home storages (#24567) 2016-05-17 21:40:55 +02:00
Morris Jobke
6b12f96b14 Merge pull request #24341 from owncloud/scan-nfd-showwarning
Add files:scan warning when NFD or incompatible encoding found
2016-05-02 09:41:12 +02:00
Roeland Jago Douma
e68ca8695d
Move lonely file from \OC\Files to PSR-4
Conflicting PR probabaly caused this
2016-05-01 19:40:55 +02:00
Roeland Douma
3a7ad79505 Merge pull request #24212 from owncloud/no_need_to_prop_etag_on_shares
There is no need to do old etag propagation on shares
2016-04-30 12:40:30 +02:00
Roeland Douma
8f8ae963fd Merge pull request #24207 from owncloud/cache-mount-provider
mount custom cache folder using mount providers
2016-04-30 10:47:35 +02:00
Roeland Jago Douma
00122c166a
Properly get the internal path for a cachejail move 2016-04-30 10:40:45 +02:00
Thomas Müller
6c2e94e0b2 Merge pull request #24335 from owncloud/warning-for-wrongly-done-storage-wrappers
Add a warning if a storage wrapper was registered outside of the hook
2016-04-29 17:43:50 +02:00
Thomas Müller
e59ccc5fe9 Merge pull request #24299 from owncloud/availability-avoid-concurrency
Prevent concurrent storage availability checks
2016-04-29 17:43:31 +02:00
Robin Appelman
e51467689d
mount custom cache folder using mount providers 2016-04-29 17:41:09 +02:00
Vincent Petry
4326d73ff6
Fix SMB storage to not normalize UTF8
This makes sure that even if a NFD file name exists, it is found by the
storage and will be visible to higher layers. Even though the file will
be discarded anyway there, it gives the scanner a chance to display a
warning at least.
2016-04-29 16:19:53 +02:00
Robin Appelman
a3623745d5 Free up folder content from memory before recursing in the file scanner 2016-04-29 15:16:41 +02:00
Robin Appelman
d850a764eb cap the normalized path cache 2016-04-29 13:17:41 +02:00
Joas Schilling
f1b6b0799c
Add a warning if a storage wrapper was registered outside of the hook 2016-04-29 09:08:40 +02:00
Robin McCorkell
77cec29b10 Prevent concurrent availability checks 2016-04-26 22:30:09 +01:00
Lukas Reschke
ddbebe91f0 Merge pull request #24246 from owncloud/local-invalid
error out if a local storage isn't setup correctly
2016-04-26 20:57:56 +02:00
Morris Jobke
23e7ad7a78 Merge pull request #24256 from owncloud/scanner-propagate
triger the propagator from the command line scanner
2016-04-26 10:05:39 +02:00
Robin Appelman
61054df36d triger the propagator from the command line scanner 2016-04-25 17:23:48 +02:00
Robin Appelman
dbfdc6282a
do propagation in a single query 2016-04-25 16:18:59 +02:00
Thomas Müller
9e40b647f3 Merge pull request #24248 from owncloud/d--j-master
D  j master
2016-04-25 14:53:37 +02:00
Thomas Müller
f31d0ce87c
Merge branch 'master' of https://github.com/d--j/core into d--j-master 2016-04-25 14:52:38 +02:00
Thomas Müller
ab690371b7
Merge branch 'patch-1' of https://github.com/weits/core into weits-patch-1 2016-04-25 14:49:49 +02:00
Robin Appelman
21643150aa error out if a local storage isn't setup correctly 2016-04-25 14:36:53 +02:00
Robin Appelman
4ac16001e0
add locks in the scanner to prevent multiple scanners running on the same files 2016-04-25 11:09:08 +02:00
Roeland Jago Douma
dedf392751
Move \OC\Files to PSR-4 2016-04-24 21:37:35 +02:00