Commit Graph

4238 Commits

Author SHA1 Message Date
Lukas Reschke 4680691ca6 Define allowed app roots earlier
The autoloader needs to be run before including the app.php, otherwise it depends on what app gets executed first and apps that rely on the dependency of other apps in app.php may break.
2015-09-15 12:10:23 +02:00
Robin McCorkell f8619870ea Remove get_temp_dir() 2015-09-15 11:33:25 +02:00
Robin McCorkell 5ca690e2f8 Use integer for availability instead of bool 2015-09-15 10:18:32 +02:00
Robin McCorkell 35d4851af2 Merge branch 'master' into fix-app-disable-route 2015-09-14 19:50:52 +01:00
Robin Appelman 688981b55c allow hook cancel 2015-09-14 20:35:33 +02:00
Robin Appelman 75f126da49 use the correct path for cache updates when doing chunked assembly 2015-09-14 20:35:33 +02:00
Robin Appelman 6386327150 work directly on storages when doing a chunked upload assembly 2015-09-14 20:35:33 +02:00
Robin Appelman b424151459 handle notfound exceptions in lock plugin 2015-09-14 20:35:33 +02:00
Robin Appelman e612d3123f wrap the entire put operation in a read lock 2015-09-14 20:35:33 +02:00
Robin Appelman 209abaadbb expose locking api in sabre connector 2015-09-14 20:35:33 +02:00
Thomas Müller fb9e75edb6 Merge pull request #18973 from owncloud/try-fixing-app-config-on-oracle
Do not compare the value on Oracle
2015-09-14 17:59:52 +02:00
Robin McCorkell dad56921ae Register valid root for all installed apps in console
We need to use commands from apps that aren't enabled (so don't get loaded).
2015-09-14 16:58:25 +01:00
Nicolai Ehemann 6c6be72e6b use zipstreamer via composer 2015-09-14 15:33:28 +02:00
Nicolai Ehemann be2023dae3 lib/private/files.php: adapted to minimally changed ZipStreamer API 2015-09-14 12:57:50 +02:00
Joas Schilling 0e805d5310 Do not compare the value on Oracle
As per docs: http://docs.oracle.com/cd/E11882_01/server.112/e26088/conditions002.htm#i1033286
> Large objects (LOBs) are not supported in comparison conditions.
2015-09-14 12:14:25 +02:00
Lukas Reschke 3adbfbfd69 Use / instead of an empty string as cookie path
When an empty string is used as cookie path PHP will assign the current directory as cookie path.

This means when an user had installed an ownCloud under "/", which is mapped to an empty string in \OC::$WEBROOT, and accessed it the cookie was set to values such as "/index.php/apps/files" since the web browser assumed this to be a directory. This means that multiple encryption cookies were set for the same domain resulting in potential havoc.

With this patch the path will be set to "/" in case an empty web root is installed which makes the cookie accessible to the whole domain.

To test this setup multiple ownCloud instances on the same domain under different ports and have both installed under "/", then try to login in both of it and previously this can in some cases lead to a lockout of the user.

Note that this affects the cookies that the browsers do sent and thus to test this you need to clear all cookies from your browser previously. I consider this an acceptable behaviour for now since this code is only in master.

Fixes https://github.com/owncloud/core/issues/18919
2015-09-14 11:22:34 +02:00
Bernhard Posselt fd74522804 make resolve public to avoid boiler plate code
add resolve to public interface
2015-09-13 17:44:24 +02:00
Frank Karlitschek 7562e4959b Merge pull request #18658 from owncloud/configurable-temp
Configurable temporary directory
2015-09-12 22:04:41 +02:00
Lukas Reschke 1924dd348a Merge pull request #18653 from owncloud/dav-stream-guzzle
stream webdav downloads using http client
2015-09-11 17:10:10 +02:00
Robin McCorkell 188d0e09b8 Add reset method to mimetype loader
Used to solve concurrency issues
2015-09-11 12:44:53 +01:00
Robin McCorkell e99988b9c7 Merge pull request #18676 from owncloud/ext-eventdispatcher
files_external event dispatcher
2015-09-11 09:34:05 +01:00
Robin McCorkell 620173c792 Merge pull request #18851 from owncloud/memcached-getallkeys-fallback
Fallback to complete Memcached flush if getAllKeys fails
2015-09-10 20:33:18 +01:00
Lukas Reschke fb717f254f Merge pull request #18699 from owncloud/notification-manager
Notification manager
2015-09-10 15:26:36 +02:00
Lukas Reschke 89cd929560 Merge pull request #17791 from owncloud/make-eventsource-compatible-with-win10
Add custom CSP for Win 10 compatibility
2015-09-10 15:00:35 +02:00
Lukas Reschke 0b91087489 Write to session in batch at the end of the request 2015-09-09 12:48:37 +02:00
Lukas Reschke e579dd62fd Write session data to single key
This prevents decrypting values multiple times.
2015-09-09 12:48:08 +02:00
Lukas Reschke bfa26db472 Use md5 over the version file to prevent cyclyc dependency 2015-09-09 12:48:08 +02:00
Morris Jobke c4c9c5ffad Merge pull request #18684 from owncloud/explicit-upgrade-version
Explicit upgrade version + prevent downgrades
2015-09-09 11:08:55 +02:00
Björn Schießle acee9d4750 Merge pull request #18908 from owncloud/allow-0-as-password
Allow 0 and false as password
2015-09-09 10:29:29 +02:00
Robin Appelman 9f11b27797 Use the view logic for getFolderContent for the node api 2015-09-08 22:38:50 +02:00
Lukas Reschke a03422c55a Cache generated result
Saves 50ms
2015-09-08 21:28:15 +02:00
Robin Appelman 1b708e26ef Show cached previews directly 2015-09-08 19:51:15 +02:00
Lukas Reschke 7cbf2bc56d Allow 0 and false as password
When we use the check for "empty" here passwords such as 0 will not work.

Fixes https://github.com/owncloud/password_policy/issues/8
2015-09-08 17:53:29 +02:00
Joas Schilling 38001d824b Move interfaces to private until they are no longer experimental 2015-09-08 09:01:02 +02:00
Joas Schilling 190d2c3d5b Add tests for the notification manager 2015-09-08 09:01:02 +02:00
Joas Schilling c6469be8bd Add tests for notification 2015-09-08 09:01:02 +02:00
Joas Schilling acf8149f17 Add tests for Action 2015-09-08 09:01:01 +02:00
Joas Schilling 0d154595f8 Fix the subject of notifications 2015-09-08 09:01:01 +02:00
Joas Schilling 57c273b2da Fix closures and adding parsed Actions 2015-09-08 09:01:01 +02:00
Joas Schilling d04021b1ac Fix the request type and the validity 2015-09-08 09:01:01 +02:00
Joas Schilling 21b83dc730 Allow getting the request type 2015-09-08 09:01:01 +02:00
Joas Schilling 913e2e9ae6 Use an INotification to getCount() and markProcessed() 2015-09-08 09:01:01 +02:00
Joas Schilling 3bdfef9107 Add the request type to the action 2015-09-08 09:01:01 +02:00
Joas Schilling f0ecfa6e6c Add the app id to the markProcessed method 2015-09-08 09:01:01 +02:00
Joas Schilling 0bcae89d14 Handle InvalidArgumentException more gracefully 2015-09-08 09:01:01 +02:00
Joas Schilling f16c5a38a8 Add language to the preparation method 2015-09-08 09:01:01 +02:00
Joas Schilling 4e347170ac Notification API 2015-09-08 09:00:57 +02:00
Lukas Reschke 84797023ed Remove XSendFile support
Required to ensure proper locking
2015-09-07 16:52:50 +02:00
Morris Jobke c57595bcb4 Merge pull request #18839 from owncloud/autoloader-supersecure
Restrict autoloaded paths to loaded apps (and other enhancements)
2015-09-07 00:09:00 +02:00
Roeland Douma 24f5f50b20 Merge pull request #18742 from owncloud/mimetype-updatedb
Introduce mimetype DB update occ command
2015-09-06 16:56:35 +02:00
Robin McCorkell b64e3f8db6 Fallback to complete Memcached flush if getAllKeys fails
Newer Memcached's do not support the underlying protocol commands that
getAllKeys() is implemented with. We should fallback to clearing
everything in that case, as causing (temporary) performance problems for
other applications on the server is better than having stale cached data.
2015-09-05 20:02:49 +01:00
Robin McCorkell 0fac2e3f3a Unique exception for invalid autoload paths, better handling
Background jobs are tolerant of stale entries left by disabled apps,
which will cause an autoload exception.
2015-09-05 16:50:02 +01:00
Robin McCorkell b06bc409e0 Rebuild app navigation in JS
Retrieve all app navigations to prevent reloading appinfo/app.php and
causing an error when the app isn't fully loaded. The addition/deletion
logic has been moved to JS, simplifying a lot of code.
2015-09-05 02:24:18 +01:00
Robin McCorkell b3acf09c60 Only add valid root for enabled apps 2015-09-05 00:04:58 +01:00
Robin McCorkell cdf01f0419 Split mimetype handling to new class 2015-09-04 17:28:20 +01:00
Morris Jobke 7f8bca64cb Merge pull request #18833 from owncloud/share-prevent-twice
Prevent sharing twice with user when already a group
2015-09-04 18:26:50 +02:00
Vincent Petry f100ef0fc6 Prevent sharing twice with user when already a group 2015-09-04 16:22:01 +02:00
Morris Jobke e54513cddd Merge pull request #18799 from owncloud/appconfig-with-one-request
Only query the appconfig once per request
2015-09-03 16:13:14 +02:00
Joas Schilling 38a164aa7a Make sure the array exists 2015-09-03 15:41:30 +02:00
Robin Appelman 8123df9489 setup owner when getting users for share 2015-09-03 14:34:46 +02:00
Morris Jobke a1e13d95ad Merge pull request #18777 from owncloud/locking-default
enable transational locking by default
2015-09-03 11:33:10 +02:00
Joas Schilling 21ba3b8737 Only query the appconfig once 2015-09-03 11:30:57 +02:00
Lukas Reschke f9e90e92d4 Encode HTML tags in JSON
While not encoding the HTML tags in the JSON response is perfectly fine since we set the proper mimetype as well as disable content sniffing a lot of automated code scanner do report this as security bug. Encoding them leads to less discussions and a lot of saved time.
2015-09-03 00:44:46 +02:00
Joas Schilling 8f2110e5da Revert "Soft fail when deleting and no entry found" 2015-09-02 19:52:45 +02:00
Robin Appelman 4880d7729b enable transational locking by default 2015-09-02 16:56:47 +02:00
Robin McCorkell c9c246a3f5 Soft fail when deleting and no entry found 2015-09-02 14:50:07 +01:00
Robin Appelman 0f6df2e0b6 Allow creating previewss that cover the specified dimensions 2015-09-02 10:32:39 +02:00
Robin Appelman 1c10fb5c9f also use httpclient for uploadFile 2015-09-01 18:01:27 +02:00
Robin McCorkell 5b2529b448 Delay adding OCS prefix to route collection until all is loaded
->addPrefix() iterates over all registered routes, so must be run after
all apps have had a chance to load their OCS routes.
2015-09-01 15:42:41 +01:00
Vincent Petry 87b3e28f06 Merge pull request #18730 from owncloud/appframework_proper_304
Properly return 304 in AppFramework
2015-09-01 15:39:59 +02:00
Robin McCorkell 9e9ffb1356 Allow access to full alias and mapping arrays 2015-09-01 14:07:14 +01:00
Roeland Jago Douma f12caf930e Properly return 304
The ETag set in the IF_NONE_MODIFIED header is wraped in quotes (").
However the ETag that is set in response is not (yet). Also we need to
cast the ETag to a string.

* Added unit test
2015-09-01 11:04:41 +02:00
Vincent Petry 6ccbf4bce6 Improved update version detection logic 2015-08-31 18:35:35 +02:00
Vincent Petry 85b62c7d82 Merge pull request #18635 from owncloud/stickify-files-and-sharing-notification-types
Sticky the notification types of files and sharing
2015-08-31 17:56:48 +02:00
Robin McCorkell 3142a20f25 Expose files_external services from Server
Not exposed to OCP yet
2015-08-31 15:18:26 +01:00
Vincent Petry f8d8de5da6 Merge pull request #17899 from owncloud/enc_make_key_storage_root_configurable
Make root of key storage configurable
2015-08-31 15:58:30 +02:00
Morris Jobke c34fbea197 Merge pull request #18691 from owncloud/request-no-read
Decode request content only on getContent
2015-08-31 14:58:48 +02:00
Vincent Petry 3b37c20319 Simplify comparison algo 2015-08-31 14:31:17 +02:00
Robin McCorkell e60c4bada1 Decode request content only on getContent 2015-08-31 01:05:25 +01:00
Robin McCorkell a0dfaf9be3 Clean up TempManager to follow code guidelines
tmpBaseDir can be overridden for unit testing purposes
2015-08-30 23:30:56 +01:00
Morris Jobke b50ac6ff2f Merge pull request #10149 from owncloud/storage-wrapper-check
Check result of storage wrappers
2015-08-30 19:48:37 +02:00
Bjoern Schiessle 37513f9411 don't read certificates if ownCloud is not installed 2015-08-30 19:00:03 +02:00
Bjoern Schiessle 289e9130f3 make system root of key storage configurable 2015-08-30 19:00:03 +02:00
Vincent Petry d5b0b55eef Throw exception on downgrade attempt 2015-08-30 18:07:22 +02:00
Vincent Petry 2b08659f7d Restrict upgrades to explicit allowed version
version.php now contains the previous ownCloud version from which
upgrades are allowed. Any other upgrades will show a message that the
upgrade/downgrade is not supported.
2015-08-30 18:04:18 +02:00
Vincent Petry 045f8cc971 Merge pull request #18651 from owncloud/ocs_share_create_with_expire
Allow to directly set the expireDate on a new (link)share
2015-08-30 10:50:12 +02:00
Roeland Jago Douma 2aff11c80b Actually validate the expire date on share
* Added more intergration tests
2015-08-30 10:31:43 +02:00
Robin Appelman 4cb8ca1860 Check result of storage wrappers 2015-08-30 10:02:42 +02:00
root acae208f2f moved code to /lib/private/tempmanager.php
fix for unit test

some fixes
2015-08-29 16:59:02 +01:00
Vincent Petry 723f8c8f1b Merge pull request #18620 from owncloud/add-public-interface-for-factory
Add a public interface for the language factory so apps can use it
2015-08-29 16:44:08 +02:00
Robin Appelman df8cb2cc63 stream webdav downloads using http client 2015-08-29 14:56:15 +02:00
Robin Appelman b67d395089 allow streamed responses in http client 2015-08-29 14:56:08 +02:00
Joas Schilling 0ddcc7da44 Merge pull request #18511 from owncloud/downgrad-sharing-error-logs-to-debug
Change log level of debugging logs to debug
2015-08-28 21:05:02 +02:00
Björn Schießle 6e210d960c Merge pull request #18423 from owncloud/occ_encrypt_all
occ command line tool to encrypt all files
2015-08-28 20:44:55 +02:00
Joas Schilling 42f0651b83 Sticky the notification types of files and sharing 2015-08-28 18:40:50 +02:00
Joas Schilling a12d354762 Deprecate OC_L10N::get() 2015-08-28 12:04:52 +02:00
Joas Schilling c3c7689b67 Add a public interface for the language factory so apps can use it 2015-08-27 13:14:50 +02:00
Bjoern Schiessle e51fe617d8 copy always file by file to encrypt/decrypt it if needed 2015-08-26 14:58:22 +02:00
Lukas Reschke 3d2ee95f1e Remove last occurence of `forcessl`
This shoudl have been adjusted as well, now it's consistent with `setMagicInCookie`. While it does not have a security impact directly some automated scanners reported this all the time.
2015-08-26 14:29:36 +02:00
Thomas Müller 749e3d5219 Merge pull request #18553 from owncloud/write-l10n-on-login
Save detected l10n of browser on login
2015-08-26 08:44:25 +02:00