Commit Graph

3213 Commits

Author SHA1 Message Date
Thomas Müller e28d314b53 deprecate isValidFileName() 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
Morris Jobke d550143ba0 proper filename for "require version.php" 2015-03-09 08:03:28 +01:00
Lukas Reschke 60c507cd4e Merge pull request #14722 from owncloud/master-14711
Fix totally broken AppStore code...
2015-03-06 18:52:12 +01:00
Thomas Müller 1b08b7c726 use insertIfNotExist() in cache put 2015-03-06 15:32:58 +01:00
Thomas Müller 4e37831d85 Fix PHPDoc on the way .... 2015-03-06 14:54:57 +01:00
Thomas Müller 987b683895 Use an atomic implementation on sqlite for insertIfNotExist() 2015-03-06 14:54:54 +01:00
Lukas Reschke d5a8225c0e Fix totally broken AppStore code...
As it turned out the AppStore code was completely broken when it came from apps delivered from the appstore, this meant:

1. You could not disable and then re-enable an application that was installed from the AppStore. It simply failed hard.
2. You could not disable apps from the categories but only from the "Activated" page
3. It did not show the activation state from any category page

This code is completely static and thus testing it is impossible. We really have to stop with "let's add yet another feature in already existing static code". Such stuff has to get refactored first.

That said, this code works from what I can say when clicking around in the AppStore page GUI. However, it may easily be that it does not work with updates or whatsever as I have no chance to test that since the AppStore code is not open-source and it is impossible to write unit-tests for that.

Fixes https://github.com/owncloud/core/issues/14711
2015-03-06 00:16:17 +01:00
Robin McCorkell 78819da3bf \OC\Memcache\Cache implements \OCP\ICache 2015-03-05 11:36:34 +00:00
Robin McCorkell 0e4933e6d2 Refactor \OC\Memcache\Factory
Caches divided up into two groups: distributed and local. 'Low latency' is an
alias for local caches, while the standard `create()` call tries to get
distributed caches first, then local caches.

Memcache backend is set in `config.php`, with the keys `memcache.local` and
`memcache.distributed`. If not set, `memcache.distributed` defaults to the value
of `memcache.local`.
2015-03-05 11:36:34 +00:00
Joas Schilling 716ba49a82 Log errors and create 404 in network list when a css or js is missing 2015-03-04 17:56:33 +01:00
Vincent Petry aa11b83158 Merge pull request #14682 from owncloud/issue/14681-noop-scanner-outdated
Update scanFile() and scanChildren() to the new signature of the parent ...
2015-03-04 10:07:42 +01:00
Morris Jobke ac10441600 Merge pull request #14326 from owncloud/remove-unnessary-backslashes-from-translation
Remove unnecessary backslashes from translations
2015-03-04 09:58:42 +01:00
Morris Jobke f1d74e8803 Merge pull request #14651 from owncloud/add-some-headers-to-htaccess-for-my-best-friend-jenkins
Let users configure security headers in their Webserver
2015-03-04 09:36:01 +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
Joas Schilling e12c83e3dc Merge pull request #14674 from owncloud/fix-l10n-getlanguagecode-2
Jenkins #14650
2015-03-03 18:33:08 +01:00
Joas Schilling b669bf26d6 Fix the behaviour of getLanguageCode() to match the expectation of the name 2015-03-03 16:47:31 +01:00
Joas Schilling ed4c05c7b5 Use findLanguage() instead of creating the object first 2015-03-03 16:47:31 +01:00
Joas Schilling 1761b162e6 Merge pull request #14660 from metaworx/replace-static-dbtableprefix-with-config-dbtableprefix
use `dbtableprefix` for temp table and index names
2015-03-03 16:43:47 +01:00
Thomas Müller be27188649 Merge pull request #14574 from owncloud/fix-irequest-for-older-php-versions
Read from IRequest instead of reading twice
2015-03-03 14:22:56 +01:00
Thomas Müller e30ca8198f Merge pull request #14638 from owncloud/issue/14538-repairstep-drop-old-tables
Add a repair step to delete old tables
2015-03-03 13:37:54 +01:00
Thomas Müller 29ecbc8c6c Merge pull request #14496 from owncloud/kill-substr-mssql-master
[Master] Remove hacky Substring support for MSSQL
2015-03-03 11:00:13 +01:00
Joas Schilling 276d678080 Etc timezones don't exist for .5 and .75 offsets 2015-03-03 09:08:47 +01:00
martin-rueegg 6be8ab65a5 replace 'oc_' with dbtableprefix form config for temporary table names and indexes 2015-03-03 01:54:15 +01:00
Lukas Reschke c3c993446e Run `updateDataDirectory` after Update
Fixes https://github.com/owncloud/core/issues/13731
2015-03-02 19:39:17 +01:00
Lukas Reschke bbd5f28415 Let users configure security headers in their Webserver
Doing this in the PHP code is not the right approach for multiple reasons:

1. A bug in the PHP code prevents them from being added to the response.
2. They are only added when something is served via PHP and not in other cases (that makes for example the newest IE UXSS which is not yet patched by Microsoft exploitable on ownCloud)
3. Some headers such as the Strict-Transport-Security might require custom modifications by administrators. This was not possible before and lead to buggy situations.

This pull request moves those headers out of the PHP code and adds a security check to the admin settings performed via JS.
2015-03-02 19:07:46 +01:00
Robin Appelman 00568af74d Allow running the async commands from unit tests 2015-03-02 15:25:31 +01:00
Vincent Petry e61aa3723e Merge pull request #14573 from owncloud/enc-migrate-disable-updater
Disable the cache updater when doing the encryption migration
2015-03-02 14:53:29 +01:00
Joas Schilling 195c577c77 Add a repair step to delete old tables 2015-03-02 12:02:14 +01:00
Lukas Reschke faddd1e256 Simplify code 2015-03-01 11:46:39 +01:00
Lukas Reschke 4100610390 Disable some server checks when running on HHVM
Ref https://github.com/owncloud/core/issues/10837#issuecomment-76516839
2015-02-28 10:08:41 +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
Bernhard Posselt 970b14d297 Merge pull request #13616 from owncloud/streamresponse
AppFramework StreamResponse
2015-02-27 15:43:01 +01:00
Bernhard Posselt 95239ad21e AppFramework StreamResponse
First stab at the StreamResponse, see #12988

The idea is to use an interface ICallbackResponse (I'm not 100% happy with the name yet, suggestions?) that allow the response to output things in its own way, for instance stream the file using readfile

Unittests are atm lacking, plan is to

check if a mock of ICallbackResponse will be used by calling its callback (also unhappy with this name) method
Usage is:

$response = new StreamResponse('path/to/file');

rename io to output, add additional methods and handle error and not modified cases when using StreamResponse

fix indention and uppercasing, also handle forbidden cases

fix indention

fix indention

no forbidden, figuring out if a file is really readable is too complicated to get to work across OSes and streams

remove useless import

remove useless import

fix intendation
2015-02-27 15:42:33 +01:00
Joas Schilling c5a9bad919 Merge pull request #14567 from owncloud/node-check-fileinfo-interface
Add "throws" lines to calling methods and interface aswell
2015-02-27 15:15:09 +01:00
Lukas Reschke 5c2fafa05f Read from IRequest instead of reading twice
Potentially fixes https://github.com/owncloud/core/issues/14541 and https://github.com/owncloud/core/issues/14506
2015-02-27 14:22:35 +01:00
Vincent Petry 22bc37cb82 Properly forward repair errors and warnings
This makes repair errors and warnings visible for the user when
upgrading on the command line or in the web UI.
2015-02-27 12:44:04 +01:00
Thomas Müller 8abb80c642 Merge pull request #14565 from owncloud/more-https
Add more HTTPS endpoints
2015-02-27 03:31:08 -08:00
Joas Schilling 3a6a0501c4 Add "throws" lines to calling methods and interface aswell 2015-02-27 12:16:53 +01:00
Vincent Petry e6abe96374 Do not abort when meeting unfixable legacy storages 2015-02-27 12:03:22 +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
Lukas Reschke b048e7129a Add more HTTPS endpoints
The doc server can now finally speak SSL...
2015-02-27 11:37:30 +01:00
Thomas Müller 1c6857d92c Merge pull request #14529 from owncloud/intuitive-version-check
Make version check work on the lowest common version denominator
2015-02-27 02:16:23 -08:00
Lukas Reschke b58455241b Add notice about Travis Checks
Maybe it helps in the future so we won't forget it again 🙈
2015-02-27 10:23:20 +01:00
Thomas Müller f72f9e0159 Merge pull request #14530 from owncloud/revert-14403
Revert "Updating license headers"
2015-02-27 00:39:29 -08:00
Robin Appelman 5bb1a131e4 fix warning in gc 2015-02-26 16:42:41 +01:00
Lukas Reschke 9baf758150 Merge pull request #14503 from owncloud/quota-preventdatalossforfailedmove
Fix file move/copy when storage space is not enough
2015-02-26 16:35:13 +01:00
Morris Jobke 18d43f7469 Merge pull request #14474 from owncloud/move-utf-8-check-to-setup
Move UTF-8 check to setup
2015-02-26 16:00:31 +01:00
Morris Jobke 522469614b Merge pull request #14505 from owncloud/dav-copy-fix
Fixes WebDAV copy
2015-02-26 15:42:53 +01:00
Vincent Petry 232de3bdc0 Delete target file for unsuccessful copy/rename 2015-02-26 15:11:37 +01:00
Morris Jobke 0c1e6fad6c Merge pull request #14300 from owncloud/commandbus
Add async command system to handle asynchronous operations
2015-02-26 15:10:13 +01:00
Morris Jobke 27fde80ee6 fix exception message 2015-02-26 15:08:30 +01:00
Bernhard Posselt 876e8bcb55 add phpdoc 2015-02-26 11:49:51 +01:00
Bernhard Posselt 2987d4aec8 make version check work on the lowest common version denominator 2015-02-26 11:42:08 +01:00
Morris Jobke 06aef4e8b1 Revert "Updating license headers"
This reverts commit 6a1a4880f0.
2015-02-26 11:37:37 +01:00
Vincent Petry ae2f37ac06 Removed unused $node variable 2015-02-26 11:16:42 +01:00
Thomas Müller adc986f3e4 Merge pull request #14502 from owncloud/failing-mysql-master-tests
Failing mysql master tests
2015-02-26 01:48:37 -08:00
Bernhard Posselt 59bbf27253 remove IDb interface from core class usage 2015-02-25 22:21:24 +01:00
Thomas Müller c62eb9d652 owncloud -> ownCloud 2015-02-25 22:21:24 +01:00
Bernhard Posselt 4e29a4d867 deprecate getters for deprecated class 2015-02-25 22:21:24 +01:00
Bernhard Posselt fb84e7d282 migrate to IDBConnection 2015-02-25 22:21:24 +01:00
Lukas Reschke 0720cf0ad1 Merge pull request #14494 from owncloud/fix-oracle-master
using Doctrine\DBAL\Connection::executeUpdate()
2015-02-25 21:43:51 +01:00
Vincent Petry 64c333c44b Merge pull request #14508 from owncloud/tagmanager-nouser
Return null when requesting tags for null user
2015-02-25 20:53:59 +01:00
Clark Tomlinson e8c3e33154 Merge pull request #14490 from owncloud/remove-unused-deprecated-code
Remove unused and deprecated Code
2015-02-25 14:49:40 -05:00
Vincent Petry 9ee37169a6 Return null when requesting tags for null user
The TagManager->load() now returns null if the user is not authenticated
instead of failing with an error.
2015-02-25 17:20:26 +01:00
Vincent Petry f39fcbc250 Fixes WebDAV copy
- added existence check for source argument
- removed extra logic for folders, as $view->copy() already supports
  that internally
2015-02-25 16:35:13 +01:00
Vincent Petry 20738d287e Properly detect streamCopy errors
Now checking whether the written bytes match the number of read bytes.
2015-02-25 16:03:15 +01:00
Joas Schilling 6e9f3b2f7e Clear the local cache when we clear the backends 2015-02-25 16:03:12 +01:00
Robin Appelman f5befbeac6 Check if we have a proper fileinfo 2015-02-25 16:02:08 +01:00
Thomas Müller 14c592fe86 Merge pull request #14500 from owncloud/fileglobalgc-cleanup
Cleanup garbage collection for global file cache
2015-02-25 06:41:57 -08:00
Robin Appelman 3cf237df67 set max argument length to 4000 2015-02-25 15:09:41 +01:00
Robin Appelman bf65b1f18b Rename getAsyncCommandBus to getCommandBus 2015-02-25 15:09:41 +01:00
Robin Appelman a39c7bf464 Add FileAccess trait for commands 2015-02-25 15:09:41 +01:00
Robin Appelman 8213f8d67d Allow apps to determine which commands should be run synchronous based on traints 2015-02-25 15:09:41 +01:00
Robin Appelman c2a7fff4f6 throw an exception when trying to push a background job that wont fit in the table
otherwise it will lead to failures in json decode and unexpected and hard to debug issues when running the job
2015-02-25 15:08:40 +01:00
Robin Appelman 74ae7b8929 Add async command system to handle asynchronous operations 2015-02-25 15:08:40 +01:00
Robin McCorkell 695f43a1ed Merge pull request #10735 from owncloud/use_remote_addr
Use getRemoteAddress which supports reverse proxies
2015-02-25 13:24:39 +00:00
Robin Appelman a848a6b1dd Cleanup garbage collection for global file cache 2015-02-25 14:13:58 +01:00
Lukas Reschke afe087a371 Remove hacky Substring support for MSSQL
Substring() is not required for the core functionality and this allows us to get rid of a huge hack...
2015-02-25 14:00:54 +01:00
Thomas Müller e9d25e4fdb using Doctrine\DBAL\Connection::executeUpdate() 2015-02-25 13:43:26 +01:00
Lukas Reschke de44a2b2ab Remove unused and deprecated Code
Function is not used anymore anywhere in the code base: https://github.com/search?q=user%3Aowncloud+secureRNGAvailable&type=Code&utf8=%E2%9C%93
2015-02-25 12:11:14 +01:00
Thomas Müller bcf3704645 Merge pull request #14458 from owncloud/revive/11157
Get the real protocol behind several proxies
2015-02-25 02:51:46 -08:00
Thomas Müller 799e144b04 Merge pull request #14151 from owncloud/update-sabre2.1
Sabre Update to 2.1
2015-02-25 02:21:55 -08:00
Thomas Müller b3de86d851 Remove locks plugin.
Reasoning:
- a WebDAV server is not required to implement locking support
- WebDAV Locking is know to break the sync algorithm
- the current lock implementation is known to be broken (locks are not moved if a file is moved, locks on shared files don't work)
2015-02-25 10:30:47 +01:00
Vincent Petry fb87b746f0 Merge pull request #14213 from AW-UC/naturalsort_defaultcollator-patch-file-sorting
Update naturalsort_defaultcollator.php. Fixes #13982
2015-02-25 10:30:14 +01:00
Lukas Reschke 06cf93e6ee Move UTF-8 check to setup
Nobody reads the warnings anyways and so we should enforce it at installation time... Also allows us to get rid of some duplicated code.

To test change the `default_charset` to something other than `utf-8` or `UTF-8`, both should work fine with that change here. An error should then get shown.

We already set those default charsets in the shipped .user.ini and .htaccess
2015-02-24 23:51:36 +01:00
AW-UC d57f5c70e9 Fix sorting for files that only differ in case. 2015-02-24 23:50:38 +01:00
Olivier Paroz f49805eea5 Add support for font previews 2015-02-24 22:00:54 +01:00
Lukas Reschke d43d34c93f Merge pull request #14195 from owncloud/activity-manager-performance-improvements
Activity manager performance improvements
2015-02-24 15:19:15 +01:00
Thomas Müller 7325414481 Merge pull request #14282 from owncloud/disable-non-shipped-apps-master
3rd-party apps are disabled on upgrade
2015-02-24 14:39:45 +01:00
Joas Schilling 88cfe46906 Merge pull request #11555 from goodkiller/patch-1
Update group.php
2015-02-24 13:58:41 +01:00
Lukas Reschke 276824299c Merge pull request #13340 from owncloud/use-http-only
Use "HTTPOnly" for cookies when logging out
2015-02-24 13:50:49 +01:00
Lukas Reschke 9adcd15cb3 Use [0] instead of current as HHVM might have problems with that 2015-02-24 13:37:34 +01:00
Bernhard Posselt fd3663f563 Dont break code which relies on the cursor being open after insert/update/delete 2015-02-24 12:58:36 +01:00
Thomas Müller 80cafe29a8 3rd-party apps are only disabled in case core is upgraded 2015-02-24 12:51:55 +01:00
Lukas Reschke 1c6eae9017 Get the real protocol behind several proxies
X-Forwarded-Proto contains a list of protocols if ownCloud is behind multiple reverse proxies.

This is a revival of https://github.com/owncloud/core/pull/11157 using the new IRequest public API.
2015-02-24 12:24:55 +01:00
Thomas Müller fe7e7677e9 shipped and 3rd-party apps of type authentication and session will remain enabled during update 2015-02-24 12:02:37 +01:00
Thomas Müller bbf7f56f94 3rd-party apps are disabled on upgrade - refs #14026 2015-02-24 12:02:36 +01:00
Lukas Reschke 165afb004b Use getRemoteAddress which supports reverse proxies
Breaking change for 8.1 wiki (Security > Administrators):

The log format for failed logins has changed and uses now the remote address and is considering reverse proxies for such scenarios when configured correctly.
2015-02-24 11:49:40 +01:00
Thomas Müller da8e34cf7f Merge pull request #14009 from owncloud/installing-installed-apps-is-stupid
don't allow installation of already installed apps - fixes #14004
2015-02-24 10:34:06 +01:00
Lukas Reschke 8bd3d55517 Merge pull request #14442 from owncloud/fix-oracle-ci-master
Close the cursor after the affected count has been extracted.
2015-02-24 09:20:59 +01:00
Thomas Müller b40d4c9cbc app store can be used with any edition 2015-02-23 23:16:28 +01:00
Thomas Müller 39d8406933 don't allow installation of already installed apps - fixes #14004 2015-02-23 23:16:28 +01:00
Thomas Müller e87ada86d1 Merge pull request #14416 from owncloud/setup-command
Setup command
2015-02-23 22:41:10 +01:00
Lukas Reschke 432d7be8cc Show a empty response for GET on non-files instead of the Browser Plugin 2015-02-23 22:27:23 +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
Thomas Müller 0a9b8242ee properly initialize OC::$WEBROOT and host name 2015-02-23 21:49:35 +01:00
Thomas Müller c350da1a28 Merge pull request #14119 from owncloud/dbal251
Update doctrine/dbal to 2.5.1 #13537
2015-02-23 20:59:51 +01:00
Thomas Müller 5bdf42a925 Close the cursor after the affected count has been extracted. 2015-02-23 17:17:20 +01:00
Thomas Müller 1fd1b355e4 Fix namespace of OC_Setup -> \OC\Setup 2015-02-23 16:44:40 +01:00
Vincent Petry 4290e1990e Merge pull request #13829 from owncloud/appmanager-list
Better caching for enabled apps
2015-02-23 16:03:32 +01:00
Bernhard Posselt 8176032176 Merge pull request #14427 from owncloud/fix-some-php-docs
Fix some PHPDocs
2015-02-23 14:04:35 +01:00
Thomas Müller df3c73de72 Merge pull request #14403 from owncloud/update-license-headers
Update license headers
2015-02-23 13:53:16 +01:00
Lukas Reschke c06a94ecc2 Fix some PHPDocs 2015-02-23 12:19:52 +01:00
Jenkins for ownCloud 6a1a4880f0 Updating license headers 2015-02-23 12:13:59 +01:00
Joas Schilling b180724cd0 Extract the remote host from user input in share dropdown
Fix #13678
2015-02-23 11:28:41 +01:00
Thomas Müller f693d439e2 Merge pull request #14422 from owncloud/use-off-and-off
Use "off" and "off" instead of true booleans
2015-02-23 11:12:53 +01:00
Lukas Reschke 9a08c7ecb9 Merge pull request #14275 from chris-se/master
DAV authentication: use Owncloud's internal user instead of HTTP auth one
2015-02-23 10:25:13 +01:00
Lukas Reschke 43641d917b Use "off" and "off" instead of true booleans
Apparently a boolean in php.ini is according to the documentation "on" or "off"…

Fixes itself.
2015-02-23 09:40:15 +01:00
Lukas Reschke 2f0f38761d Add helper to check for `ini` values in `OC_Util::checkServer`
This allows to check for specific values in the PHP.ini that ownCloud requires for full compatibility.

`mbstring.func_overload`: https://github.com/owncloud/core/issues/14372
`output_buffering`: http://doc.owncloud.org/server/8.0/admin_manual/configuration/big_file_upload_configuration.html#configuring-php

Fixes https://github.com/owncloud/core/issues/14372 and https://github.com/owncloud/core/issues/14412
2015-02-21 12:12:34 +01:00
Lukas Reschke fcc5f5a4f4 Merge pull request #13777 from owncloud/close-cursor
Close cursor for appframework and manipulation queries if applicable
2015-02-20 20:15:22 +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
Lukas Reschke 50208308e3 Merge pull request #14359 from owncloud/add-satisfy-all
Add `Satisfy All`
2015-02-20 14:55:43 +01:00
AW-UC bc668600cd Add constructor to inject collator
Adding the possibility for instantiating \OC\NaturalSort with an
injected collator. This makes the use of a specific collator enforcable.
2015-02-20 14:03:34 +01:00
Joas Schilling ae60108692 Revert "Correctly fallback to english, if the plural case is not translated"
This reverts commit cbad5c998b.
2015-02-20 11:51:36 +01:00
Arthur Schiwon 7ada41259c Port of #14041 to master
on ownCloud upgrade: upgrade all apps in order, load important ones

Fix "other" app update stack
2015-02-19 14:38:22 +01:00
Thomas Müller 84eb00e428 Merge pull request #14342 from owncloud/disallow-path-traversals-in-file-view
Disallow path traversals in file view
2015-02-19 10:27:04 +01:00
Lukas Reschke 4decbc2efa Add `Satisfy All`
Fixes https://github.com/owncloud/core/issues/14356
2015-02-19 02:16:44 +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
Clark Tomlinson 8d09cc3b91 Merge pull request #13989 from owncloud/enhancment/security/11857
Allow AppFramework applications to specify a custom CSP header
2015-02-18 10:27:29 -05:00
AW-UC 097d455213 provide case-insensitive natural sorting
This makes OC's naturalsort_defaultcollator case-insensitive
2015-02-18 15:49:03 +01:00
Lukas Reschke e4bf3fcb53 Merge pull request #14330 from owncloud/revert-13879-add_debug_log_for_memcache_instantiation
Revert "add debug log for memcache instantiation"
2015-02-18 15:45:38 +01:00
Robin Appelman 5542fafd36 allow overwriting the appmanager in oc_util by subclassing 2015-02-18 14:24:50 +01:00
Joas Schilling eaccd2a72a Remove unnecessary backslashes from translations 2015-02-18 14:17:53 +01:00
Lukas Reschke cd4c064ebf Revert "add debug log for memcache instantiation" 2015-02-18 14:16:14 +01:00
Lukas Reschke a666f804c7 Use the untrusted domain in the installer 2015-02-18 13:59:37 +01:00
Thomas Müller 2b1f39cd6b Merge pull request #14308 from owncloud/fix-14247
Add mapping for a broken varchar type.
2015-02-18 10:05:33 +01:00
Lukas Reschke ceaa193df2 Merge pull request #14273 from owncloud/require-at-least-apcu-4-0-6
Use APCu only if available in version 4.0.6 and higher
2015-02-18 01:07:54 +01:00
Morris Jobke 5d7d2adcbf Merge pull request #14207 from owncloud/propfind-optimize
Optimize quota calculation for propfind
2015-02-18 00:18:47 +01:00
Victor Dubiniuk 090db867d5 Add mapping for a broken varchar type. Fixes #14247 2015-02-17 23:22:57 +03:00
Robin Appelman e672f8cc8f Use appmanager in OC_App::enable/disable 2015-02-17 15:05:29 +01:00
Robin Appelman 04628cf368 better name for getAppsEnabledForUser 2015-02-17 15:05:29 +01:00
Robin Appelman 434835b326 also set user in UserSession when doing OC_User::setUserId 2015-02-17 15:05:29 +01:00
Robin Appelman 409453bc60 better user group caching 2015-02-17 15:05:29 +01:00
Robin Appelman 5c68c81d00 Update cache when enabling/disabling apps 2015-02-17 15:05:25 +01:00
Lukas Reschke b701bbd8c5 Use APCu only if available in version 4.0.6 and higher
APCu before 4.0.6 is unbelievable buggy and tend to segfault the PHP process (i.e. the whole webserver)

This potentially fixes https://github.com/owncloud/core/issues/14175

Requires a backport to stable8
2015-02-17 13:28:02 +01:00
Christian Seiler 535757bc42 DAV authentication: also use Owncloud's internal user for short-circuit
It still works otherwise, but without this, the performance optimization
of #13416 is defeated in these situations.
2015-02-16 23:47:39 +01:00
Christian Seiler 1377ebc7e9 DAV authentication: use Owncloud's internal user instead of HTTP-supplied one
Fixes: #14048, #14104, calendar#712
2015-02-16 23:34:49 +01:00
Lukas Reschke cebf9f6a5a Incorporate review changes 2015-02-16 22:13:03 +01:00
Lukas Reschke 992164446c Add blackmagic due to cyclic dependency 🙈 2015-02-16 22:13:01 +01:00
Lukas Reschke 9f91d64918 Make scrutinizer happy 2015-02-16 22:13:00 +01:00
Lukas Reschke 886bda5f81 Refactor OC_Request into TrustedDomainHelper and IRequest
This changeset removes the static class `OC_Request` and moves the functions either into `IRequest` which is accessible via `\OC::$server::->getRequest()` or into a separated `TrustedDomainHelper` class for some helper methods which should not be publicly exposed.

This changes only internal methods and nothing on the public API. Some public functions in `util.php` have been deprecated though in favour of the new non-static functions.

Unfortunately some part of this code uses things like `__DIR__` and thus is not completely unit-testable. Where tests where possible they ahve been added though.

Fixes https://github.com/owncloud/core/issues/13976 which was requested in https://github.com/owncloud/core/pull/13973#issuecomment-73492969
2015-02-16 22:13:00 +01:00
Victor Dubiniuk bdfc9b57bd Skip primary index if the table has one 2015-02-16 20:30:28 +01:00
Jörn Friedrich Dreyer 87db136508 add debug log for memcache instantiation 2015-02-16 18:05:43 +01:00
Morris Jobke 5a5d6bf4db Merge pull request #14128 from owncloud/drop-unused-methods
Remove unused function and correct PHPDoc
2015-02-16 17:37:36 +01:00
Thomas Müller 9271059195 Merge pull request #13750 from owncloud/enhanced-code-checker
Implement php code checker to detect usage of not allowed private ...
2015-02-16 16:55:57 +01:00
Joas Schilling 8eb804b1f6 Merge pull request #13269 from owncloud/issue/13211-cache-array-implementation
Add an array implementation of cache and use it if we are not debugging
2015-02-16 15:35:20 +01:00
Robin Appelman 23ab25e93a Use the app manager from oc_app 2015-02-16 15:16:13 +01:00
Robin Appelman 2b58e8489f Add getInstalledApps and getAppsForUser to the app manager 2015-02-16 15:15:35 +01:00
Thomas Müller 9c47ab91f2 Merge pull request #14194 from owncloud/url-encode-logout-attribute
URLEncode logout attribute
2015-02-16 15:04:20 +01:00
Joas Schilling 8848b5f067 Add an array implementation of cache and use it if we are not debugging 2015-02-16 14:55:50 +01:00
Lukas Reschke c6705ab574 Merge pull request #13890 from owncloud/add-no-referrer
Add `rel="noreferrer"` where possible and switch to HTTPS
2015-02-16 14:36:44 +01:00
Lukas Reschke 7e45f5d27b Remove unused function and correct PHPDoc 2015-02-16 13:46:45 +01:00
Lukas Reschke 8791f1992e Add noreferrer to footer URI 2015-02-16 13:37:54 +01:00
Thomas Müller 78febb2ee5 Merge pull request #14201 from owncloud/propagator-dont-decrease-mtime
Dont lower the mtime of a folder when propagating changes
2015-02-16 11:32:17 +01:00
Lukas Reschke b20174bdad Allow AppFramework applications to specify a custom CSP header
This change allows AppFramework applications to specify a custom CSP header for example when the default policy is too strict. Furthermore this allows us to partially migrate away from CSS and allowed eval() in our JavaScript components.

Legacy ownCloud components will still use the previous policy. Application developers can use this as following in their controllers:
```php
$response = new TemplateResponse('activity', 'list', []);
$cspHelper = new ContentSecurityPolicyHelper();
$cspHelper->addAllowedScriptDomain('www.owncloud.org');
$response->addHeader('Content-Security-Policy', $cspHelper->getPolicy());
return $response;
```

Fixes https://github.com/owncloud/core/issues/11857 which is a pre-requisite for https://github.com/owncloud/core/issues/13458 and https://github.com/owncloud/core/issues/11925
2015-02-16 11:00:41 +01:00
Thomas Müller d5ca5c7bcc Merge pull request #14138 from owncloud/fix-image-flip-php53
Don't flip image in PHP 5.4
2015-02-16 10:26:56 +01:00
Robin Appelman 9abaa0cc61 pass fileinfo to getStorageInfo 2015-02-13 17:59:58 +01:00
Robin Appelman fb2a3284df Cache quota info for directories 2015-02-13 17:50:53 +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 276bfe5f33 Merge pull request #14197 from owncloud/ensure-that-passed-file-path-is-always-a-string
Ensure that passed argument is always a string
2015-02-13 13:30:54 +01:00
Lukas Reschke 95860d8113 Merge pull request #14086 from hlop/master
App install behind a Proxy
2015-02-13 12:56:01 +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
Lukas Reschke 025110821f URLEncode logout attribute
Otherwise logout can fail if the requesttoken contains a +
2015-02-13 12:08:23 +01:00
Joas Schilling 6c349c00bb Order methods to by grouped by their task 2015-02-13 11:55:06 +01:00
Joas Schilling be63e18b0a Check whether filter is valid, before doing stuff for it 2015-02-13 11:50:55 +01:00
Joas Schilling c02de748e5 Cache some values from the extensions 2015-02-13 11:36:34 +01:00
Lukas Reschke 8e8acad550 Merge pull request #14145 from owncloud/no-whitespace-from-themes-master
catch any whitespaces which might get written to the output buffer while...
2015-02-12 17:23:28 +01:00
Thomas Müller fc7f279d90 catch any whitespaces which might get written to the output buffer while loading a theme 2015-02-12 16:42:17 +01:00
Lukas Reschke 2f80be45b0 Remove internal annotation
PHPStorm complained about those functions being declared as Internal. I doubt that this is actually the case since they are even in the public API.
2015-02-12 16:35:47 +01:00
Björn Schießle 780024e252 Merge pull request #14071 from owncloud/add_timeout_for_post_requests
add timeout to curl request
2015-02-12 11:38:35 +01:00
Morris Jobke f4182d2dc9 Merge pull request #10993 from owncloud/scanner-reuse-fileid
Reuse known fileids and cache data in the scanner
2015-02-12 10:53:00 +01:00
Bjoern Schiessle 4155252379 add timeout to curl request 2015-02-12 10:51:39 +01:00
Morris Jobke a496c34aea Check if imageflip is available
* imageflip() isn't available in PHP < 5.5
* fixes #14130
2015-02-12 10:21:20 +01:00
Lukas Reschke 86139fcce8 Deprecate `OC_JSON` and `OCP\JSON`
This deprecates – but not removes – those two classes and all functions in it. There is no reason that new developments should use those methods as with the AppFramework there is a replacement that allows testable code.

With the `@deprecated` annotation IDEs like PHPStorm will point out to the developer that a functionality is deprecated and that there is a better suited replacement.
2015-02-12 00:56:13 +01:00
Thomas Müller 9ecb36e81f integrate code checker in the installer 2015-02-11 23:37:51 +01:00
dratini0 10e13b172a Extending the X-accel redirect functionality with a more scalable approach. 2015-02-11 22:19:22 +01:00
dratini0 b1594ad1df Revert "Fix: X-Accel-Redirect did not support custom data dir and local mounts"
This reverts commit f2075f803f.
2015-02-11 22:19:22 +01:00
dratini0 80032ec301 Revert "removed a little duplication"
This reverts commit 31970ee740.
2015-02-11 22:19:22 +01:00
Thomas Müller 99a97649f2 Merge pull request #14097 from yanntech/fix/utf8-check
in some case charset can be in lower case.
2015-02-11 18:04:54 +01:00
Vincent Petry fbbb9fe0fd Merge pull request #13979 from owncloud/group-share-collition-wrong-type-in-post-hook
Do not overwrite the shareType so the post hook is still correct
2015-02-11 15:23:13 +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
Yann VERRY 1fcea6f1bd in some case charset can be in lower case.
Add strtoupper() in UTF-8 check to avoid error message
2015-02-11 11:59:33 +01:00
Witali Rott 531c89a610 App install behind a Proxy 2015-02-11 07:47:50 +01:00
Thomas Müller 45dcca2fcb Merge pull request #13861 from owncloud/remove-disabled-files-repair-step
Revert "enabled disabled files app in repair step"
2015-02-10 22:46:53 +01:00
Morris Jobke 11283c57d9 Merge pull request #11056 from AdamWill/9885-opcode
add function to invalidate one opcache file, use it if possible #9885
2015-02-10 17:21:15 +01:00
Thomas Müller d74662df7d implement php code checker to detect usage of not allowed private APIs - including console command to check local code to be used by developers 2015-02-10 11:51:24 +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
Morris Jobke 068f6107c6 Merge pull request #13842 from owncloud/is_file_2_is_readable
check if cache files are readable
2015-02-09 23:45:32 +01:00
Lukas Reschke 74de345c7f Merge pull request #13511 from owncloud/naturalsort_speeeeeed
NaturalSort performance improvements
2015-02-09 18:39:52 +01:00
Vincent Petry c4d9ae8af4 Merge pull request #13928 from owncloud/prevent_ghost_files_master
prevent creation of ghost directories
2015-02-09 18:15:45 +01:00
Vincent Petry 5296767393 Merge pull request #13921 from owncloud/ocs-af
Add a controller and reponse for ocs
2015-02-09 18:11:47 +01:00
Vincent Petry 605e2357a1 Merge pull request #13852 from owncloud/cache-app-versions
Cache app versions
2015-02-09 18:03:19 +01:00
Vincent Petry c7fcd42edb Merge pull request #13870 from owncloud/drop-oc-preferences-2
drop OC\Preferences
2015-02-09 17:49:05 +01:00
Vincent Petry b7b8c0c2e5 Merge pull request #13869 from owncloud/drop-oc-preferences
drop OC_Preferences
2015-02-09 17:48:36 +01:00
Lukas Reschke 47c7eb4e70 Merge pull request #13973 from owncloud/enhancement/security/13366
Respect `mod_unique_id` and refactor `OC_Request::getRequestId`
2015-02-09 17:35:19 +01:00
Robin McCorkell a79757bc37 Store FileInfo::getType() result for future use 2015-02-09 16:34:11 +00:00
Robin McCorkell 44c330aa5d Performance improvements for NaturalSort
A combination of using isset() instead of count() or strlen(), caching the
chunkify function, and replacing is_numeric() with some comparisons
2015-02-09 16:32:43 +00:00
Vincent Petry 5d8f1a1de3 Merge pull request #13854 from owncloud/avatar-exists
Add a better way to check if an avatar exists for the user
2015-02-09 17:06:24 +01:00
Joas Schilling 31b93ac19a Do not overwrite the shareType so the post hook is still correct 2015-02-09 12:59:29 +01:00
Robin Appelman 45e3cbefc9 Check directory handle before we use it 2015-02-09 12:36:18 +01:00
Lukas Reschke 770fa761b8 Respect `mod_unique_id` and refactor `OC_Request::getRequestId`
When `mod_unique_id` is enabled the ID generated by it will be used for logging. This allows for correlation of the Apache logs and the ownCloud logs.

Testplan:

- [ ] When `mod_unique_id` is enabled the request ID equals the one generated by `mod_unique_id`.
- [ ] When `mod_unique_id` is not available the request ID is a 20 character long random string
- [ ] The generated Id is stable over the lifespan of one request

Changeset looks a little bit larger since I had to adjust every unit test using the HTTP\Request class for proper DI.

Fixes https://github.com/owncloud/core/issues/13366
2015-02-09 11:53:11 +01: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
Morris Jobke 90556cb70b Merge pull request #12283 from oparoz/sfnt-fonts
Updated the media type of some font types
2015-02-07 13:33:49 +01:00
Morris Jobke 11ded92a73 Merge pull request #13830 from owncloud/fix-redirect-404
Don't encode url unecessary twice
2015-02-07 13:24:47 +01:00
Robin Appelman 6c00521e8b Use transactions when renaming directory contents 2015-02-06 15:20:53 +01:00
Thomas Müller bc56fef619 Merge pull request #13932 from owncloud/revert-sabredav-etag-master
Revert "adding OC-ETag header"
2015-02-06 12:05:32 +01:00
Lukas Reschke 4d91fa4c93 Normalize before processing 2015-02-06 15:03:29 +01:00
Vincent Petry 8210200770 Revert "adding OC-ETag header"
This reverts commit 96a931929e.
2015-02-05 20:43:37 +01:00
Bjoern Schiessle 1448f281b7 for password protected link shares the password is stored in shareWith, so we need to set this manually to null for the hooks 2015-02-05 17:23:59 +01:00
Bernhard Posselt fdc64e370c add a controller and reponse for ocs 2015-02-05 14:02:17 +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
Björn Schießle 486f49ed72 Merge pull request #13881 from owncloud/upload_to_root_of_mountpoint
detect root of mountpoint also if the trailing slash is missed
2015-02-04 14:44:02 +01:00
Bjoern Schiessle 21c45925fe detect root of mountpoint also if the trailing slash is missed 2015-02-04 12:47:04 +01:00
Morris Jobke 4df7c0a1ed drop OC\Preferences 2015-02-04 00:31:09 +01:00
Morris Jobke 909a53e087 drop OC_Preferences 2015-02-04 00:06:29 +01:00
Morris Jobke b168c191bc Revert "enabled disabled files app in repair step"
This reverts commit d70160c607.
2015-02-03 17:06:57 +01:00
Thomas Müller 23c6a0cf99 Merge pull request #13843 from owncloud/fix-files-disabled
Fix disabled files app
2015-02-03 16:13:15 +01:00
Robin Appelman 6f118d7f8d clear app version cache on upgrade 2015-02-03 15:23:51 +01:00
Robin Appelman c644ed89a7 Add a better way to check if an avatar exists for the user 2015-02-03 14:54:06 +01:00
Robin Appelman 70fd3a267f Cache app versions 2015-02-03 14:13:44 +01:00
Morris Jobke d70160c607 enabled disabled files app in repair step 2015-02-03 14:03:43 +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
Jörn Friedrich Dreyer 86935fab17 readd is_file 2015-02-03 10:13:25 +01:00
Morris Jobke a7eedf0149 Disallow disabling of files app 2015-02-03 00:39:01 +01:00
Arthur Schiwon ded8cc47cf 🐫case 2015-02-02 23:47:59 +01:00
Jörn Friedrich Dreyer 2d8f57a1ea check if cache files are readable 2015-02-02 23:19:54 +01:00
Lukas Reschke 2bd1c17345 Don't encode url unecessary twice
The URL was previously encoded twice which leads to getting redirected to a 404 page when the password has been entered incorrect at least once.

Testplan:

- [ ] Opening `http://localhost/core/index.php?redirect_url=%2Fcore%2Findex.php%2Fsettings%2Fadmin` redirects to the admin page when providing the correct credentials
- [ ] Opening `http://localhost/core/index.php?redirect_url=%2Fcore%2Findex.php%2Fsettings%2Fadmin` redirects to the admin page when providing the invalid credentials and then providing valid ones.
- [ ] Logging in as admin then going to the admin page and clearing the cookies and refreshing will show the login and when repeating the above test steps you're redirected correctly.

Fixes https://github.com/owncloud/core/issues/9804
2015-02-02 15:09:59 +01:00
Thomas Müller 92bc1b44d5 Merge pull request #13822 from owncloud/include-core-version-in-js-version-tag
include core version into js/css version tag
2015-02-02 15:02:11 +01:00
Joas Schilling a575dcf78f Use insertIfNotExists() and reload mimetypes after inserting one 2015-02-02 13:20:16 +01:00