jknockaert
735f6cc037
fix encryption header error
...
When moving back the pointer to position 0 (using stream_seek), the pointer on the encrypted stream will be moved to the position immediately after the header. Reading the header again (invoked by stream_read) will cause an error, writing the header again (invoked by stream_write) will corrupt the file. Reading/writing the header should therefore happen when opening the file rather than upon read or write. Note that a side-effect of this PR is that empty files will still get an encryption header; I think that is OK, but it is different from how it was originally implemented.
2015-04-24 16:43:16 +02:00
Joas Schilling
1592be117a
Use public interfaces for type hinting
2015-04-24 13:06:03 +02:00
Bjoern Schiessle
24128d1384
only update share keys if the file was encrypted
2015-04-24 10:19:09 +02:00
Bjoern Schiessle
2646bccb83
update share keys if file gets copied
2015-04-23 17:18:48 +02:00
Bjoern Schiessle
2990b0e07e
update share keys if a file is moved to a shared folder
2015-04-23 17:18:48 +02:00
Vincent Petry
903d52d45f
Merge pull request #15809 from owncloud/view-null-root
...
dont allow using null as view root
2015-04-22 18:10:26 +02:00
Robin Appelman
bd57902d1d
typo
2015-04-22 16:24:37 +02:00
Thomas Müller
750f0bc489
Merge pull request #15799 from owncloud/fix-enc-folder-move
...
Fix enc folder move
2015-04-22 16:04:29 +02:00
Robin Appelman
f391f88d7f
dont allow using null as view root
2015-04-22 14:51:02 +02:00
Morris Jobke
a971fa8a90
Merge pull request #15549 from owncloud/jcf-fix-cache-update
...
don't update identical values
2015-04-22 13:34:08 +02:00
Thomas Müller
225cde2183
pass KeyStorage via ctor
2015-04-22 13:09:42 +02:00
Thomas Müller
987bc138df
calling renameKeys() on directory level as well - fixes #15778
2015-04-22 12:12:27 +02:00
Thomas Müller
fc4127dd62
add $encryptionModuleId to methods of Keys/IStorage
2015-04-22 11:53:05 +02:00
Björn Schießle
570718fb6b
Merge pull request #15757 from owncloud/enc-fixfeofforlastblock
...
Fix encryption feof to not return too early
2015-04-22 11:32:21 +02:00
Bjoern Schiessle
19e8c4fcb1
get dirname from sharePath
2015-04-21 14:58:01 +02:00
Björn Schießle
b0fcf0fa0e
Merge pull request #15636 from owncloud/enc2_performance_improvement
...
[encryption2] set size and unencrypted size to zero at the beginning of a write operation
2015-04-21 11:01:33 +02:00
Vincent Petry
76dad297ff
Fix encryption feof to not return too early
...
This is because stream_read will pre-cache the next block which causes
feof($this->source) to return true prematurely. So we cannot rely on it.
Fixed encryption stream wrapper unit tests to actually simulate 6k/8k
blocks to make sure we cover the matching logic.
Added two data files with 8192 and 8193 bytes.
2015-04-20 18:32:40 +02:00
Thomas Müller
32995ace1c
move permission related code into getMetaData()
2015-04-20 16:50:12 +02:00
Thomas Müller
23f1bdc3d4
Introduce Storage::getMetaData() to allow storage implementations more control over the data array
2015-04-20 14:54:54 +02:00
Thomas Müller
92b60e36de
Introduce Storage::getData() to allow storage implementations more control over the data array
2015-04-20 14:25:39 +02:00
Bjoern Schiessle
7fe0e09d14
set size and unencrypted size to zero on fopen
2015-04-20 11:06:13 +02:00
Bjoern Schiessle
67500d5f2f
if we start writing a file from the beginning, size should start by zero; result of floor needs to be casted to int in order to compare it with ->size
2015-04-16 14:15:04 +02:00
Bjoern Schiessle
e3d77c4b01
add migration script from old encryption to new one
2015-04-16 14:15:04 +02:00
Björn Schießle
4f0437fbde
Merge pull request #15598 from owncloud/fix-enc-file-size-master
...
Fix file size of encrypted files
2015-04-14 16:48:04 +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
Thomas Müller
967e882757
return size from cache in case the cache entry is marked as encrypted
2015-04-14 13:08:59 +02:00
Thomas Müller
387984a0d5
preserve filesize on rename after upload
2015-04-14 12:27:12 +02:00
Robin Appelman
f605c98531
Fix cross storage move with shared storages
2015-04-13 17:10:05 +02:00
Robin Appelman
addfafd9da
Fix moving mount points
2015-04-13 17:10:02 +02:00
Robin Appelman
caadc8cdd9
reuse cache move logic
2015-04-13 17:10:01 +02:00
Robin Appelman
d7b3a1a35a
preserve cache data when doing a cross storage move
2015-04-13 17:10:01 +02:00
Robin Appelman
c29419e6d7
fix rebase issue
2015-04-13 15:13:03 +02:00
Robin Appelman
0772e3b4c1
Properly handle copy/move failures in cross storage copy/move
2015-04-13 15:13:03 +02:00
Robin Appelman
404773940d
Detect storage full when doing cross storage copy/move
2015-04-13 15:13:03 +02:00
Robin Appelman
d26c6cab90
properly return false if we cant delete the source file
2015-04-13 15:13:03 +02:00
Robin Appelman
c4ec8fbeff
Make getSourcePath accessible for storage wrappers
2015-04-13 15:13:03 +02:00
Robin Appelman
31e94708f8
Improve cross storage copy between local storages
2015-04-13 15:13:02 +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
Vincent Petry
2822d0579e
Properly add trailing slash to mount point
...
Fixes resolving mount points when shared mount point's target name has
the same prefix as the source name
2015-04-13 12:36:47 +02:00
Thomas Müller
8450b6aa2d
Properly import used classes
2015-04-13 09:26:30 +02:00
Jens-Christian Fischer
9c95315a9e
clarify the duplication of the $params array
2015-04-12 14:49:18 +02:00
Jens-Christian Fischer
22c6216f5c
don't update identical values
...
The UPDATE oc_filecache statement blindly overwrites identical data.
Databases like Postgres that create a new row on an update
and mark the old one as dead will suffer from the previous
behaviour, as millions of "new" rows are created in the database.
This patch changes the WHERE clause to test for identical
values and not updating if the values in the DB are identical
to the ones being passed.
2015-04-11 18:06:21 +02:00
Thomas Müller
7b2d53603c
Merge pull request #15489 from owncloud/dont_hide_exceptions_master
...
Dont hide exceptions master
2015-04-10 15:49:45 +02:00
Vincent Petry
73afca6207
Catch more exceptions when connecting to remote DAV server
...
Added InvalidArgumentException to catch HTML parsing errors when XML was
expected.
Made convertSabreException more generic to be able to handle more
exception cases.
2015-04-10 12:02:06 +02:00
Jörn Friedrich Dreyer
b069f33a72
throw exception when backends don't provide a user instead of creating legacy local storages
2015-04-10 09:12:37 +02:00
Jörn Friedrich Dreyer
8af52e3876
fixes #15326
2015-04-09 15:37:00 +02:00
Morris Jobke
4e60b81264
Merge pull request #14120 from owncloud/dav-statcache
...
Stat cache for DAV storage, improves s2s performance a little bit
2015-04-08 21:09:28 +02:00
Bjoern Schiessle
c379557e1d
don't throw exception if a file gets uploaded and encryption is disabled
2015-04-08 16:41:20 +02:00
Morris Jobke
59322a5037
Merge pull request #15333 from owncloud/copy-cross-device
...
fix copying folder across devices
2015-04-08 12:35:15 +02:00
Thomas Müller
a4483243ac
fixing license headers - encryption code related
2015-04-07 17:02:49 +02:00
Thomas Müller
4a70ca665c
respect mount option while encrypting
2015-04-07 13:30:31 +02:00
Thomas Müller
111fbabfb4
PHPDoc cleanup - clean code \o/
2015-04-07 13:30:31 +02:00
Thomas Müller
69e95531f8
comment change as it broke unit tests
2015-04-07 13:30:31 +02:00
Thomas Müller
ba9a797eaa
Encryption storage wrapper is enabled by default - necessary to detect encrypted files even if encryption was disabled after files have been encrypted - prevents data corruption
2015-04-07 13:30:31 +02:00
Bjoern Schiessle
fe74a0cb4f
implement webdav copy
2015-04-07 13:30:31 +02:00
Thomas Müller
8991272269
Using stream_get_contents in file_get_contents implementation + close handle
2015-04-07 13:30:31 +02:00
jknockaert
ff16e3dbff
Adjusting count on read
2015-04-07 13:30:31 +02:00
jknockaert
02404a6a8c
Fixing encryption stream wrapper seek - thanks @jknockaert
2015-04-07 13:30:30 +02:00
Thomas Müller
104d11ec4c
Fixing encryption storage wrapper tests
2015-04-07 13:30:30 +02:00
Thomas Müller
d9c41b00ab
Introducing trait LocalTempFileTrait
2015-04-07 13:30:30 +02:00
Thomas Müller
8ffa6db110
fixing unit tests for stream wrapper
2015-04-07 13:30:30 +02:00
Thomas Müller
9d8c07850d
fixing unencrypted file size
2015-04-07 13:30:30 +02:00
Thomas Müller
c9d6ed3d7d
in case the file exists we require the explicit module as specified in the file header - otherwise we need to fail hard to prevent data loss on client side
2015-04-07 13:30:30 +02:00
Thomas Müller
cac83642f2
Finally fixing encryption with public share
2015-04-07 13:30:30 +02:00
Thomas Müller
137c135664
file_put_contents has to return the number of written bytes
2015-04-07 13:30:30 +02:00
Bjoern Schiessle
83cb382b3f
pass file helper to encryption wrapper
2015-04-07 13:30:29 +02:00
Bjoern Schiessle
e4895bda01
add helper class accessible for encryption modules to ask for a list of users with access to a file, needed to apply the recovery key to all files
2015-04-07 13:30:29 +02:00
Thomas Müller
1b42b492dc
kill OC_FileProxy 💥
2015-04-07 13:30:28 +02:00
Thomas Müller
99255ff3a9
Fix - public sharing: in case on user is available - get it from the path
2015-04-07 13:30:28 +02:00
Bjoern Schiessle
0eee3a2618
remove unencrypted_size from the cache, size will contain the unencrypted size
2015-04-07 13:30:28 +02:00
Thomas Müller
d185761d31
initializing some variables + update size after writing the headers
2015-04-07 13:30:28 +02:00
Thomas Müller
4441835d18
https://github.com/owncloud/core/pull/15305#discussion_r27382305
...
Conflicts:
lib/private/files/stream/encryption.php
2015-04-07 13:30:28 +02:00
Thomas Müller
90487384f7
initializing some variables
2015-04-07 13:30:28 +02:00
Bjoern Schiessle
0c48b069ba
call end() before closing the file
2015-04-07 13:30:28 +02:00
Thomas Müller
498625ea3a
adding unit tests for stream wrapper
2015-04-07 13:30:28 +02:00
Thomas Müller
a905f641b3
various fixes & start to unit test the encryption storage wrapper
2015-04-07 13:30:28 +02:00
jknockaert
3e6eb28ee3
Applying diff as of https://github.com/owncloud/core/pull/15303
2015-04-07 13:30:28 +02:00
Bjoern Schiessle
cb9980823d
core: small fixes
2015-04-07 13:30:27 +02:00
Bjoern Schiessle
810ca9105c
implement rename and delete of encryption keys
2015-04-07 13:30:27 +02:00
Joas Schilling
a8d1ede347
Fix the exception messages
2015-04-02 18:40:06 +02:00
Robin Appelman
f585994c4b
setup mount manager before wrappers
2015-04-02 13:28:36 +02:00
Robin Appelman
068c624b0d
fix copying folder across devices
2015-03-31 13:50:11 +02:00
Thomas Müller
722e50a112
Merge pull request #15240 from owncloud/storage-wrapper-priority
...
add priority to storage wrappers
2015-03-27 15:18:44 +01:00
Bjoern Schiessle
c6be1ba8d3
fix check if a file is excluded from encryption or not
2015-03-27 11:51:50 +01:00
Vincent Petry
670ca68453
Added stat cache for DAV storage
...
The stat cache stored known states of files/folders to avoid requerying
the DAV server multiple times.
2015-03-26 23:15:53 +01:00
Robin McCorkell
c2909355bf
Merge pull request #14925 from owncloud/ext-mountoptions-ui
...
Mount options GUI for external storage
2015-03-26 21:36:34 +00:00
Robin Appelman
cb9ead7dde
add priority to storage wrappers
2015-03-26 21:26:38 +01:00
Thomas Müller
232518ac54
Merge pull request #15234 from owncloud/encryption2_core
...
core part of encryption 2.0
2015-03-26 21:14:59 +01:00
Bjoern Schiessle
ff9c85ce60
implement basic encryption functionallity in core to enable multiple encryption modules
2015-03-26 20:56:51 +01:00
Vincent Petry
58b4c2c0e5
Make sure mountOptions keep their data type
...
str_replace for $user substitution was converting the data type of
mountOptions to string. This fix prevents this to happen by making sure
only strings are processed by substitution.
Also added a int conversion when reading the watcher policy
2015-03-26 19:24:37 +01:00
Jenkins for ownCloud
b585d87d9d
Update license headers
2015-03-26 11:44:36 +01:00
Morris Jobke
24d0dfc727
Revert "FIX for webdav.mediencenter.t-online.de"
2015-03-26 00:56:06 +01:00
Oliver Kohl D.Sc.
9323285987
FIX for webdav.mediencenter.t-online.de
...
https://webdav.mediencenter.t-online.de returns invalid response code.
e.g.
{"reqId":"f9a1c394b98108e4e5ca62bf47829c64","remoteAddr":"81.189.45.224","app":"PHP","message":"Undefined offset: 2 at \/var\/www\/owncloud\/3rdparty\/sabre\/dav\/lib\/Sabre\/DAV\/Client.php#569","level":3,"time":"2015-03-25T18:25:48+00:00","method":"GET","url":"\/index.php\/apps\/files\/ajax\/getstoragestats.php?dir=External%2FT-Cloud%2FTests"}
e.g.
{"reqId":"3407d66672b3cef206b0af883e49bff4","remoteAddr":"46.74.125.245","app":"PHP","message":"Undefined index: {DAV:}getlastmodified at \/var\/www\/owncloud\/lib\/private\/files\/storage\/dav.php#563","level":3,"time":"2015-03-25T16:33:21+00:00"}
2015-03-25 21:29:29 +01:00
Robin Appelman
d11f01fa0f
Add `getNonExistingName()` to the node api
2015-03-24 15:00: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
Robin Appelman
73874ca27f
Merge pull request #14704 from owncloud/storage-wrapper-mount
...
pass mountpoint to storage wrapper callback
2015-03-19 16:20:38 +01:00
Lukas Reschke
bb5c5a3691
Remove unreqired backtick removal
...
Without this files with a ` (backtick) in the beginning of the filenames where simply not correctly referenced as the ` got removed. This can lead to all possible havoc situations.
Should get backported to stable8 and in future we might consider if it is really worth to backport such changes when it is just for SQLite 🙈
Regression of https://github.com/owncloud/core/pull/14734
2015-03-18 12:38:19 +01:00
Lukas Reschke
f13216d275
Use `FILTER_UNSAFE_RAW` instead of `FILTER_SANITIZE_STRING`
...
`FILTER_SANITIZE_STRING` will still encode everything else.
2015-03-17 21:56:16 +01:00
Morris Jobke
997a7a2668
Merge pull request #14766 from owncloud/fix-insertifnotexists-poc
...
Allow specifying the compare-array for insertIfNotExists()
2015-03-16 10:31:36 +01:00
Thomas Müller
6927773648
Merge pull request #14776 from owncloud/fix-14629-master
...
verify the file name length not to exceed 255 characters + verify path d...
2015-03-16 09:58:41 +01:00
Thomas Müller
5855108e9b
drop any fallback code related to curl - refs https://github.com/owncloud/core/pull/14838#issuecomment-78586447
2015-03-12 21:43:41 +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
Morris Jobke
82254ad5ef
Merge pull request #13893 from owncloud/create-cachedir-on-user
...
Only make sure the cache directory exists when we use it
2015-03-11 16:49:24 +01:00
Robin Appelman
169031d1c5
fix factory test
2015-03-11 15:07:59 +01:00
Robin Appelman
e1f2a6df94
Allow setting the watcher policy as mount option
2015-03-11 15:07:23 +01:00
Robin Appelman
7adda88786
Copy mount options to the storage
2015-03-11 15:06:48 +01:00
Robin Appelman
4f0f175f8b
Allow getting all mount options as array
2015-03-11 15:06:12 +01:00
Robin Appelman
e5c8fd37df
pass mountpoint to storage wrapper callback
2015-03-11 15:06:12 +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
Joas Schilling
2af8fea2be
Throw a RuntimeException in the cache aswell
2015-03-11 09:33:50 +01:00
Lukas Reschke
284bd6647c
Merge pull request #14759 from owncloud/clean-up-code
...
Clean-up code and use proper exception types
2015-03-10 14:18:21 +01:00
Joas Schilling
2747a83a49
Get the id before using it
2015-03-09 22:37:49 +01:00
Joas Schilling
3115d66d60
Better save then sorry
2015-03-09 22:37:49 +01:00
Joas Schilling
940163e16b
insertIfNotExists() for storage insertion
2015-03-09 22:37:49 +01:00
Joas Schilling
c917ea183c
Only check unique keys for the comparison on filecache insert & update otherwise
2015-03-09 22:37:49 +01:00
Lukas Reschke
2ac6f3a4f5
Clean-up code and use proper exception types
2015-03-09 11:48:55 +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
Lukas Reschke
2f18a09a20
Optimize loop
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
Thomas Müller
1b08b7c726
use insertIfNotExist() in cache put
2015-03-06 15:32:58 +01:00
Joas Schilling
09ac2df1f8
Update scanFile() and scanChildren() to the new signature of the parent class
2015-03-04 09:22:53 +01:00
Robin Appelman
f6182aa87e
Allow disabling the cache updater
2015-02-27 17:14:16 +01:00
Morris Jobke
b4dfd043d7
Merge pull request #14575 from owncloud/cache-rename-overwrite
...
Fix cache update when doing a rename that overwrites the target
2015-02-27 17:11:37 +01:00
Robin Appelman
fc027bceb7
Fix cache update when doing a rename that overwrites the target
2015-02-27 16:39:58 +01:00
Joas Schilling
3a6a0501c4
Add "throws" lines to calling methods and interface aswell
2015-02-27 12:16:53 +01:00
Thomas Müller
7fe07e93fe
Merge pull request #14437 from owncloud/node-check-fileinfo
...
Check if we have a proper fileinfo
2015-02-27 02:56:13 -08: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
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
Robin Appelman
abb6e89c5d
Add storage and cache wrappers to jail a storage to a subfolder
2014-11-27 15:25:53 +01:00
Joas Schilling
7761f0288e
Also clearstatcache() in MappedLocal before using the stats
...
Local change 283c10f010
2014-11-27 14:59:10 +01:00
Joas Schilling
50f85bfd1f
Check whether file exists before trying to touch() it
...
Local changes from d069ee8a8b
and 258ad38fd3
2014-11-27 14:59:09 +01:00
Joas Schilling
c5427da76d
Check return of disk_free_space before returning it
...
Local changes copied from ed83597371
and 25370fcb82
2014-11-27 14:59:08 +01:00
Joas Schilling
1062f4fe44
Check file existance in MappedLocal in hasUpdated()
...
Only fixed in Local by eeee9eacea
2014-11-27 14:59:07 +01:00
Joas Schilling
b886d3d645
Make MappedLocal::isLocal() true like for Local
...
Missed in 788c8540aa
2014-11-27 14:59:07 +01:00
Joas Schilling
4f1bbc4fd5
Remove unused 2nd parameter of buildPath() and rename to getSourcePath()
2014-11-27 11:19:20 +01:00
Joas Schilling
20237fba47
Introduce getSourcePath() in Storage\Local to reduce the difference to MappedLocal
2014-11-27 11:19:18 +01:00
Joas Schilling
2c39aec8cb
Replace deprecated constant with new class constant
2014-11-25 16:30:21 +01:00
Joas Schilling
bb540722cd
Use base class to reset the file mapper
2014-11-19 14:52:07 +01:00
Lukas Reschke
6535540dcd
Check if the size field is available
...
In some cases the 'size' field is not available resulting in some PHP errors such as:
```json
{"reqId":"03548fd9e3d3aca15a5796b3b35d7b9d","remoteAddr":"::1","app":"PHP","message":"Undefined index: size at \/Users\/lreschke\/Programming\/core\/lib\/private\/files\/fileinfo.php#125","level":3,"time":"2014-11-17T21:38:57+00:00"}
```
This can be experienced when creating a new empty file and deleting it right away, then when going to the trash bin this error is thrown.
2014-11-17 22:39:40 +01:00
Morris Jobke
146cb920c9
Merge pull request #12218 from owncloud/issue/10991-fixes
...
Issue/10991 Make unit tests pass on windows
2014-11-17 16:44:45 +01:00
Joas Schilling
0ab973a3a6
Make it possible to cleanPath() absolute Windows paths
2014-11-17 10:48:15 +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
Vincent Petry
4b943a4810
Fix root path handling for WebDAV ext storage
...
Added missing cleanPath() call that converts "/" to "" when calling
SabreDAV. This is needed because SabreDAV will discard its base URL when
passing "/".
2014-11-11 15:20:36 +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
16b0d52031
Default to reusing etags in the scanner
2014-11-06 18:34:10 +01:00
Vincent Petry
55658e7bb2
Merge pull request #11539 from owncloud/mount-setup-once
...
Only mount the storages for the user once
2014-10-31 10:42:29 +01:00
Vincent Petry
106b9eb55c
Merge pull request #11409 from owncloud/watcher-reuse
...
Pass the cached data to the filesystem watcher
2014-10-29 16:38:16 +01:00
Robin Appelman
2974d4d380
Reset the users setup after clearing mounts
2014-10-28 15:13:29 +01:00
Robin Appelman
3f63f4b6b1
Only mount the storages for the user once
2014-10-27 18:50:28 +01:00
Robin Appelman
8de287f2ef
Merge pull request #11763 from owncloud/stable-etags
...
Generate stable etags for local files
2014-10-27 15:30:30 +01:00
Robin Appelman
283c10f010
Generate stable etags for local files
2014-10-24 16:47:58 +02:00
Lukas Reschke
b3a04840b5
Add type hinting to functions
...
It's only reasonable to have proper type hinting here which might even help us to catch bugs.
2014-10-24 14:13:40 +02: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
ca0e3fdfea
throw exception in writeBack, the returned boolean is checked nowhere
2014-10-20 11:29:05 +02:00
Jörn Friedrich Dreyer
9b0f0df7f5
make skeleton compatible with objectstore
...
suspend encryption proxy when copying skeleton
2014-10-20 11:28:36 +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
Vincent Petry
4650101674
Merge pull request #11548 from owncloud/extstorage-ocfields
...
Allow specifying protocol in ext storage OC config
2014-10-15 13:27:23 +02:00
Vincent Petry
ab5149f5df
Allow specifying protocol in ext storage OC config
...
Allow specifying a protocol in the host field when mounting another
ownCloud instance. Note that this was already possible with the WebDAV
config but this bug made it inconsistent.
2014-10-13 17:15:58 +02:00
Vincent Petry
d485c0098d
Retrieve storage numeric id earlier when still available
...
The numeric id is only available before the storage entry is deleted, so
get it at that time.
2014-10-13 15:52:48 +02:00
Vincent Petry
9dea79e341
Merge pull request #11305 from owncloud/ext-updateetagonmount
...
Update etag of parent dir when adding/removing ext storage mount points
2014-10-09 18:18:36 +02:00
Jörn Friedrich Dreyer
3427976bb6
strict comparison
2014-10-08 18:49:55 +02:00
Jörn Friedrich Dreyer
aa3ad898a9
fix amazon s3 issues
...
folder size and mtime is always unknown in s3
more s3 fixes
make rescanDelay of root dir configurable, add on the fly update of legacy storage ids, !isset -> empty when checking strings
reduce number of http calls on remove and rmdir
fix typo
2014-10-08 18:49:47 +02:00
Vincent Petry
6585eaa5df
Added failing unit tests for mount config hooks
2014-10-08 14:22:17 +02:00
Thomas Müller
e5a111b80e
Merge pull request #11285 from owncloud/dav-permissions-create
...
Fix dav permissions for folders
2014-09-26 09:21:32 +02:00
Robin Appelman
ccb4475a8d
Expose creatable permissions trough fileinfo
2014-09-25 14:00:13 +02:00
Robin Appelman
f88021dbbc
Don't keep the full info of all children in memory
2014-09-24 15:44:56 +02:00
Lukas Reschke
6eeb905871
Do only follow HTTP and HTTPS redirects
...
We do not want to follow redirects to other protocols since they might allow an adversary to bypass network restrictions. (i.e. a redirect to ftp:// might be used to access files of a FTP server which might be in a secure zone and not be reachable from the net but from the ownCloud server)
Get final redirect manually using get_headers()
Migrate to HTTPHelper class and add unit tests
2014-09-22 20:02:32 +02:00
Jörn Friedrich Dreyer
f83689e1be
in quota wrapper use === instead of ! for better readability and as in other wrappers
2014-09-22 11:35:42 +02:00
Jörn Friedrich Dreyer
561a7e47cd
return boolean in Ciose::stream_seek
2014-09-22 11:33:55 +02:00
Jörn Friedrich Dreyer
b752cb98d8
return boolean in OC::stream_seek
2014-09-22 11:20:15 +02:00
Robin Appelman
33f7af9207
Merge pull request #10958 from owncloud/db-ilike
...
Introduce cross-db ILIKE
2014-09-19 12:07:56 +02:00
Robin Appelman
0c03b2bdd5
Use ILIKE in cache search
2014-09-17 16:12:54 +02:00
Lukas Reschke
33c0d2f743
Fix mapping of relative paths
2014-09-17 11:38:10 +02:00
Robin Appelman
2f22e67570
Also check if the file itself is updatable
2014-09-17 11:35:16 +02:00
Robin Appelman
d25a9a118f
Check if a folder is deletable before we try to recursively delete it
2014-09-17 11:35:16 +02:00
Robin Appelman
ab79caf29b
Check if the parent is writable to check if a file is deletable
2014-09-17 11:35:16 +02:00
Robin Appelman
fa2b385d33
Fix method name
2014-09-10 15:59:24 +02:00
Lukas Reschke
c3d90b96c8
Merge pull request #10922 from owncloud/explicit-scan-transactions
...
Use bigger transactions when doing explicit file system scans
2014-09-09 23:32:32 +02:00
Jörn Friedrich Dreyer
ed2414fd0d
Merge pull request #10886 from owncloud/keep_fileid_on_move_in_objectstore
...
Keep fileid on move in objectstore, fixes #10848
2014-09-09 10:25:10 +02:00
Lukas Reschke
fa718d2e2c
Fix typo
2014-09-08 16:34:03 +02:00
Robin Appelman
644755df66
Use bigger transactions when doing explicit file system scans
2014-09-08 14:15:41 +02:00
Jörn Friedrich Dreyer
8488be4d03
Keep fileid on move in objectstore, fixes #10848
2014-09-05 13:25:59 +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
1d8a88dd1b
Fix warning in homecache
2014-09-05 11:53:23 +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
Robin Appelman
a9a37b5363
Don't automatically setup the filesystem the moment we load OC\Files\FileSystem
2014-09-02 16:15:42 +02:00
Thomas Müller
2e8026a7b5
Merge pull request #10619 from owncloud/issue/6722
...
Add a test to break the slugifyPath() with folder and file afterwards
2014-08-26 10:33:18 +02:00
Clark Tomlinson
6523c575f3
Merge pull request #10623 from owncloud/not-a-valid-resource-log-entries
...
Do not try to close the same resource multiple times
2014-08-25 12:52:06 -04:00
Joas Schilling
989da69cff
Do not try to close the same resource multiple times
2014-08-25 15:31:43 +02:00
Joas Schilling
1846aebfff
Use md5() of the original name instead of uniqid() for slugifying
...
Previously we used uniqid() here.
However this means that the behaviour is not reproducable, so
when uploading files into a "empty" folder, the folders name is
different.
If there would be a md5() hash collition, the deduplicate check
will spot this and append an index later, so this should not be
a problem.
Fix #6722
2014-08-25 15:06:12 +02:00
Joas Schilling
b861e1d696
Fix code layout before fixing the function
2014-08-25 15:06:10 +02:00
Jörn Friedrich Dreyer
ebf7758d10
Merge pull request #10595 from owncloud/swift-stream
...
Stream downloads from Swift object stores without downloading it first
2014-08-25 11:26:39 +02:00
Thomas Müller
0e8916b147
Merge pull request #7539 from owncloud/repair-legacystorageid
...
Added repair script to upgrade the legacy home storage ids
2014-08-22 14:22:39 +02:00
Robin Appelman
191a82e768
Stream downloads from Swift object stores without downloading it first
2014-08-22 14:11:36 +02:00
Vincent Petry
068f9d10f1
Added repair step for legacy storages
2014-08-20 23:14:05 +02:00
Morris Jobke
b3b3354809
move to public namespace
2014-08-19 14:05:08 +02:00
Stephan Peijnik
5d7deefd95
Use tabs for indentation.
...
Signed-off-by: Stephan Peijnik <speijnik@anexia-it.com>
2014-08-19 13:55:43 +02:00
Stephan Peijnik
2df52e54d7
Fix STORAGE_* constants usage by moving those constants into \OC\Files\Filesystem.
...
As constants not defined within a class cannot be automatically found by the
autoloader moving those constants into a class makes them accessible to
code which uses them.
Signed-off-by: Stephan Peijnik <speijnik@anexia-it.com>
2014-08-19 13:55:35 +02:00
Thomas Müller
1c23f54d42
Merge pull request #10341 from owncloud/issue/9928
...
[Issue/9928] Problems with filemtime in MappedLocal Storage
2014-08-19 10:10:09 +02:00
Joas Schilling
4d32e3548b
Ensure that filename is prefixed with a slash
2014-08-14 16:48:30 +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
Robin Appelman
174805f5e3
Merge pull request #9762 from owncloud/owner-public
...
Return the proper owner for home storages
2014-08-12 14:29:17 +02:00
Joas Schilling
564bf23c1b
Do not filemtime() on "." directory. Use empty string instead
...
Fix #9928
2014-08-11 17:39:37 +02:00
Joas Schilling
d7666d9d3d
Remove doubled slash between folder and path
2014-08-11 16:50:52 +02:00
Thomas Müller
13d44f8f7f
Merge pull request #10251 from owncloud/fix-dav-attributes-master
...
shared files/folders are not mounted
2014-08-11 14:40:47 +02:00
Bjoern Schiessle
6dda30b5a2
remove share permissions if user is excluded from sharing
2014-08-08 12:16:54 +02:00
Thomas Müller
520f6422ac
Merge pull request #10079 from owncloud/Improve_scanner_message
...
Improved scanner error message
2014-08-07 16:09:52 +02:00
Thomas Müller
9d2cff50ed
shared files/folders are not mounted
2014-08-07 16:01:13 +02:00
Robin Appelman
f1091280de
Merge pull request #10184 from owncloud/getbyid-node
...
Fix Folder::getById
2014-08-07 13:40:17 +02:00
Robin Appelman
12207ec0c7
Fix SharedCache::getPathById
2014-08-06 13:38:14 +02:00
Robin Appelman
1deb6aadd3
return null instead of throwing an exception
2014-08-06 12:06:41 +02:00
Robin Appelman
bf8f910a32
Fix Folder::getById
2014-08-05 16:58:10 +02:00
Robin Appelman
244d4e1399
Make View->shouldEmitHooks more robust
2014-08-05 16:53:28 +02:00
Clark Tomlinson
26af116fcd
Removing unnecessary switch statements in fopen methods.
2014-07-31 09:34:27 -04:00
Martin
d975012ae6
Improved scanner error message
2014-07-31 13:12:35 +02:00
Robin Appelman
e9de20952a
Return the proper owner for home storages
2014-07-21 16:59:59 +02:00
Vincent Petry
3df7a83c72
Merge pull request #9406 from philfry/master
...
silently discard the response body, needed for apache/mod_dav and maybe ...
2014-07-21 12:22:06 +02:00
Robin Appelman
5a0397eb5e
Fix renaming files in the root folder of a MappedLocal storage
2014-07-16 21:24:18 +02:00
icewind1991
d58c8d72cf
Merge pull request #9550 from kofemann/dcache-fixes-for-upstream
...
storage: do not check file mode on rename
2014-07-16 16:06:14 +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
Tigran Mkrtchyan
03f422153d
files: storage: rename should check parent directories of old and new files
...
as described by POSIX.1-2008
(see http://pubs.opengroup.org/onlinepubs/9699919799/functions/rename.html )
Signed-off-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
2014-07-10 14:58:59 +02:00
Robin Appelman
3e3d460729
use case insensitive LIKE when searching for files in mysql
2014-07-08 15:49:27 +02:00
Björn Schießle
a544bd3a0f
Merge pull request #9357 from owncloud/sharing_unshare_on_delete
...
[sharing] unshare childrens on delete
2014-07-04 17:42:52 +02:00
Jörn Friedrich Dreyer
aeeae5f1b2
Merge pull request #8308 from owncloud/case_insensitive_search_oracle
...
use case insensitive linguistic sort and compare when connecting to oracle
2014-07-04 15:51:57 +02:00
Bjoern Schiessle
e9f5730869
make sure that the umount hook always contains the path relative to data/user/files
2014-07-04 10:34:54 +02:00
Jörn Friedrich Dreyer
b5545b81c6
make search case insensitive on postgres and oracle
2014-07-03 19:01:00 +02:00
Philippe Kueck
ef114b6594
silently discard the response body, needed for apache/mod_dav and maybe other dav servers which return an html body
2014-07-03 12:04:38 +02:00
Vincent Petry
ed29e7d160
Merge pull request #9329 from owncloud/sharing_check_target
...
don't move a share mount point into a different mount point
2014-07-02 21:01:03 +02:00
Robin Appelman
edb67f9f4d
Remove invalid mounts from the active fs
2014-07-02 15:00:12 +02:00
Bjoern Schiessle
bb935978fa
don't move a share mount point into a different mount point
2014-07-01 19:38:55 +02:00
Bjoern Schiessle
735eac6c9d
add a explicit interface for the home storage
2014-07-01 17:31:33 +02:00
Robin Appelman
d78a2a9f78
Add StorageNotAvailableException
2014-06-30 15:46:37 +02:00
Thomas Müller
9032ce4535
Merge pull request #9266 from owncloud/fix_objectstore_etag_update
...
always regenerate etag when writing back file to objectstore
2014-06-29 20:59:20 +02:00
icewind1991
1a3e698294
Merge pull request #9263 from owncloud/remote-share-update
...
Better detecting of remote changes for external shares
2014-06-27 19:31:18 +02:00
Jörn Friedrich Dreyer
23fa75f5ac
always regenerate etag when writing back file to objectstore
2014-06-27 18:49:06 +02:00
Robin Appelman
db3f0cee4a
Fix parsing of webdav permissions
2014-06-27 17:28:56 +02:00
Robin Appelman
6f5d5b9a30
Also check for updated permissions for webdav storages
2014-06-27 17:27:47 +02:00
Robin Appelman
5b8c2ac750
Use the etag to check for updates in webdav storages where available
2014-06-27 17:10:46 +02:00
Vincent Petry
fd8b5680dd
Merge pull request #8383 from owncloud/object_storage
...
Object storage
2014-06-27 16:53:03 +02:00
Jörn Friedrich Dreyer
25dbbbadd3
use normalize path to convert '.' to '' in objectstorestorage
2014-06-27 15:00:29 +02:00
Jörn Friedrich Dreyer
ab93f1949d
update hasUpdated description, overwrtie testStat for objectstore test
2014-06-27 12:14:31 +02:00
Thomas Müller
171475b95a
fix autoloader
2014-06-27 08:52:40 +02:00
Thomas Müller
c745240543
Move \OC\Files\Storage\DAV to core in order to reduce inter-app dependencies
2014-06-27 08:52:28 +02:00
Vincent Petry
8526556110
Merge pull request #9206 from owncloud/occ-scan-user
...
Prevent running the files:scan command as the wrong user
2014-06-26 17:03:23 +02:00
Jörn Friedrich Dreyer
f96a535f80
fix objectstore test execution
2014-06-26 11:30:00 +02:00
Robin Appelman
9a2ed86672
Prevent running the files:scan command as the wrong user
2014-06-25 15:22:49 +02:00
Jörn Friedrich Dreyer
8e6cb6dc54
delete object without downloading it first
2014-06-25 14:53:38 +02:00
Robin Appelman
113749bd96
really always take root of the substorage
2014-06-25 13:00:11 +02:00
Bjoern Schiessle
92a82f02b3
always take root of the substorage
2014-06-24 18:53:51 +02:00
Robin Appelman
92f2a430a8
Don't bother checking for external updates for objectstore storages
2014-06-24 14:48:59 +02:00
Robin Appelman
eb97eee964
Only initialize the swift container when manipulating an object
2014-06-24 14:42:52 +02:00
Robin Appelman
159b603d13
Add support for rackspace swift backends
2014-06-24 14:36:29 +02:00
Bjoern Schiessle
70ca292fd9
only the mount point has delete and update permissions to enable rename operation
2014-06-24 13:55:04 +02:00
Bjoern Schiessle
84d36df70b
make sure that we always return the correct permissions
2014-06-24 13:39:37 +02:00
Jörn Friedrich Dreyer
28c1a95575
use common storage test
2014-06-23 16:29:01 +02:00
Jörn Friedrich Dreyer
7ec53571c4
use 'object' as the fakedir stream name
2014-06-23 11:07:01 +02:00
Jörn Friedrich Dreyer
c112a1d323
move to stream based IObjectStore interface, rearrange & reformat code
2014-06-20 12:27:47 +02:00
Jörn Friedrich Dreyer
f2fe00e972
fix rebase, use 'object::user:<username>' or 'object::store:<storageid> as storage id, by default use container/bucket name for storageid, make storageid configurable, store user only for HomeObjectStoreStorage, change updateObject() to writeObject()
2014-06-18 15:20:26 +02:00
Jörn Friedrich Dreyer
5cae863408
change architecture from inheritance to composition
2014-06-18 12:53:20 +02:00
Jörn Friedrich Dreyer
9335a5f07f
remove duplicate method
2014-06-18 12:53:20 +02:00
Jörn Friedrich Dreyer
5722e31d1a
add autocreate config option for containers, implement autocreate and delete of containers, use generated container names for tests
2014-06-18 12:53:20 +02:00
Jörn Friedrich Dreyer
4e65889f54
only use one config option 'objectstore' for root and home storage configuration
2014-06-18 12:53:20 +02:00
Jörn Friedrich Dreyer
7493ff0624
fix unit test by always initializing the root of the storage in the constructor
2014-06-18 12:53:20 +02:00
Jörn Friedrich Dreyer
10de4a7b90
move creation of / and users 'files' from storage constructor to setupFS / mount initialization
2014-06-18 12:53:20 +02:00
Jörn Friedrich Dreyer
87aaf39259
fix checking unset array values, deduplicate code, remove file from cache if it could not be stored in the objectstore
2014-06-18 12:53:20 +02:00
Jörn Friedrich Dreyer
eca536d8b4
minor code cleanup
2014-06-18 12:53:20 +02:00
Jörn Friedrich Dreyer
c020e8e658
use exceptions to notify abstract parent class of problems
2014-06-18 12:53:20 +02:00
Jörn Friedrich Dreyer
60a8419a1f
when root storage cannot be mounted throw an exception visible to the end user
2014-06-18 12:53:20 +02:00
Jörn Friedrich Dreyer
1374ba9adf
fix fallback config for default home storage
2014-06-18 12:53:20 +02:00
Jörn Friedrich Dreyer
ccb698a6a8
move swift and abstract code to core
2014-06-18 12:53:20 +02:00
Jörn Friedrich Dreyer
3c66a8c8ed
allow configuring objectstore as home and root storage
2014-06-18 12:53:19 +02:00
Robin Appelman
b188550c22
Also support removeable mounts with rmdir
2014-06-16 16:24:42 +02:00
Robin Appelman
0532f5c39a
Fix permission for movable storage root
2014-06-16 16:20:40 +02:00
Robin Appelman
87e311b996
Fix storage being passed to cache/watcher and scanner when using storage wrappers
2014-06-14 10:14:08 +02:00
Robin Appelman
65f3b2fad2
Add server<->server sharing backend
2014-06-14 10:10:37 +02:00
Vincent Petry
b595c982d0
Merge pull request #8968 from owncloud/scanner-parent-repair
...
Repair broken parent link in the scanner
2014-06-12 17:40:44 +02:00
Vincent Petry
75a53b3c49
Merge pull request #8901 from owncloud/permissions-update-cache
...
Save the permissions in the filecache if it's not saved yet
2014-06-11 18:28:55 +02:00
Robin Appelman
6b1d8a56bb
remove unused argument
2014-06-10 15:42:37 +02:00
Robin Appelman
054083b9cd
add some comments
2014-06-10 15:37:43 +02:00
Robin Appelman
21cfd1014a
Repair broken parent link in the scanner
2014-06-10 15:26:18 +02:00
Bjoern Schiessle
9dc0befcca
call self::getNumericStorageId() to get the numeric ID
2014-06-10 14:48:19 +02:00
Robin Appelman
41d2354191
Save the permissions in the filecache if it's not saved yet
2014-06-09 12:34:35 +02:00
Thomas Müller
c053f27381
Merge pull request #8921 from owncloud/fix-remove-storage-master
...
No need to create a storage within remove
2014-06-06 16:16:44 +02:00
icewind1991
c47d4ebbac
Merge pull request #8666 from owncloud/mount-remove
...
Support for (re)moving mountpoints
2014-06-06 11:57:43 +02:00
Thomas Müller
26993f2167
No need to create a storage within remove
2014-06-06 11:39:35 +02:00
Thomas Müller
ff651a3e0d
Merge pull request #8909 from owncloud/fix-temporary-storage-rmdirr-master
...
use system function to recursive remove the directory used by temporary ...
2014-06-06 10:02:23 +02:00
Robin Appelman
e362373a30
Movable storage root can always be moved and deleted
2014-06-06 09:56:01 +02:00
Robin Appelman
a432459685
use triple equals
2014-06-06 09:56:01 +02:00
Robin Appelman
42a362f249
Fix phpdoc and comments
2014-06-06 09:56:01 +02:00
Bjoern Schiessle
329bfd81c3
remove encryption keys if user unshares a file
2014-06-06 09:55:59 +02:00
Robin Appelman
dea5219244
Fix folder name for storage root
2014-06-06 09:55:59 +02:00