Commit graph

3405 commits

Author SHA1 Message Date
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
Bjoern Schiessle
63e7fe608a create basic interfaces and wrapper to make encryption more modular 2015-04-07 13:30:27 +02:00
Joas Schilling
3bde7c2f67 When guessing the timezone, the offset might only be valid on a given timestamp 2015-04-07 10:13:06 +02:00
Robin McCorkell
fbb84a518f Fix UrlGenerator::imagePath() for app paths 2015-04-03 23:42:18 +01:00
Thomas Müller
3bf269e565 Merge pull request #15229 from owncloud/response-setContentLengthHeader
Add OC_Response::setContentLengthHeader() for Apache PHP SAPI workaround...
2015-04-03 22:51:36 +02:00
Thomas Müller
b2b3e1ac94 Merge pull request #15391 from owncloud/fix-language-caching
fix caching of preferred language
2015-04-03 22:51:13 +02:00
Thomas Müller
3d2116dfe7 Merge pull request #15386 from oparoz/yaml-cnf-mediatype
Introducing media types for yml, yaml, cnf, conf
2015-04-03 22:49:41 +02:00
Robin Appelman
712e478cb2 fix caching of preferred language 2015-04-03 15:36:24 +02:00
Lukas Reschke
25531bad88 Make user names clickable 2015-04-03 13:36:03 +02:00
Lukas Reschke
0816cf9142 Add experimental applications switch
Allows administrators to disable or enabled experimental applications as well as show the trust level.
2015-04-03 13:21:24 +02:00
Morris Jobke
a2087f30d1 Merge pull request #15383 from owncloud/fix-exception-message
Update exception messages to better reflect and describe the problem
2015-04-03 10:15:23 +02:00
Olivier Paroz
70ec74e88b Introducing media types for yml, yaml, cnf, conf 2015-04-02 21:37:57 +02:00
Lukas Reschke
fa079a5959 Merge pull request #12314 from oparoz/patch-3
Make findBinaryPath compatible with open_basedir
2015-04-02 18:54:03 +02:00
Joas Schilling
a8d1ede347 Fix the exception messages 2015-04-02 18:40:06 +02:00
Thomas Müller
9f58097e4d Merge pull request #14113 from owncloud/chunking-chunkpartfiles
Added part files for when writing chunks
2015-04-02 18:15:27 +02:00
Thomas Müller
4082436419 Merge pull request #15367 from owncloud/pre-setup-hook
setup storage wrappers before setting up the filesystem
2015-04-02 17:40:23 +02:00
Morris Jobke
1720fdf5f4 Merge pull request #15346 from oparoz/split-image-provider
Split image provider in one sub-class per media type
2015-04-02 13:40:09 +02:00
Robin Appelman
f585994c4b setup mount manager before wrappers 2015-04-02 13:28:36 +02:00
Olivier Paroz
8ec6dfdbf8 Split image provider in one sub-class per media type 2015-04-02 10:31:24 +02:00
Morris Jobke
82f91c50c7 Merge pull request #15349 from oparoz/limit-bitmap-previews-2
The bitmap preview class now takes maxX and maxY into consideration
2015-04-02 10:23:55 +02:00
Thomas Müller
9e5b319ed4 Merge pull request #15362 from owncloud/issue/15359-purge-memcache-console-app-disable
Correctly purge the cache when an app is disabled via cli
2015-04-02 09:26:15 +02:00
Joas Schilling
696c750cfe Fix docs and line breaks 2015-04-02 08:28:42 +02:00
Robin Appelman
3cb53b7756 setup storage wrappers before setting up the filesystem 2015-04-01 17:12:06 +02:00
Olivier Paroz
1525ecd3dd The bitmap preview class now takes maxX and maxY into consideration
This is a fix for owncloud#13607 and is part of the global programme: owncloud#13609

The image aspect ratio is kept intact.
2015-04-01 15:54:22 +02:00
Joas Schilling
d01cfde982 Correctly purge the cache when an app is disabled via cli 2015-04-01 15:43:38 +02:00
Roeland Jago Douma
288da619b1 Deprecate functions that only call the urlgenerator anyway 2015-04-01 14:32:49 +02:00
Joas Schilling
730efe25a4 Make scrutinizer happy 2015-04-01 12:13:49 +02:00
Pierre Jochem
a1828ff034 More secure proposal 2015-04-01 11:28:53 +02:00
Olivier Paroz
0f01de9f7e Use getenv to get the paths for find 2015-03-31 23:49:21 +02:00
Olivier Paroz
7c41c0c13f use ExecutableFinder and find in findBinaryPath
When using open_basedir, commands such as `which`or `command`can fail
because they might try to look outside of the restricted perimeter.
Symfony's ExecutableFinder can be used instead to look in standard
locations and we can use `find` as a last resort

A better solution would be to adopt a mechanism similar to what has
been done for office documents where a configuration parameter is used
to indicate the path where the executable is to be found.
2015-03-31 23:49:16 +02:00
Robin Appelman
068c624b0d fix copying folder across devices 2015-03-31 13:50:11 +02:00
Roeland Jago Douma
0bf06d6691 No injections 2015-03-30 20:07:12 +02:00
Morris Jobke
bf17ac929d Merge pull request #15169 from rullzer/fix_displayNamesInGroup
Groupmanagers displayNamesInGroup should actually search in displaynames
2015-03-30 17:04:09 +02:00
Joas Schilling
b95d12700c Add logic for getting the user from the rss token to the Manager 2015-03-30 15:23:09 +02:00
Roeland Jago Douma
b0aa17b13f OCS Fixes to allow setting of password without removing additional settings
- Added setPassword to share.php
- Fixed OCS API call
- Added unit tests
2015-03-30 14:00:50 +02:00
Lukas Reschke
65202d2a18 Add check for activated local memcache
Also used the opportunity to refactor it into an AppFramework controller so that we can unit test it.

Fixes https://github.com/owncloud/core/issues/14956
2015-03-28 13:59:22 +01:00
Vincent Petry
d3752ca1e9 Merge pull request #15289 from owncloud/min-upload-limit
Require minimum 1 MiB upload limit
2015-03-28 11:34:11 +01:00
Robin McCorkell
ab991458ad Require minimum 1 MiB upload limit 2015-03-27 23:43:35 +00:00
Robin McCorkell
1511a42da7 Check for relative datadirectory path 2015-03-27 23:29:46 +00:00
Vincent Petry
a32c71d25e Revert "Deprecated \OCP\IAppConfig - add missing methods to IConfig"
This reverts commit 012016d331.
2015-03-27 18:50:11 +01:00
Morris Jobke
f4dc9e6bf3 Merge pull request #15155 from owncloud/share-donotreturntrashedfiles
Do not return shares for files outside "files"
2015-03-27 17:05:14 +01:00
Thomas Müller
4d12c4a38b Merge pull request #13938 from owncloud/deprecate-iappconfig
Deprecated \OCP\IAppConfig - add missing methods to IConfig
2015-03-27 16:07:41 +01:00
Thomas Müller
722e50a112 Merge pull request #15240 from owncloud/storage-wrapper-priority
add priority to storage wrappers
2015-03-27 15:18:44 +01:00
Thomas Müller
98bc1ad70a Merge pull request #15265 from owncloud/enc2_fixes
core improvements for Encryption 2.0
2015-03-27 14:58:33 +01:00
Morris Jobke
e918bcf212 Merge pull request #15247 from owncloud/fix_group_share_master_backport
also call generateTarget for group shares
2015-03-27 14:40:52 +01:00
Vincent Petry
80f83ab5e0 Do not return shares for files outside "files" 2015-03-27 13:25:23 +01:00
Vincent Petry
7ad4dfa201 Merge pull request #15227 from owncloud/ocetag-header
Copy Etag header to OC-Etag for sabre calls
2015-03-27 13:10:27 +01:00
Bjoern Schiessle
b5fad75e57 add deleteAllFileKeys to public interface and add "uid" as parameter for the
update call
2015-03-27 11:51:53 +01:00
Bjoern Schiessle
c6be1ba8d3 fix check if a file is excluded from encryption or not 2015-03-27 11:51:50 +01:00
Morris Jobke
a62f38a18b Merge pull request #15225 from owncloud/make-setups-for-users-that-tend-to-use-owncloud-on-not-proper-machines-a-little-bit-more-secure
Add some generic default headers as well via PHP
2015-03-27 09:54:40 +01:00
Lukas Reschke
9622fbdf29 Filter potential dangerous characters in path name
We should not allow / or \ in the postfix here.
2015-03-26 23:17:18 +01:00
Vincent Petry
670ca68453 Added stat cache for DAV storage
The stat cache stored known states of files/folders to avoid requerying
the DAV server multiple times.
2015-03-26 23:15:53 +01:00
Vincent Petry
746be98e03 Merge pull request #13654 from oparoz/tmpfile-with-extension
Keep the extension in temp files
2015-03-26 23:08:08 +01:00
Robin McCorkell
c2909355bf Merge pull request #14925 from owncloud/ext-mountoptions-ui
Mount options GUI for external storage
2015-03-26 21:36:34 +00:00
Lukas Reschke
9d1ce53cb1 Add some generic default headers as well via PHP 2015-03-26 22:32:57 +01:00
Bjoern Schiessle
223cca2a07 also call generateTarget for group share to add the correct prefix if share_folder is defined in config.php 2015-03-26 22:31:45 +01:00
Morris Jobke
e8109f0bc3 Merge pull request #13802 from owncloud/share-partfilepermissions
Fix share permission checks
2015-03-26 22:01:05 +01:00
Morris Jobke
4c00be4961 Merge pull request #14488 from owncloud/enhancement/security/inline-disposition
Serve all files with a Content-Disposition of 'attachment' via WebDAV
2015-03-26 21:45:30 +01:00
Robin Appelman
cb9ead7dde add priority to storage wrappers 2015-03-26 21:26:38 +01:00
Thomas Müller
232518ac54 Merge pull request #15234 from owncloud/encryption2_core
core part of encryption 2.0
2015-03-26 21:14:59 +01:00
Bjoern Schiessle
ff9c85ce60 implement basic encryption functionallity in core to enable multiple encryption modules 2015-03-26 20:56:51 +01:00
Lukas Reschke
8ebe667202 Remove unneeded argument 2015-03-26 20:45:39 +01:00
Lukas Reschke
74a9fc29b4 Merge pull request #14399 from owncloud/ignore-empty-plurals
Ignore empty plurals just like with singulars
2015-03-26 20:15:33 +01:00
Lukas Reschke
55fd0082aa Serve all files with a Content-Disposition of 'attachment' via WebDAV
As an additional security hardening it's sensible to serve these files with a Content-Disposition of 'attachment'. Currently they are served 'inline' and get a "secure mimetype" assigned in case of potential dangerous files.

To test this change ensure that:

- [ ] Syncing with the Desktop client still works
- [ ] Syncing with the Android client still works
- [ ] Syncing with the iOS client still works

I verified that the 1.8 OS X and iOS client still work with this change.
2015-03-26 20:01:05 +01:00
Lukas Reschke
c8c722bc6d Merge pull request #15129 from owncloud/version-command-bus
expire versions in a background command
2015-03-26 19:55:13 +01:00
Morris Jobke
70e64822b9 Merge pull request #14665 from owncloud/fileid-increment
SQLite autoincrement test
2015-03-26 19:36:18 +01:00
Vincent Petry
58b4c2c0e5 Make sure mountOptions keep their data type
str_replace for $user substitution was converting the data type of
mountOptions to string. This fix prevents this to happen by making sure
only strings are processed by substitution.

Also added a int conversion when reading the watcher policy
2015-03-26 19:24:37 +01:00
Thomas Müller
a8b756154a Merge pull request #14495 from owncloud/update-mailmap-01
Updating .mailmap
2015-03-26 17:17:18 +01:00
Robin Appelman
8c903c100f check limit of serialized command in unit tests 2015-03-26 17:07:02 +01:00
Robin Appelman
268f249e8d ensure commands can be serialized in unit tests 2015-03-26 17:07:02 +01:00
Robin Appelman
ddd6a67d2a Handle exceptions thrown during hooks when running unit tests 2015-03-26 17:07:02 +01:00
Robin Appelman
3ed6ed3c36 Force test cases using background commands to handle setting up the filesystem 2015-03-26 17:07:02 +01:00
Andreas Fischer
0f58315543 Add OC_Response::setContentLengthHeader() for Apache PHP SAPI workaround.
Do not send Content-Length headers with a value larger than PHP_INT_MAX
(2147483647) on Apache PHP SAPI 32-bit. PHP will eat them and send 2147483647
instead.

When X-Sendfile is enabled, Apache will send a correct Content-Length header,
even for files larger than 2147483647 bytes. When X-Sendfile is not enabled,
ownCloud will not send a Content-Length header. This prevents progress bars
from working, but allows the actual transfer to work properly.
2015-03-26 16:37:38 +01:00
Joas Schilling
39dbf9509b Merge pull request #15224 from owncloud/issue/15191-app-code-checker-error-list
Correctly only send the errors of the current file to the event
2015-03-26 16:35:46 +01:00
Vincent Petry
70acd58336 Copy Etag header to OC-Etag for sabre calls 2015-03-26 16:06:43 +01:00
Joas Schilling
db763027bb Correctly only send the errors of the current file to the event 2015-03-26 15:33:31 +01:00
Vincent Petry
a84ade5f32 Revert "adding OC-ETag header"
This reverts commit 30ee8b6f99.
2015-03-26 15:04:41 +01:00
Vincent Petry
daceb1a9ac Revert "adding unit tests"
This reverts commit 8d327c94a8.
2015-03-26 15:04:36 +01:00
Vincent Petry
cda7f7fd61 Merge pull request #15168 from owncloud/oc-etag-master
adding OC-ETag header
2015-03-26 13:52:43 +01:00
Lukas Reschke
468456e168 Merge pull request #14125 from dratini0/master
[nginx] Extending X-Accel-Redirect support
2015-03-26 13:35:00 +01:00
Jenkins for ownCloud
b585d87d9d Update license headers 2015-03-26 11:44:36 +01:00
Morris Jobke
20f5290462 Merge pull request #15195 from owncloud/reanimate-add-guzzle
Add wrapper for Guzzle
2015-03-26 11:06:48 +01:00
Vincent Petry
f056558b72 Add repair step to fix SQLite autoincrement
Force Doctrine to generate alter table SQL statements for SQLite to make
sure the code from OCSqlitePlatform is triggered.
2015-03-26 11:00:22 +01:00
Thomas Müller
8d327c94a8 adding unit tests 2015-03-26 10:49:26 +01:00
Robin Appelman
ac8254de6a Rename platform 2015-03-25 18:33:21 +01:00
Robin Appelman
24a30c10d7 Add custom sqlite platform to set auto increment 2015-03-25 18:33:21 +01:00
Lukas Reschke
5f044ebf1b Add wrapper for Guzzle 2015-03-25 16:04:41 +01:00
Andreas Fischer
630b7edc54 Do not use APCu when apc.enabled is Off. 2015-03-25 14:52:01 +01:00
Thomas Müller
43beaba0dc Merge pull request #15171 from owncloud/sabre-logforbiddenasdebug
Log forbidden in debug level
2015-03-24 23:31:35 +01:00
Lukas Reschke
ec12f5e019 Merge pull request #14949 from owncloud/sabre-2.1.3
Update sabre-2.1.3 thirdparty submodule
2015-03-24 23:16:57 +01:00
Vincent Petry
72c1c89bcd Log forbidden in debug level 2015-03-24 22:08:11 +01:00
Thomas Müller
30ee8b6f99 adding OC-ETag header 2015-03-24 21:36:46 +01:00
Roeland Jago Douma
abfb524b29 When searching for displayname then search for displayname 2015-03-24 21:35:44 +01:00
Lukas Reschke
5a9c9b86f8 Merge pull request #15153 from owncloud/uniquename-node
Add `getNonExistingName()` to the node api
2015-03-24 15:51:12 +01:00
Robin Appelman
d11f01fa0f Add getNonExistingName() to the node api 2015-03-24 15:00:36 +01:00
Vincent Petry
331f0196e0 Merge pull request #15150 from owncloud/sabre-removerangeexceptionforencryption
Remove range header exception for encryption
2015-03-24 14:29:01 +01:00