Commit Graph

4100 Commits

Author SHA1 Message Date
Thomas Müller f051b7381b Merge pull request #16402 from owncloud/issue-15956-slow-group-usercount
Sort user groups by group name and hide the user count
2015-06-08 12:11:22 +02:00
Olivier Paroz 71d65cb713 Fix max preview, some resizing and caching issues and force preview providers to resize their previews properly
* introduces a method in OC_Image which doesn't stretch images when trying to make them fit in a box
* adds the method to all key providers so that they can do their job, as expected by the Preview class
* improves the caching mechanism of Preview in order to reduce I/O and to avoid filling the available disk space
* fixes some long standing issues
* **contains mostly tests**
2015-06-06 16:25:04 +02:00
Lukas Reschke ca10ee4d0d Merge pull request #16771 from owncloud/fix-storage-full-message
Add owner to the storage stats to enable better notifications
2015-06-05 20:09:55 +02:00
Morris Jobke 3b188d0b72 Merge pull request #16768 from owncloud/add-missing-mime-types
Adding mimetype x-h for header files
2015-06-05 20:08:34 +02:00
Lukas Reschke cbb15f3cbd Merge pull request #16767 from owncloud/webdav-preventdeleteroot
Prevent deleting Webdav root
2015-06-05 19:56:20 +02:00
Morris Jobke 62ae39208a Add owner to the storage stats to enable better notifications
* getstoragestats.php returns now the owner and it's display name
* show proper storage stats notifications for shared folders
2015-06-05 18:21:41 +02:00
Thomas Müller 5481a846c2 Adding mark down mime type mkd - fixes https://github.com/owncloud/files_texteditor/issues/45 2015-06-05 17:11:14 +02:00
Thomas Müller 5d93353a02 Adding mimetype x-h for header files - fixes https://github.com/owncloud/files_texteditor/issues/70 2015-06-05 16:57:01 +02:00
Vincent Petry 6ae5ae2e31 Prevent deleting Webdav root 2015-06-05 16:55:09 +02:00
Thomas Müller 85d1ca11d4 Merge pull request #16765 from owncloud/fix-chunked-upload-jenkins
Fix chunked upload jenkins
2015-06-05 16:20:33 +02:00
Thomas Müller 5e60795962 Bring back OC\Cache\File - fixes #16760 2015-06-05 14:21:17 +02:00
Joas Schilling 1df95ea1ca Fix "@throws" tags on doc blocks 2015-06-05 13:55:59 +02:00
Vincent Petry 06dda427f3 Validate path in getChild 2015-06-05 12:08:18 +02:00
Joas Schilling bb0cb0aaec Merge pull request #15895 from owncloud/dav-getremoteetag
Get etag from remote OC server
2015-06-03 17:20:25 +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
Clark Tomlinson 00742a9d68 Merge pull request #16721 from owncloud/fix-grammar-enc-module
Fixing grammar - refs https://www.transifex.com/projects/p/owncloud/t
2015-06-03 09:54:50 -04:00
Thomas Müller 5dc5b7f86d Catch NotFoundException and return no quota information which simply reflects the current state - no file storage has been initialized for the user. 2015-06-03 15:00:56 +02:00
Thomas Müller 259b6ac2c1 Fixing grammar - refs https://www.transifex.com/projects/p/owncloud/translate/#en_GB/lib/50330746 2015-06-03 14:56:18 +02:00
Thomas Müller 739c3f01aa Merge pull request #16434 from owncloud/persist-maintenance-state
Persist the state of the maintenance after an upgrade
2015-06-03 13:56:17 +02:00
Thomas Müller 69d1e7aaf4 Merge pull request #16687 from owncloud/issue-16113-redis-minimum-version
Check for redis to be 2.2.5+
2015-06-03 13:55:26 +02:00
Morris Jobke e3440863bc Merge pull request #16708 from owncloud/enc_fix_move_to_trash
make sure that we always use the correct owner for both source and target
2015-06-03 13:49:46 +02:00
Vincent Petry 6ab38be40e Translate invalid path exception to sabre exception for files 2015-06-03 12:22:31 +02:00
Bjoern Schiessle 7eb2b31e34 make sure that we always use the correct owner for both source and target 2015-06-03 11:59:06 +02:00
Morris Jobke 259937680b Merge pull request #16667 from owncloud/issue-16510-fix-encryption-with-s2s-shares
Add tests for the storage wrapper and fix the wrapping
2015-06-02 16:42:32 +02:00
Joas Schilling bdc82dcfb9 Check for redis to be 2.2.5+ 2015-06-02 15:42:48 +02:00
Robin Appelman a9455be14a more hints 2015-06-02 14:16:37 +02:00
Robin Appelman 0497534a6e more type hints 2015-06-02 14:07:55 +02:00
Robin Appelman 8926bca0c7 phpdoc, strict and type hints 2015-06-02 14:07:55 +02:00
Robin Appelman 6f47a547d8 only use mount provider if we have a valid user 2015-06-02 14:07:54 +02:00
Robin Appelman 24131586d7 call mount providers that are registered after the filesystem is setup 2015-06-02 14:07:54 +02:00
Robin Appelman c91b52d38c move emitter implementation to a trait 2015-06-02 14:07:54 +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
Thomas Müller 3ebc8f0564 Merge pull request #16107 from owncloud/fix-getLocalFile-encryption-master
Fix get local file encryption master
2015-06-02 13:47:37 +02:00
Joas Schilling be1f319511 Correctly ignore remote shares aswell 2015-06-02 12:33:51 +02:00
Joas Schilling 50a31fa8f9 Add unit tests for wrapStorage 2015-06-02 12:33:17 +02:00
Joas Schilling 9a4040c7ca Move the storage wrapping into a testable method 2015-06-02 12:29:06 +02:00
Vincent Petry 30d7f92763 Get etag from remote OC server 2015-06-02 11:42:03 +02:00
Morris Jobke cf2c599218 Merge pull request #16200 from owncloud/kill-globalfilecache
Drop file caching
2015-06-02 09:11:33 +02:00
Lukas Reschke 73875da4b0 Clean application identifier before processing 2015-06-01 17:03:51 +02:00
Thomas Müller 2104c2ffdd Fixing undefined index 'foo' 2015-06-01 14:10:00 +02:00
Robin Appelman 8902e2be73 fix nooplockingprovider 2015-06-01 13:25:27 +02:00
Robin Appelman ce04cf6610 shared lock around hooks 2015-06-01 13:24:02 +02:00
Robin Appelman 661c9e2444 add changeLock to the storage api 2015-06-01 13:24:02 +02:00
Robin Appelman a1372b2fb5 add method to atomically change between shared and exclusive lock 2015-06-01 13:24:02 +02:00
Vincent Petry 270a10b754 Return 423 instead of 503 for locked files 2015-06-01 13:24:02 +02:00
Vincent Petry 0451a6652d Move locking exceptions 2015-06-01 13:24:02 +02:00
Vincent Petry ba174ac626 Convert LockedException to FileLocked in Sabre connector
For Sabre to be able to return the proper error code instead of 500, the
LockedException is now rethrown as FileLocked exception in the Sabre
connector
2015-06-01 13:22:57 +02:00
Robin Appelman 8665a98744 add locking for non-chunking webdav upload 2015-06-01 13:22:57 +02:00
Robin Appelman 72776b165f use arraycache for locking in unit tests 2015-06-01 13:22:56 +02:00
Robin Appelman 6b965d71d1 add seperate config option for locking memcache backend 2015-06-01 13:22:56 +02:00
Robin Appelman 72847dbc77 always use locking in unit tests 2015-06-01 13:22:56 +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 668fafd4d2 close file handle after sending sabre response 2015-06-01 13:22:56 +02:00
Vincent Petry 2f4f468399 Added config switch for file locking 2015-06-01 13:22:56 +02:00
Vincent Petry 6df502a5aa Fix Null memcache fallback to match interface 2015-06-01 13:22:56 +02:00
Robin Appelman 006eaa84aa dont release shared lock if we dont have any 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 e08423f956 release all locks on shutdown 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
Vincent Petry 5edf294ce5 Add CAS methods to Null memcache
This prevents breaking ownCloud completely when memcache is not enabled
and the locking code is triggered
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 e64360e72d always use arraycache for unit tests 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 536e187e51 add locking to the storage api 2015-06-01 13:22:56 +02:00
Robin Appelman cdf7f91259 expose locking provider in the server container 2015-06-01 13:22:55 +02:00
Vincent Petry 06f8c80af6 Validate target file name for some webdav ops 2015-05-29 19:14:38 +02:00
Thomas Müller 67cef93fdd Merge pull request #16578 from owncloud/fix_16556
show txt preview when file contains text
2015-05-28 20:48:16 +02:00
Morris Jobke 7f83829db3 Merge pull request #16592 from owncloud/fix-16574
Add type hint for OC_Channel
2015-05-28 20:36:44 +02:00
Vincent Petry e114d00242 Only use quota stream wrapper on "files"
Prevent using the quota stream wrapper on trashbin folders and other
metadata folders
2015-05-28 18:31:20 +02:00
Vincent Petry ded62ff693 Merge pull request #16501 from owncloud/enc_fix_move_versions_between_storages
[encryption] fix move versions between storages
2015-05-28 15:28:25 +02:00
Vincent Petry 474c99e19a Merge pull request #16577 from owncloud/enc_improve_migration
only request encryption module for files which are not excluded
2015-05-28 11:31:33 +02:00
Björn Schießle e1483f65c3 Merge pull request #16591 from owncloud/enc_improved_error_message
improved error message for various states
2015-05-28 10:55:53 +02:00
Bjoern Schiessle 5549641f1f improve error messages displayed to the user 2015-05-27 21:00:02 +02:00
Victor Dubiniuk 4239054383 Add type hint for OC_Channel 2015-05-27 18:03:11 +03:00
Bjoern Schiessle 0de59acb49 only request encryption module for files which are not excluded 2015-05-27 15:47:40 +02:00
Lukas Reschke ffd73ef2e4 Fix indentation 2015-05-27 14:57:19 +02:00
Georg Ehrke bb676f2799 show txt preview when file contains text 2015-05-27 14:11:33 +02:00
Morris Jobke 3de945d13d Merge pull request #16527 from owncloud/end-processing-when-404
End processing when file is not found
2015-05-27 09:36:05 +02:00
Thomas Müller 4513cf5967 Revert "Revert "Revert "FIX for webdav.mediencenter.t-online.de""" 2015-05-26 14:40:07 +02:00
Oliver Kohl D.Sc f8938f004d Revert "Revert "FIX for webdav.mediencenter.t-online.de"" 2015-05-26 13:36:45 +02:00
Björn Schießle f70c309c2d Merge pull request #16561 from owncloud/add-default-timeout-back
Add connection timeout to default POST options
2015-05-26 12:23:57 +02:00
Vincent Petry f1fc7b155c Merge pull request #16515 from owncloud/deprecate-useless-helper-class
Deprecate useless helper class
2015-05-26 12:22:05 +02:00
Vincent Petry 39c6a36488 Merge pull request #16532 from owncloud/cors-no-cookie-auth
Disallow cookie auth for cors requests
2015-05-26 12:12:04 +02:00
Björn Schießle ab0747113c Merge pull request #16452 from owncloud/enc_ftp_upload
always write file, if fseek doesn't work we write the whole file
2015-05-26 12:02:41 +02:00
Thomas Müller 3babcd0344 Merge pull request #16339 from owncloud/master-override-channel
Allow change update channel via public API
2015-05-26 11:42:41 +02:00
Lukas Reschke dff361dc5c Add connection timeout to default POST options
Fixes https://github.com/owncloud/core/issues/16560
2015-05-26 11:22:50 +02:00
jknockaert a577e723b0 flush() comments + perf opt 2015-05-26 10:22:52 +02:00
Vincent Petry ce34edacfa Merge pull request #16526 from owncloud/enc_fix_versions_webdav_upload
remove part file extension before we read a filekey
2015-05-22 16:42:52 +02:00
Bjoern Schiessle c63f2286c0 copy keys before we move a file between storages to make sure that the new target file reuses the old file key, otherwise versions will break 2015-05-22 15:41:28 +02:00
Bernhard Posselt c8e3599cad disallow cookie auth for cors requests
testing ...

fixes

fix test

add php doc

fix small mistake

add another phpdoc

remove not working cors annotations from files app
2015-05-22 14:06:26 +02:00
Bjoern Schiessle fef75e5417 remove part file extension before we read a filekey to reuse a existing key if possible, otherwise stuff like versioning will break 2015-05-22 12:12:31 +02:00
Lukas Reschke 8ce3d6ea57 End processing when file is not found
We have to end the processing when a file is not found or otherwise the method is proceeding and even sending invalid file paths to the sendfile methods.

Due to nginx preventing directory traversals this is luckily not immediately exploitable. We should for hardening purposes however quit the script execution just as we do for 403 cases and others as well.
2015-05-22 11:53:02 +02:00
Vincent Petry b82d902e18 Merge pull request #16493 from owncloud/cache-movewithcorrectmimetype
Get correct mimetype when moving and changing extension
2015-05-22 11:37:11 +02:00
Joas Schilling d7b2bc9e2f Merge pull request #16516 from owncloud/fix-phpdoc-trait
Fix PHPDoc
2015-05-22 09:47:59 +02:00
Lukas Reschke 3d8ea96e55 Fix PHPDoc
Use correct parameters
2015-05-22 00:17:38 +02:00
Lukas Reschke c1f8829590 Deprecate useless helper class
The helper class has no real reason anymore with 8.1.0 as we now have better public APIs. No need for an `IHelper` class like that from my opinion.
2015-05-21 23:35:37 +02:00
jknockaert bf6151e799 fix calculation of $count, $count is always 8129 so we need to check this
against the unencrypted file size
2015-05-21 14:15:26 +02:00
Bjoern Schiessle 5a20edac82 test to simulate a non-seekable stream wrapper 2015-05-21 14:15:26 +02:00
jknockaert fb51880a4a encrypted filesize calculation in flush() 2015-05-21 14:15:26 +02:00
Bjoern Schiessle 38bceb0d74 distinguish between source and target mount point to allow copy/rename between system wide mount points and user specific mountpoints 2015-05-21 14:06:45 +02:00
Lukas Reschke 94077caea9 Merge pull request #16499 from owncloud/fix-phpdoc-annotations
Fix PHPDoc 🙈
2015-05-21 13:54:01 +02:00
Lukas Reschke 694d639f94 Fix PHPDoc 🙈
*sigh*
2015-05-21 13:07:54 +02:00
Vincent Petry 22968e806c Get correct mimetype when moving and changing extension
Fixes issue when restoring folders from trash cross-storage, as such
folders have an extension ".d12345678".

Fixes issue when moving folders between storages and at the same time
changing their extension.
2015-05-21 10:57:58 +02:00
Steffen Lindner 48040c46cb Skip disable3rdParty Apps 2015-05-20 17:06:00 +02:00
Morris Jobke 39d1e99228 Merge pull request #16322 from owncloud/trash-view
dont go trough the view when moving to trash
2015-05-20 14:44:01 +02:00
Vincent Petry 7386257676 Merge pull request #16075 from owncloud/skeleton-copy-delay
wait with copying the skeleton untill login and setupfs are done
2015-05-20 13:52:08 +02:00
Morris Jobke 1e59be2d2d Merge pull request #16453 from cmeh/patch-6
Clean-up of orthography, grammar
2015-05-20 10:26:42 +02:00
Thomas Müller f9d04f62a8 Merge pull request #16440 from owncloud/scrutinizer-patch-1
Scrutinizer Auto-Fixes
2015-05-19 22:12:35 +02:00
Christian Hoffmann 35207ae363 Clean-up of orthography, grammar
* Changed "instead to" to "instead of".
* Changed "setup" to "set up" (past participle).
2015-05-19 21:15:22 +02:00
Thomas Müller f59576c3ca Merge pull request #16447 from owncloud/fix-minor-code-problems
Fix unexisting class and broken doc
2015-05-19 16:23:36 +02:00
Joas Schilling d832c4ae23 Fix unexisting class and broken doc 2015-05-19 15:27:50 +02:00
Thomas Müller 10d1fd1306 Merge pull request #16419 from owncloud/user-group-backend-performance
Reduce the complexity of the search queries in the user/group backends to a minimum
2015-05-19 14:51:13 +02:00
Robin Appelman 9c751f1d87 use copy when doing a crossStorageCopy on the same storage 2015-05-19 14:21:58 +02:00
Scrutinizer Auto-Fixer fdbc21fc6c Scrutinizer Auto-Fixes
This commit consists of patches automatically generated for this project on https://scrutinizer-ci.com
2015-05-19 11:23:06 +00:00
Thomas Müller ad88a7d53d exception class will be logged as well - helps especially in cases where the message contained is empty - e.g. "message":"OCP\\Files\\NotFoundException: at \/home\/deepdiver\/Development\/ownCloud\/core-autotest\/apps\/provisioning_api\/lib\/users.php#354", 2015-05-19 12:35:22 +02:00
Thomas Müller a52afb040a Merge pull request #15965 from owncloud/conditional-logging
Conditional logging
2015-05-19 12:00:19 +02:00
Thomas Müller d90b83725f Merge pull request #16085 from owncloud/encryption-module-rename
rename to 'Default encryption module'
2015-05-19 11:13:33 +02:00
Morris Jobke 064f5204cc Persist the state of the maintenance after an upgrade
* if maintenance mode was enabled before an upgrade
  it will be enabled afterwards too
* fixes #16429
2015-05-19 10:56:04 +02:00
Morris Jobke aae9274210 Merge pull request #16293 from owncloud/xcache
Mute XCache error when trying to clear the opcode cache
2015-05-19 09:32:17 +02:00
Björn Schießle 1c411baf17 Merge pull request #16412 from owncloud/jknockaert-patch-1
fix #16356
2015-05-18 19:26:40 +02:00
Clark Tomlinson f9b6ee86cd Merge pull request #16399 from owncloud/enc_rmdir_fix
[encryption] only try to delete file keys if it is a valid path
2015-05-18 11:09:36 -04:00
Joas Schilling 8efc8c0a96 Reduce the complexity of the search queries in the backends to a minimum 2015-05-18 16:39:21 +02:00
Thomas Müller c28cd03770 Merge pull request #16403 from owncloud/fix-command-loading
Only load commands of enabled apps
2015-05-18 16:16:04 +02:00
jknockaert 2834971a77 fix #16356 2015-05-18 15:06:55 +02:00
Björn Schießle a1e60e7882 Merge pull request #15980 from owncloud/jknockaert-patch-1
fix bug #15973
2015-05-18 15:01:16 +02:00
Vincent Petry 9d3d7ec659 Small perf tweak in strlen loop 2015-05-18 13:27:22 +02:00
Joas Schilling d683752b37 Sort user groups by group name and hide the user count 2015-05-18 12:55:19 +02:00
Morris Jobke ad3a32edf6 Only load commands of enabled apps 2015-05-18 12:33:56 +02:00
Robin Appelman 077d41a9ce wait with copying the skeleton untill login and setupfs are done 2015-05-18 12:11:31 +02:00
Bjoern Schiessle efa674f10d only try to delete file keys if it is a valid path 2015-05-18 11:54:51 +02:00
Vincent Petry 7e271012b2 Merge pull request #16243 from owncloud/error_if_download_failed
redirect to error page if download failed
2015-05-18 11:42:55 +02:00
Morris Jobke 7ee3f99a4a Merge pull request #16364 from owncloud/add-warning-webdav
Add notice that WebDAV interface is not intended for browsers
2015-05-18 11:28:47 +02:00
Roeland Jago Douma 9866066d3e Depreatace OC_Util::getUrlContent
It is just a wrapper and the other functions are deprecated already
2015-05-18 11:03:48 +02:00
Bjoern Schiessle 887be709f5 a new approach to display the error message 2015-05-18 10:15:17 +02:00
Vincent Petry 246000f799 Merge pull request #16176 from owncloud/fix-provisioning-api-set-quota
Validate the quota value to be a correct value
2015-05-15 18:07:13 +02:00
Joas Schilling 0991c0cc02 Merge pull request #16292 from owncloud/webdav-storage-fireprehooks
Fire prehooks when uploading directly to storage
2015-05-15 15:08:27 +02:00
Thomas Müller 937306b416 Merge pull request #16323 from owncloud/enc_webdav_fixes
some encryption fixes
2015-05-15 10:38:22 +02:00
Lukas Reschke 13778893d9 Add notice that WebDAV interface is not intended for browsers
Fixes https://github.com/owncloud/core/issues/16359
2015-05-15 09:07:39 +02:00
Victor Dubiniuk af814ba270 Allow change update channel via public API 2015-05-13 20:29:33 +03:00
Bjoern Schiessle ccbefb6e75 delete all file keys doesn't need the encryption module as parameter; implement rmdir; getFileKeyDir should also work for part files and complete directories 2015-05-13 19:06:23 +02:00
Vincent Petry 3cae0135ad Fire prehooks when uploading directly to storage 2015-05-13 17:47:04 +02:00
Robin Appelman 4789e87a53 Merge pull request #16276 from owncloud/dav-quota-root
fix webdav quota check for the root of the dav endpoint
2015-05-13 14:43:02 +02:00
Arthur Schiwon e5a91fc185 remove file cache remainings from server container 2015-05-13 12:26:36 +02:00
Lukas Reschke cbfdbf96d2 Mute XCache error when trying to clear the opcode cache
From https://github.com/owncloud/core/issues/16287:

> This is caused by XCache at 8e59d4c64b/lib/private/util.php (L1276) where we are trying to reset the opcode cache with `XC_TYPE_PHP`.
> I suspect that while XCache is installed its opcode component is not used. Unfortunately, the XCache API is not really properly documented and thus I don't know what API we would have to call to check whether the `XC_TYPE_PHP` cache is populated. In fact, there is an [open XCache bug](http://xcache.lighttpd.net/ticket/176) since 7 years that discusses this problem and is likely to never get fixed since XCache is abandonware.

Fixes https://github.com/owncloud/core/issues/16287
2015-05-12 19:22:39 +02:00
Morris Jobke dc362823e0 Merge pull request #16269 from owncloud/master-fix-16179
Check if cURL supports the desired features
2015-05-12 18:27:57 +02:00
Arthur Schiwon d6becb8d82 add repair steps to get rid of old background jobs 2015-05-12 18:19:44 +02:00
Arthur Schiwon e016ed55ff also free joblist and base from file cache code 2015-05-12 17:44:31 +02:00
Robin Appelman 11e1acd8ec fix webdav quota check for the root of the dav endpoint 2015-05-12 14:02:27 +02:00
Björn Schießle fbe4b77c49 Merge pull request #16228 from owncloud/enc_fix_restore
use hooks to update encryption keys
2015-05-12 13:10:16 +02:00
Lukas Reschke 4613456a8a Check if cURL supports the desired features
Older versions of cURL that are unfortunately still bundled by distributors don't support these features which will result in errors and other possibly unpredictable behaviour.

Fixes https://github.com/owncloud/core/issues/16179 for master – stable8 requires another patch.
2015-05-12 12:00:56 +02:00
Morris Jobke b11c0c533e Merge pull request #16233 from owncloud/enc_fix_check_if_file_is_excluded
fix check if a file is excluded from encryption
2015-05-12 09:12:38 +02:00
Morris Jobke afcec88c6f Merge pull request #16234 from owncloud/issue-16206-fix-app-config-parallel-insert
Issue 16206 fix app config parallel insert
2015-05-11 16:05:30 +02:00
Bjoern Schiessle 9dd517071e fix check if file is excluded from encryption 2015-05-11 12:38:59 +02:00
Joas Schilling dfed287dc0 Use insertIfNotExists to avoid problems with parallel calls 2015-05-11 12:38:33 +02:00
Bjoern Schiessle 0d5c7a11e2 use hooks to update encryption keys instead of the storage wrapper if a file gets renamed/restored, as long as we
are in the storage wrapper the file cache isn't up-to-date
2015-05-11 12:06:57 +02:00
Thomas Müller 9c57ae89d9 Some locales need to be converted to be compliant with CLDR 2015-05-08 23:45:07 +02:00
Morris Jobke e79c255cab Conditional logging
* Log condition for log level increase based on conditions. Once one of these
   conditions is met, the required log level is set to debug. This allows to
   debug specific requests, users or apps

 * Supported conditions (setting `log_condition` in `config.php`):
    - `shared_secret`: if a request parameter with the name `log_secret` is set to
                this value the condition is met
    - `users`:  if the current request is done by one of the specified users,
                this condition is met
    - `apps`:   if the log message is invoked by one of the specified apps,
                this condition is met
 * fix unit test and add app log condition test
2015-05-08 15:58:33 +02:00
Morris Jobke 892b5ceeeb Move log level check to logger parent class
* remove duplicate code from child classes
2015-05-08 15:14:45 +02:00
Arthur Schiwon 3de7f58321 remove file cache classes and its tests 2015-05-08 14:05:54 +02:00
Lukas Reschke c9921ec127 Merge pull request #16124 from owncloud/issue-16109-fix-share-email-with-shared-folder
Fix the share mail notification when the item is in a folder
2015-05-08 13:03:28 +02:00
Lukas Reschke 16a0de6314 Merge pull request #16146 from owncloud/issue-16103-hide-module-already-exists-on-enable-app
Avoid the log entry with the ModuleAlreadyExists exception when enabl…
2015-05-08 11:55:02 +02:00
Thomas Müller 4659927d7a Pure numbers are returned as bytes right away 2015-05-08 10:54:54 +02:00
Thomas Müller 15d134124b Validate the quota value to be a correct value 2015-05-07 17:56:13 +02:00
Robin Appelman 06a65fab13 use cross storage move when renaming the part file during webdav put 2015-05-07 14:28:31 +02:00
Joas Schilling 49f94b17f7 Avoid the log entry with the ModuleAlreadyExists exception when enabling the app 2015-05-07 11:00:55 +02:00
Thomas Müller 55eaa165f8 Merge pull request #16119 from owncloud/fix-16056
[HHVM] Throw RunTimeException from OC\AppFramework\App::buildAppNamespace()
2015-05-07 00:20:57 +02:00
Andreas Fischer e418ced656 Check return value of OC_App::getAppPath() and verify info.xml exists. 2015-05-06 17:15:28 +02:00
Joas Schilling b4471c2591 Fix the share mail notification when the item is in a folder 2015-05-06 15:44:19 +02:00
Jan-Christoph Borchardt 35292eb66c rename to 'Default encryption module' 2015-05-06 15:31:05 +02:00
Joas Schilling aea734aaf1 Fix missing types on doc block and deduplicate the method name 2015-05-06 14:31:10 +02:00
Bjoern Schiessle e4829a2358 update 'encrypted'-flag in file cache according to the storage settings 2015-05-06 14:20:05 +02:00
Bjoern Schiessle dc39bda870 move/copy from storage 2015-05-06 14:20:02 +02:00
Bjoern Schiessle 83ed4ee5b6 unit tests 2015-05-06 12:28:15 +02:00
Bjoern Schiessle e7a3911c83 check if encryption is enbaled before we start moving keys 2015-05-06 11:35:45 +02:00
Lukas Reschke 9a159372cb Merge pull request #16067 from owncloud/verbosity-in-app-code-check
Add verbosity option to app:check-code
2015-05-06 11:21:23 +02:00
Thomas Müller 35a2fd3f89 Only return cached files if existing 2015-05-06 11:16:44 +02:00
Morris Jobke 874d35b27a Merge pull request #16070 from owncloud/enc_update_file_cache_on_copy
make sure that we keep the correct encrypted-flag and the (unencrypted)size
2015-05-06 10:28:10 +02:00
Morris Jobke f1903f61a1 Merge pull request #16072 from owncloud/phpdoc-cache
improve phpdoc of cache classes
2015-05-06 09:38:56 +02:00
Morris Jobke c3fb021acf Merge pull request #16017 from owncloud/proper-update-notification
Use OC.Notification for update notifications
2015-05-06 09:28:42 +02:00
Jörn Friedrich Dreyer 4c0d1b0460 Merge pull request #16050 from owncloud/add-workaround-for-populate-raw-post-data
Don't display errors and log them
2015-05-06 08:55:46 +02:00
Thomas Müller a96c2b8354 Only use cached files in case encryption is enabled - in any other case let the underlying storage handle this accordingly - refs #16061 #16062 and others 2015-05-05 16:19:24 +02:00
Bjoern Schiessle 7089af96f2 make sure that we keep the correct encrypted-flag and the (unencrypted)size if a file gets copied 2015-05-05 16:17:14 +02:00
Robin Appelman e0d151505f improve phpdoc of cache classes 2015-05-05 16:06:28 +02:00
Morris Jobke 56b1c93a79 Add verbosity option to app:check-code
* by default only lists files with errors
* option -v lists all files even if there are no errors
2015-05-05 13:57:23 +02:00
Thomas Müller aae098c24a Check usage of != and == - refs #16054 2015-05-05 12:59:33 +02:00
Lukas Reschke 11310355ed Don't depend on always_populate_raw_post_data 2015-05-05 12:36:15 +02:00
Lukas Reschke 7c5558327d Check `mbstring.func_overload` only if the mb module is installed.
Fixes https://github.com/owncloud/core/issues/14670
2015-05-04 17:13:25 +02:00
Lukas Reschke 64393b4c03 Remove PHP 5.4 warning in checkSetup
This is catched in index.php as older PHP versions will never execute the code path until there due to 5.4 syntax changes.
2015-05-04 17:11:17 +02:00
Thomas Müller 08b98a8ede Merge pull request #16042 from owncloud/fix-output-buffering
Remove hard-dependency on disabled output_buffering
2015-05-04 16:43:32 +02:00
Lukas Reschke 5c7d15b941 Merge pull request #16043 from owncloud/activity-288-log-entry-when-no-favorite
Fix undefined variable $tagId
2015-05-04 16:22:21 +02:00
Joas Schilling 50f6386c63 Fix undefined variable $tagId 2015-05-04 16:19:26 +02:00
Joas Schilling 59c657da53 Merge pull request #15772 from owncloud/issue-15771-dont-restrict-permissions-for-share-owner
Do not restrict permissions for the original owner
2015-05-04 15:07:37 +02:00
Lukas Reschke 4b9e034968 Remove hard-dependency on disabled output_buffering
This removes the hard-dependency on output buffering as requested at https://github.com/owncloud/core/issues/16013 since a lot of distributions such as Debian and Ubuntu decided to use `4096` instead of the PHP recommended and documented default value of `off`.

However, we still should encourage disabling this setting for improved performance and reliability thus the setting switches in `.user.ini` and `.htaccess` are remaining there. It is very likely that we in other cases also should disable the output buffering but aren't doing it everywhere and thus causing memory problems.

Fixes https://github.com/owncloud/core/issues/16013
2015-05-04 14:15:15 +02:00
Thomas Müller 4de45b5e61 Merge pull request #15958 from owncloud/usage-of-public-log-interface
Use internally \OCP\ILogger instead of \OC\Log
2015-05-04 09:13:26 +02:00
Morris Jobke cd516eedcd Use OC.Notification for update notifications
* instead of a static rendering inside PHP use the
  JS OC.Notification.showTemporary to hide the
  notification after 7 seconds automatically
* fixes #14811
2015-05-03 17:26:03 +02:00
Lukas Reschke 6738c17cb5 Add proper versioning for doc URL
As per 8.1 we have docs for minor versions as well so we need to link to `8.1` here instead to `8.0`.

Fixes https://github.com/owncloud/core/issues/16002
2015-05-02 21:05:11 +02:00
Thomas Müller 6b691e3840 Merge pull request #15937 from owncloud/file-locking
Add memcache based shared/exclusive locking
2015-05-01 17:47:23 +02:00
jknockaert f5415653fd fix #15973
Rework of stream_seek handling; there where basically two bugs: 1. seeking to the end of the current file would fail (with SEEK_SET); and 2. if seeking to an undefined position (outside 0,unencryptedSize) then newPosition was not defined. I used the opportunity to simplify the code.
2015-04-30 17:10:18 +02:00
Robin Appelman ba7d221cff allow getting the path from the lockedexception 2015-04-30 14:48:42 +02:00
Robin Appelman a40a237441 use trait for cas polyfill for xcache 2015-04-30 14:48:39 +02:00
Robin Appelman 96f9573a4b add memcache based shared/exclusive locking 2015-04-30 14:48:39 +02:00
Robin Appelman acf30ede95 add compare and swap to memcache 2015-04-30 14:48:39 +02:00
Robin Appelman 29213b6136 extends memcache with add, inc and dec 2015-04-30 14:48:36 +02:00
Bernhard Posselt 360d0e3e5e fix #15962 2015-04-30 12:44:45 +02:00
Morris Jobke fbba7a61cb Use internally \OCP\ILogger instead of \OC\Log
* this is the preparation for some upcoming logger related changes
* also fixes an issue in the public interface where we request
  an internal class as parameter
2015-04-30 11:52:30 +02:00
Thomas Müller d308ec4f0e Merge pull request #15949 from owncloud/l10n-string-json
Implement json serialize for l10n string
2015-04-30 11:11:16 +02:00
Bernhard Posselt 1e58538f0e add aliases to pascal case constructor paramters to make it possible to auto assemble controllers 2015-04-29 22:29:45 +02:00
Bernhard Posselt 5b857a6eab implement json serialize for l10n string 2015-04-29 21:22:42 +02:00
Joas Schilling f524ae261a Ignore "parent" shares when the sharee is the owner of the reshare-source 2015-04-29 14:18:46 +02:00
Joas Schilling 3c37cbdfe7 Correctly select file cache values also when checking group shares 2015-04-29 14:12:12 +02:00
Morris Jobke 8c7db2536d Merge pull request #15596 from owncloud/issue/15589
Correctly generate the feedback URL for remote share
2015-04-29 10:52:43 +02:00
Morris Jobke 7df7a3b360 Merge pull request #15906 from rullzer/fix_15777
Password set via OCS API should not be double escaped
2015-04-29 10:44:25 +02:00
Lukas Reschke 34d0e610cc Filter potential dangerous filenames for avatars
We don't want to have users misusing this API resulting in a potential file disclosure of "avatar.(jpg|png)" files.
2015-04-28 16:57:23 +02:00
Joas Schilling 2eecfcbb80 Fix scrutinizer complains and return type doc 2015-04-28 11:28:55 +02:00
Joas Schilling 9fb7d0bca9 Correctly remove the protocol before prepeding it 2015-04-28 11:28:54 +02:00
Joas Schilling 8f7c64253e Correctly generate the feedback URL for remote share
The trailing slash was added in c78e3c4a7f
to correctly generate the encryption keys
2015-04-28 11:28:54 +02:00
Morris Jobke de8c15e1a4 Merge pull request #14764 from owncloud/shared-etag-propagate
Propagate etags across shared storages
2015-04-28 10:58:50 +02:00
Morris Jobke b4a15db046 Merge pull request #15901 from owncloud/fix-share-docs
fix several issues with doc blocks on share.php
2015-04-28 10:41:04 +02:00
Roeland Jago Douma 73bb3a22f6 Password set via OCS API should not be double escaped 2015-04-28 10:33:19 +02:00
Joas Schilling 7c65448377 Fix return type of the getRootFolder() method 2015-04-28 09:36:29 +02:00
Joas Schilling 46083006e1 fix several issues with doc blocks on share.php 2015-04-28 08:40:47 +02:00
Thomas Müller eb0e9e5646 Merge pull request #15890 from owncloud/fix-helper-docs
Fix several type(hint) errors in private/helper.php
2015-04-27 15:28:50 +02:00
Thomas Müller 7d0eba7a41 Merge pull request #15886 from owncloud/fix-15848-master
Adjust isLocal() on encryption wrapper
2015-04-27 15:06:26 +02:00
Joas Schilling db6395ae20 Fix several type(hint) errors in private/helper.php 2015-04-27 14:45:05 +02:00
Thomas Müller 678b7d7e4d Merge pull request #15860 from owncloud/enc_fallback_old_encryption
[encryption] handle encrypted files correctly which where encrypted with a old version of ownCloud (<=oc6)
2015-04-27 14:32:19 +02:00
Thomas Müller 936d564058 fixes #15848 2015-04-27 14:26:05 +02:00
Morris Jobke 93c25a1f4a Merge pull request #15882 from owncloud/fix-type-annotation
Fix type annotation
2015-04-27 14:17:59 +02:00
Robin Appelman 2e897f05b1 triger propagation for webdav uploads
use post hooks for share etag propagator
2015-04-27 14:07:16 +02:00
Robin Appelman 45784f213f fix propagation when renaming a directly reshared folder 2015-04-27 14:07:16 +02:00
Robin Appelman 30ad56813a propagate etags for all user of a share 2015-04-27 14:07:15 +02:00
Robin Appelman 518d5aadf5 Allow getting *all* share entries owned by a user 2015-04-27 14:07:15 +02:00
Robin Appelman 849e5521de Make the change propagator an emitter 2015-04-27 14:07:15 +02:00
Thomas Müller cc331609bf Merge pull request #15411 from mmattel/fix_for_15375_better_message_text
Improve error messge text for app upgrade try (#15375)
2015-04-27 13:38:16 +02:00
Lukas Reschke d0363fe396 Fix type annotation
Obviously should be an int
2015-04-27 13:31:18 +02:00
Bjoern Schiessle 27683f9442 fall back to the ownCloud default encryption module and aes128 if we read a encrypted file without a header 2015-04-27 13:01:18 +02:00
Joas Schilling d600955a51 Make getDefaultModuleId public and get module protected 2015-04-27 11:03:51 +02:00
Joas Schilling a09df6d453 Verify that the encryption module exists before setting it 2015-04-27 11:03:50 +02:00
Lukas Reschke 4dfdaf741c Merge pull request #15834 from owncloud/make-temporary-file-really-unique
Fix collision on temporary files + adjust permissions
2015-04-25 23:18:26 +02:00
Lukas Reschke b9df932e3c Merge pull request #15683 from owncloud/block-legacy-clients
Block old legacy clients
2015-04-24 18:21:10 +02:00
Bjoern Schiessle 9a5783b284 fix unit tests 2015-04-24 16:47:27 +02:00
jknockaert 49df8ef525 Update encryption.php 2015-04-24 16:44:00 +02:00
jknockaert 238302ee7d fixed name 2015-04-24 16:44:00 +02:00
jknockaert 1756562501 Update encryption.php 2015-04-24 16:44:00 +02:00
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 4334e77035 Merge pull request #15839 from owncloud/enc_fix_moving_shared_files
[encryption] fix moving files to a shared folder
2015-04-24 15:07:36 +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
Thomas Müller b1bb6a3d36 Ignore test folders when checking the code for compliance 2015-04-23 16:59:26 +02:00
Lukas Reschke ab9ea97d3a Catch not existing User-Agent header
In case of an not sent UA header consider the client as valid
2015-04-23 16:33:51 +02:00
Lukas Reschke 155ae44bc6 Fix collision on temporary files + adjust permissions
This changeset hardens the temporary file and directory creation to address multiple problems that may lead to exposure of files to other users, data loss or other unexpected behaviour that is impossible to debug.

**[CWE-668: Exposure of Resource to Wrong Sphere](https://cwe.mitre.org/data/definitions/668.html)**
The temporary file and folder handling as implemented in ownCloud is performed using a MD5 hash over `time()` concatenated with `rand()`. This is insufficiently and leads to the following security problems:
The generated filename could already be used by another user. It is not verified whether the file is already used and thus temporary files might be used for another user as well resulting in all possible stuff such as "user has file of other user".

Effectively this leaves us with:

1. A timestamp based on seconds (no entropy at all)
2. `rand()` which returns usually a number between 0 and 2,147,483,647

Considering the birthday paradox and that we use this method quite often (especially when handling external storage) this is quite error prone and needs to get addressed.

This behaviour has been fixed by using `tempnam` instead for single temporary files. For creating temporary directories an additional postfix will be appended, the solution is for directories still not absolutely bulletproof but the best I can think about at the moment. Improvement suggestions are welcome.

**[CWE-378: Creation of Temporary File With Insecure Permissions](https://cwe.mitre.org/data/definitions/378.html)**

Files were created using `touch()` which defaults to a permission of 0644. Thus other users on the machine may read potentially sensitive information as `/tmp/` is world-readable. However, ownCloud always encourages users to use a dedicated machine to run the ownCloud instance and thus this is no a high severe issue. Permissions have been adjusted to 0600.

**[CWE-379: Creation of Temporary File in Directory with Incorrect Permissions](https://cwe.mitre.org/data/definitions/379.html)**

Files were created using `mkdir()` which defaults to a permission of 0777. Thus other users on the machine may read potentially sensitive information as `/tmp/` is world-readable. However, ownCloud always encourages users to use a dedicated machine to run the ownCloud instance and thus this is no a high severe issue. Permissions have been adjusted to 0700.Please enter the commit message for your changes.
2015-04-23 15:07:54 +02:00
Martin 676e86b314 Improve error messge text for app upgrade try (#15375) 2015-04-22 13:24:11 +02:00
Morris Jobke 3e8f6cdba9 Merge pull request #15635 from owncloud/issue/15634-empty-txt-previews
Scale up the font on larger previews
2015-04-20 15:55:32 +02:00
Morris Jobke ce2c8533d9 Merge pull request #15735 from owncloud/fix-visibility
Fix visibility of interfaces in \OCP
2015-04-20 14:39:15 +02:00
Lukas Reschke 3959f8ac4e Merge pull request #15637 from owncloud/migrate-certificate-stuff
Migrate personal certificate handling to AppFramework controllers
2015-04-20 13:56:35 +02:00
Lukas Reschke e9d6807c5c Merge pull request #15733 from owncloud/remove-oc_backgroundjob
Removed OC_BackgroundJob - reduce class overhead
2015-04-20 13:17:58 +02:00
Lukas Reschke 1cc2aefa46 Proper return types 2015-04-20 13:00:02 +02:00
Lukas Reschke 9f61cf60d4 Verify if returned object is an array
The error has to be thrown at this point as otherwise errors and notices are thrown since the time cannot be parsed in L60 and L61
2015-04-20 12:58:57 +02:00
Lukas Reschke ed0b465cf9 Use 403 instead a 50x response 2015-04-20 12:53:40 +02:00
Joas Schilling 6da9e1a742 Fix visibility of public API methods 2015-04-20 12:52:40 +02:00
Lukas Reschke 4ea205e262 Block old legacy clients
This Pull Request introduces a SabreDAV plugin that will block all older clients than 1.6.1 to connect and sync with the ownCloud instance.

This has multiple reasons:

1. Old ownCloud client versions before 1.6.0 are not properly working with sticky cookies for load balancers and thus generating sessions en masse
2. Old ownCloud client versions tend to be horrible buggy

In some cases we had in 80minutes about 10'000 sessions created by a single user. While this change set does not really "fix" the problem as 3rdparty legacy clients are affected as well, it is a good work-around and hopefully should force users to update their client
2015-04-20 11:12:17 +02:00
Lukas Reschke a98b819366 Add version to deprecation notice
As requested by @MorrisJobke
2015-04-20 10:30:16 +02:00
Lukas Reschke f672e120fc Deprecate unused `\OCP\Response::sendFile`
This function is unused in our own code and can be better achieved using the AppFramework. Also very easy to do grave mistaked using this function.
2015-04-20 10:02:34 +02:00
Morris Jobke 9cb260d310 Merge pull request #15717 from owncloud/issue/15716-fixing-ocp-api-namespace-usage
Fixing OCS API namespace usage
2015-04-20 09:43:19 +02:00
Morris Jobke d4ac7ac723 Merge pull request #15739 from DavidPrevot/symfony-2.7
Replace `_method` requirement by {g,s}etMethods()
2015-04-19 23:46:21 +02:00
Georg Ehrke 8f51efc49e get rid of OC_Geo 2015-04-19 20:16:56 +02:00
David Prévot 7f2f92847b Replace `_method` requirement by {g,s}etMethods()
Make the call compatible with future Symfony version, and avoid
E_USER_DEPRECATED as thrown by the current 2.7.0-beta1:

The "_method" requirement is deprecated since version 2.2 and will be
removed in 3.0. Use getMethods() instead. at
…/Symfony/Component/Routing/Route.php#554

The "_method" requirement is deprecated since version 2.2 and will be
removed in 3.0. Use the setMethods() method instead or the "methods"
option in the route definition. at
…/Symfony/Component/Routing/Route.php#662
2015-04-19 12:08:29 -04:00
Robin McCorkell 80b892e7ed Merge pull request #15729 from owncloud/remove-unused-variables
Remove unused variables
2015-04-19 12:38:29 +01:00
Morris Jobke 60b8aa2a83 Removed OC_BackgroundJob - reduce class overhead
* method code is now in the static public namespace (5 sloc)
2015-04-18 23:37:32 +02:00
Thomas Müller cdf82909b8 Merge pull request #15718 from owncloud/issue/15694-display-name-of-encryption-modules
Issue/15694 display name of encryption modules
2015-04-18 22:51:15 +02:00
Thomas Müller d2a31bcd93 Merge pull request #15727 from owncloud/cleanup-db-interface
DB: remove unused parameter - was forgotten during the migration to doct...
2015-04-18 22:47:40 +02:00
Morris Jobke e837927ad5 fix followup issues with unneeded parameters 2015-04-18 17:02:39 +02:00
Morris Jobke ccf47f40aa Remove unused variables
* should make scrutinizer a lot more happy
* reduces maybe memory footprint
2015-04-18 16:35:19 +02:00
Morris Jobke 47ecfd98a3 DB: remove unused parameter - was forgotten during the migration to doctrine
* 377e9a8677 <- doctrine merge
2015-04-18 15:57:13 +02:00
Morris Jobke 11f29f6d95 add visibility of methods in server container and interface 2015-04-18 14:19:22 +02:00
Joas Schilling 3f3f8c2f99 Fix usage of deprecated private constants 2015-04-18 10:30:02 +02:00
Joas Schilling 4d238c3949 Fix display name of encryption modules 2015-04-18 10:18:58 +02:00
Joas Schilling 6ce1abfa5c Deprecate the OC_API constants in favor of the OCP ones 2015-04-18 09:29:52 +02:00
Morris Jobke 7ab1f807fb Merge pull request #15691 from owncloud/vobject-sabre2.1
Get rid of the obsolete OC_VObject class
2015-04-17 22:33:00 +02:00
Thomas Müller d9990c2b4e Delay initialization of the OC\Encryption\Update - introducing 'OC\Encryption\HookManager' 2015-04-17 13:55:31 +02:00
Vincent Petry b7e5884b54 Get rid of the obsolete OC_VObject class
The class isn't needed any more since the update to Sabre 2.1
2015-04-17 12:55:31 +02:00
Bjoern Schiessle 7d4b1b52d0 always create a new instance of the encryption module 2015-04-17 10:31:33 +02:00
Clark Tomlinson 1174ad0681 Merge pull request #15445 from owncloud/enc2_migration
add migration script from old encryption to new one
2015-04-16 09:34:47 -04:00
Joas Schilling c7e5e30b86 Merge pull request #15674 from owncloud/fix-console-check-output
Convert error and hint to string before writing to the output
2015-04-16 14:51:29 +02:00
Bjoern Schiessle b25c06f576 detect system wide mount points correctly 2015-04-16 14:15:04 +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
Thomas Müller 07243f0482 Convert error and hint to string before writing to the output - fixes https://mailman.owncloud.org/pipermail/devel/2015-April/001184.html 2015-04-16 12:32:17 +02:00
Thomas Müller bcf65d9c13 Using TRANSACTION_READ_COMMITTED 2015-04-16 11:49:12 +02:00
Jörn Friedrich Dreyer 2e06cf49a5 Merge pull request #15623 from t3chguy/master
Redis DB Index via Select
2015-04-16 09:30:07 +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 42d9ba0f83 Merge pull request #15787 from owncloud/trash-partfiles
Do not trash part files, delete directly
2015-04-22 14:10:26 +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 0042bdd2e7 fix PHPDoc 2015-04-22 13:12:52 +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
Vincent Petry ffc796edcb Do not trash part files, delete directly 2015-04-21 18:28:15 +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 a13088818a Merge pull request #15748 from owncloud/fixing-enc-filesize-once-more
Introduce Storage::getData() to allow storage implementations more contr...
2015-04-20 18:36:23 +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
Lukas Reschke fe2cbc3795 Merge pull request #15744 from owncloud/fix-inverted-path-in-resourcenotfound
Fix wrong path generation
2015-04-20 16:55:36 +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
Morris Jobke 80be3b0c47 Fix wrong path generation
* fixes #15742
2015-04-20 11:01:33 +02:00
Michael Telatynski 8ebf9de3f8 Memcache\Redis Add DB Select Functionality 2015-04-15 21:24:38 +01:00
Joas Schilling 1592f25ed0 Scale up the font on larger previews 2015-04-15 14:03:40 +02:00
Morris Jobke e33e5b425a Merge pull request #12006 from owncloud/dav-put-storage
Work directly on the storage when uploading over webdav
2015-04-15 03:08:52 +02:00
Thomas Müller 70480423ff Merge pull request #15597 from oparoz/another-fallback-for-findbinarypath
Adding a final fallback for findBinaryPath
2015-04-15 00:16:56 +02:00
Thomas Müller 1aa368effe Merge pull request #15592 from owncloud/fix-15590-master
Avoid php message "Invalid argument supplied for foreach()"
2015-04-15 00:14:08 +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
Robin Appelman eeecca04e6 Keep phpdoc updated. 2015-04-14 16:25:52 +02:00
Robin Appelman 308af8b909 pass a stream to the tests 2015-04-14 15:25:52 +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
Olivier Paroz bb0c09e994 Adding a final fallback for findBinaryPath 2015-04-14 14:06:58 +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
Thomas Müller 88cc52c408 Avoid php message "Invalid argument supplied for foreach()" - refs #15590 2015-04-14 11:00:20 +02:00
Morris Jobke 5f66f867b6 Merge pull request #15581 from owncloud/deduplicate-oc-repair-namespace
Fix namespace duplication and other issues in repairlegacystorages
2015-04-13 21:51:38 +02:00
Morris Jobke 9eff199a17 Merge pull request #15360 from owncloud/cross-storage-move-cache
Preserve cache data when doing a cross storage move
2015-04-13 21:48:30 +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
Joas Schilling 71de1d58cd Fix namespace duplication and other issues in repairlegacystorages 2015-04-13 16:34:10 +02:00
Thomas Müller 660aa7ff1e Merge pull request #15568 from owncloud/cache_user_folder_for_file_search_results
cach user folder for file search results
2015-04-13 15:16:07 +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
Robin Appelman 2fd44dbde4 rewind and update error message 2015-04-13 14:14:48 +02:00
Robin Appelman dcfe014103 use our own stream copy instead 2015-04-13 14:13:21 +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
Jörn Friedrich Dreyer b717681e3a cach user folder for file search results 2015-04-13 11:29:10 +02:00
Morris Jobke c3fbc2b6fd Merge pull request #15563 from owncloud/fix-try-getting-propert-of-non-object-ocsclient
Prevent php message: "Trying to get property of non-object at /xxx/lib/p...
2015-04-13 10:30:31 +02:00
Thomas Müller 906b6b7337 Prevent php message: "Trying to get property of non-object at /xxx/lib/private/ocsclient.php#282" 2015-04-13 09:43:45 +02:00
Thomas Müller 8450b6aa2d Properly import used classes 2015-04-13 09:26:30 +02:00
Lukas Reschke 84041a4fa2 Merge pull request #15541 from owncloud/add-reply-to-support
Add "Reply-To" support for sharing mails as well as refactor code and add unit-tests
2015-04-12 22:30:35 +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
Lukas Reschke e3ad99d252 Add "Reply-To" support to sharing mails and refactor code 2015-04-10 17:30:07 +02:00
Lukas Reschke 77afef328d Merge pull request #15458 from owncloud/web-shell-master
Move console application to it's own class - allows reuse in the web shell
2015-04-10 16:33:01 +02:00
Vincent Petry e512a69a59 Merge pull request #15395 from owncloud/fix-imagepath
Fix UrlGenerator::imagePath() for app paths
2015-04-10 16:11:57 +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
Lukas Reschke a881218fc2 Add "Reply-To" support for mails 2015-04-10 15:05:34 +02:00
Morris Jobke 25dd4ec767 Throw ServerNotAvailableException always 2015-04-10 14:51:21 +02:00
Thomas Müller a163243e31 Merge pull request #15510 from owncloud/cron-singleuser
block cron when in single user mode
2015-04-10 14:38:50 +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 fafecd1c05 fix cherrypicking 2015-04-10 11:08:24 +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
Morris Jobke 5626a02d69 throw exception if setup is incomplete 2015-04-10 09:12:37 +02:00
Thomas Müller 5abbf6d5b0 Merge pull request #13920 from owncloud/sharing_no_user_entry_for_group_shares
only create a db entry for the user in case of a name conflict on group share
2015-04-09 23:37:02 +02:00
Morris Jobke de4a81f462 Merge pull request #15517 from owncloud/fixRenameFailDeleteTargetKeepSource
fixes #15326
2015-04-09 18:41:18 +02:00
Thomas Müller f7c906902a Throw an exception in case checkServer() returns errors 2015-04-09 16:42:34 +02:00
Lukas Reschke b60d5d3d6f Merge pull request #14540 from owncloud/windows-setup-check
Disallow Windows Server in Server Check
2015-04-09 16:38:11 +02:00
Thomas Müller 890a18e1a6 Introduce own console application class 2015-04-09 16:28:53 +02:00
Robin Appelman 8af106cc75 block webdav in single user mode 2015-04-09 15:56:41 +02:00
Lukas Reschke 0abce86b31 Disallow Windows Server in Server Check
Will prevent users from use ownCloud on Windows Server 🙈
2015-04-09 15:56:37 +02:00
Jörn Friedrich Dreyer 8af52e3876 fixes #15326 2015-04-09 15:37:00 +02:00
Björn Schießle 0710db77bc Merge pull request #13896 from owncloud/share-generatetarget-remove-exclude
Dont create exclude list for generating the share target
2015-04-09 14:51:15 +02:00
Robin Appelman cbcee34eb0 update tests 2015-04-09 14:46:25 +02:00
Thomas Müller 1d9bd3d31e Merge pull request #15496 from owncloud/enc-check-if-key-exists-before-deleting
Check if the key exists, before trying to delete it
2015-04-09 14:45:40 +02:00
Bjoern Schiessle 332ea77865 only create a db entry for the user in case of a name conflict on group share 2015-04-09 11:16:08 +02:00
Joas Schilling 45575d0135 Check if the key exists, before trying to delete it 2015-04-09 10:28:02 +02:00
Lukas Reschke ba52f6f8fc Merge pull request #15314 from owncloud/app-categories-15274
Add different trust levels to AppStore interface
2015-04-09 10:07:32 +02:00
Morris Jobke 9c76d068c3 Merge pull request #15196 from owncloud/limit-file-activities-to-favorites
Limit file activities to favorites
2015-04-09 00:18:31 +02:00
Morris Jobke f3ef17a963 Merge pull request #15490 from owncloud/remove-debug-logging
remove unessesary logging of methods instantiation
2015-04-08 21:42:47 +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
Clark Tomlinson 3ffb2d8abd remove unessesary logging of methods instantiation 2015-04-08 14:46:01 -04: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 103d451459 Merge pull request #14987 from rullzer/ocs_password_fix2
OCS Fixes to allow setting of password without removing additional settings
2015-04-08 14:44:17 +02:00
Robin Appelman 6a59502759 Work directly on the storage when uploading over webdav 2015-04-08 14:04:58 +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
Morris Jobke 6c327f8331 Merge pull request #14879 from oparoz/fix-preview-caching
Introducing the maximum size preview
2015-04-07 18:16:24 +02:00
Thomas Müller a4483243ac fixing license headers - encryption code related 2015-04-07 17:02:49 +02:00
Olivier Paroz 74bf9806b0 Introducing the maximum size preview
The first time we're asked to generate a preview we'll generate one of the maximum dimension indicated in the configuration and all future resizing requests will be done on that preview in order to not waste time converting the same file over and over.

One of the fixes required for #12465
2015-04-07 16:45:59 +02:00
Thomas Müller 161d80da5b In case of encryption exceptions we return 503 - this will allow the client to retry 2015-04-07 14:17:42 +02:00
Lukas Reschke dd7c491bff Fix PHPDoc 2015-04-07 13:49:16 +02:00
Lukas Reschke a2182cde90 Deduplicate code 2015-04-07 13:48:33 +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 3d7404fe68 add unit tests to the keystorage 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
Bjoern Schiessle fac7ec3fc4 fix re-shares with encryption 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
Bjoern Schiessle a74ee67476 don't wrap share storages 2015-04-07 13:30:30 +02:00
Thomas Müller 664b2bb7af cleaning up exception mess 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
Bjoern Schiessle 51302d5812 getUidAndFilename() always get uid from path 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 a57918fb10 Hook: fixing error message in exception case 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
Thomas Müller f20844ac89 PHPDoc 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 a98b7dbf6f Fix double registration of encryption module 2015-04-07 13:30:29 +02:00
Thomas Müller 4db75e3407 Setting up the encryption wrapper in a setup hook - temporarily fixes the wrapping order 2015-04-07 13:30:29 +02:00
Thomas Müller bf809ac85a Removing left overs from old encryption app 2015-04-07 13:30:29 +02:00
Thomas Müller 6ccd3ffa23 adding function getSecureRandom(); to IServerContainer 2015-04-07 13:30:29 +02:00
Bjoern Schiessle 0f28d538a0 add session class to handle all session operations 2015-04-07 13:30:28 +02:00
Thomas Müller 1b42b492dc kill OC_FileProxy 💥 2015-04-07 13:30:28 +02:00
Thomas Müller dbdd754c3f Further cleanup of files_encryption 2015-04-07 13:30:28 +02:00
Thomas Müller 00338f9dca Removing files_encryption left overs 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 a85e2e0bfd make recovery settings work 2015-04-07 13:30:28 +02:00
Bjoern Schiessle 937efe856d fix lib/private/encryption/util.php call 2015-04-07 13:30:28 +02:00
Bjoern Schiessle c266b3b5b7 remove debug code from core 2015-04-07 13:30:28 +02:00
Bjoern Schiessle c64e0af4fb check if recovery key exists and encrypt the file with the recovery key if needed 2015-04-07 13:30:28 +02:00
Bjoern Schiessle 2244ea998d core: documentation fixes 2015-04-07 13:30:27 +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
Clark Tomlinson 0c2f9ca849 Updating keystorage movement and fixing hooks 2015-04-07 13:30:27 +02:00
Bjoern Schiessle 506222567e add deleteKey methods to key storage 2015-04-07 13:30:27 +02:00
Bjoern Schiessle e2f714263f fix encryption manager to handle more than one encryption module 2015-04-07 13:30:27 +02:00
Bjoern Schiessle 5bc9ababeb fix keystorage and add unit tests 2015-04-07 13:30:27 +02:00
Clark Tomlinson 39733c8da1 Initial commit 2015-04-07 13:30:27 +02:00