Commit Graph

580 Commits

Author SHA1 Message Date
Bjoern Schiessle e11afd3066 fix some getShareKey() and getFileKey() calls 2013-11-20 22:44:23 +01:00
Bjoern Schiessle c5cb4206f5 [wip] make encryption work with public gallery sharing 2013-11-20 18:10:56 +01:00
Vincent Petry 5de5c317c1 Merge pull request #5967 from owncloud/encryption-extstorage-fixsizereset
Fix for extstorage + encryption where unencrypted size is not kept
2013-11-20 09:04:37 -08:00
Vincent Petry fe44024868 Fix for extstorage + encryption where unencrypted size is not kept
Fix for external storage with encryption where the unencrypted size is
first written in the DB, then set back to zero, causing performance
issue because the file needs to be reopened every time to find out the
unencrypted size (and potentially needs a full redownload)
2013-11-20 16:22:55 +01:00
Bjoern Schiessle f3e2a63712 check if it is a cached file or a version to resolve the correct path to the file key 2013-11-20 12:34:23 +01:00
Bjoern Schiessle 0c24c7c420 only check if the key file exists to decide if it is an encrypted file or not.
This solves problems with external storage which doesn't support fseek
2013-11-20 11:02:22 +01:00
Bjoern Schiessle b823505bd1 make sure that the owners home is mounted correctly 2013-11-19 18:28:51 +01:00
Vincent Petry d306f5c4cf Merge pull request #5908 from owncloud/fix_errorpage_call
[encryption] fix redirectToErrorPage() call
2013-11-18 05:17:28 -08:00
Bjoern Schiessle 82f30d37ca call error page with session as parameter 2013-11-17 13:23:07 +01:00
Björn Schießle 3ad546002f Merge pull request #5833 from owncloud/encryption_fixes
[encryption] preserve timestamps and etags during encryption/decryption
2013-11-15 08:47:22 -08:00
Bjoern Schiessle faa08da944 instead of writing etmp files we write the dummy file to data/user/cache to avoid that etmp files show up in the users files list 2013-11-14 17:32:21 +01:00
Bjoern Schiessle 222fa88eec Merge branch 'master' into encryption_fixes 2013-11-13 12:11:12 +01:00
Vincent Petry 3fa651f2b1 Merge pull request #5447 from owncloud/fixing-5117-master
No data corruption duriing parallel upload
2013-11-13 02:59:34 -08:00
Bjoern Schiessle dd0ebcede2 fixPartialFilePath() is now stripPartialFileExtension() 2013-11-12 18:48:31 +01:00
Bjoern Schiessle 77429c28fd rename fixPartialFilePath() to stripPartialFileExtension(), this name describes better what the method actually does 2013-11-12 16:48:24 +01:00
Bjoern Schiessle e2fb8d7128 only update file cache if the file is already indexed to avoid that we create a incomplete file cache entry 2013-11-12 15:55:59 +01:00
Bjoern Schiessle 894856ce01 make sure that we keep the correct timestamp and etag after encryoption/decryption 2013-11-12 15:51:51 +01:00
Bjoern Schiessle 9f10f15fd4 fixing tests for the new part file handling 2013-11-12 10:24:10 +01:00
Bjoern Schiessle 802213f7ec let encryption app detect transfer id in path and handle it correctly 2013-11-11 17:47:59 +01:00
Vincent Petry e246e2b669 Fixed encryption migration when entry is missing in DB
When resetting the DB and some users still have encrypted files, the
migration state isn't read properly becaue the migration entries are
missing. This causes the wrong file size to be returned.

This fix inserts the missing migration entry when this condition is met.

Fixes #5541
2013-10-25 15:38:35 +02:00
Markus Goetz af58360434 files_encryption: Fix getFileSize()
For certain file sizes, we rounded to the wrong chunk number
and the returned bogus results. This should fix
https://github.com/owncloud/mirall/issues/1009

Conflicts:
	apps/files_encryption/tests/util.php
2013-10-23 16:28:43 +02:00
Bjoern Schiessle eb348b776c set the init status to "NOT_INITIALIZED" if the encryption app gets enabled 2013-10-22 16:15:24 +02:00
Björn Schießle 9f8d52ee44 Merge pull request #5329 from owncloud/enc_fix_unencrypted_size
try to fix unencrypted file size if it doesn't look plausible
2013-10-16 02:25:28 -07:00
Bjoern Schiessle 6bfd8bdf63 revert last changes 2013-10-16 11:24:56 +02:00
Bjoern Schiessle 0811d2e304 added another test, if unencrypted size and encrypted size are equal we can also assume that something is wrong 2013-10-15 17:52:06 +02:00
Bjoern Schiessle d3af7a9aa4 check if we are writing to user/files, otherwise skip encryption 2013-10-14 17:13:14 +02:00
Bjoern Schiessle 58196304b8 fix array key 2013-10-14 16:43:18 +02:00
Bjoern Schiessle 4151fd3ed9 try to fix unencrypted file size if it doesn't look plausible 2013-10-14 16:34:14 +02:00
Bjoern Schiessle 39d710e737 block file access if share keys are missing 2013-10-11 14:20:46 +02:00
Bjoern Schiessle 909af2b62e don't cache if the encryption is enabled, this can lead to problems during unit testing 2013-10-10 15:02:52 +02:00
Bjoern Schiessle 38e5da05af only encrypt file to users with encryption keys 2013-10-09 15:56:21 +02:00
Björn Schießle 2cdf54b77d Merge pull request #4877 from owncloud/ocs_share_api
OCS Share API
2013-10-04 07:10:21 -07:00
Bjoern Schiessle 4d79e7e673 Merge branch 'master' into encryption_improved_error_messages_4617 2013-09-30 15:08:53 +02:00
Bjoern Schiessle 62b8c36a40 check if encryption app is enabled before trying to calculate file size 2013-09-26 16:27:14 +02:00
Bjoern Schiessle 0b98427536 fix check if app is enabled 2013-09-25 19:23:07 +02:00
Bjoern Schiessle 71bbb2ea8b check if key exists before reading it 2013-09-25 17:44:05 +02:00
Bjoern Schiessle f6e8a388a9 Merge branch 'master' into encryption_improved_error_messages_4617
Conflicts:
	settings/ajax/changepassword.php
2013-09-23 10:39:12 +02:00
Björn Schießle e0f18ec72b Merge pull request #4708 from owncloud/encryption_fixes
make sure that initial encryption also starts for a fresh installation
2013-09-18 01:33:52 -07:00
Bjoern Schiessle 82cbbb8ab8 Merge branch 'master' into encryption_improved_error_messages_4617
Conflicts:
	apps/files/index.php
2013-09-16 10:42:37 +02:00
Thomas Müller d5ddbfb045 Merge pull request #4719 from owncloud/port_4701_master
Always check variable type before using readdir to avoid surprises
2013-09-12 15:44:20 -07:00
Bjoern Schiessle b2dde14dbc coding style fixes 2013-09-06 16:07:18 +02:00
Bjoern Schiessle 93f4dec798 fix part file handling and real size calculation, this should also solve #4581
Conflicts:
	apps/files_encryption/lib/stream.php
2013-09-06 16:06:34 +02:00
Bjoern Schiessle f6830e7462 check shares for the real file and not for the .part file 2013-09-06 16:05:11 +02:00
Bjoern Schiessle 404e36323a first check if a extension exists before comparing it 2013-09-06 16:05:03 +02:00
Bjoern Schiessle 597a3cf1ad handle part files correctly 2013-09-06 16:04:56 +02:00
Bjoern Schiessle 1558cb860c remove test code 2013-09-06 13:16:48 +02:00
Bjoern Schiessle fb462e83cc no longer enforce log out, but provide useful errors/warnings instead 2013-09-06 12:27:40 +02:00
Arthur Schiwon c01675de5d more is_resource checks before readdir 2013-09-05 11:58:57 +02:00
Bjoern Schiessle 3d49631b8d make sure that initial encryption also starts for a fresh installation 2013-09-03 13:24:30 +02:00
ringmaster 39f4538e0f This function doesn't cache anymore. Adjusted PHPDoc to suit. 2013-09-02 09:59:01 -04:00
ringmaster df7bfa4bf0 Don't cache the pkey, skip generation if the keyfile exists 2013-09-02 09:59:00 -04:00
Owen Winkler 9a263a500a Employ config option for OpenSSL config file, if provided.
This should help make OpenSSL configuration on Windows servers easier by allowing the openssl.cnf file to be set directly in the ownCloud config, rather than in SetEnv commands that don't exist and are hard to replicate in IIS.
2013-09-02 09:59:00 -04:00
Owen Winkler fb34f49913 Start a branch for easier OpenSSL configuration. 2013-09-02 09:58:19 -04:00
Bjoern Schiessle 5e508f1ccb improved documentation of the methods 2013-09-02 11:34:28 +02:00
Bjoern Schiessle bab63c22ee encryption error messages, distinguish between a re-enabled encryption app and a password change from outside 2013-09-02 11:26:11 +02:00
Bjoern Schiessle d7dca966a2 improved error messaging, initial commit 2013-08-30 10:17:50 +02:00
Thomas Müller 582b33bdf1 Merge pull request #4537 from owncloud/no-realpath
Do not use realpath() on includes.
2013-08-22 01:50:31 -07:00
Andreas Fischer 83afb46205 Use __DIR__ instead of dirname(__FILE__).
This is possible because we require PHP 5.3 or higher.
2013-08-21 11:01:24 +02:00
Andreas Fischer 9753e44ac2 Do not use realpath() on includes.
If the file does not exist, realpath() returns false and "include false;"
produces "Failed opening '' for inclusion" which is a useless error message.

'include' works just fine with symlinks, "./" and "../".
2013-08-21 10:52:22 +02:00
Björn Schießle 9be836814c Merge pull request #4239 from owncloud/decrypt_files_again
Enable user to decrypt files again after encryption app was disabled
2013-08-18 09:51:48 -07:00
Bjoern Schiessle 1be11bb03d don't change the etags if a file gets encrypted/decrypted to avoid that the sync client downloads all files again 2013-08-18 11:21:01 +02:00
kondou 9e8a6b704d Add _many_ newlines at the end of files 2013-08-18 11:06:59 +02:00
Bjoern Schiessle cabe92ef12 Merge branch 'master' into decrypt_files_again
Conflicts:
	apps/files_encryption/tests/keymanager.php
2013-08-17 13:15:22 +02:00
Björn Schießle d3e2f31ada Merge pull request #4352 from owncloud/encryption_clean_up
crypt.php clean up
2013-08-17 04:10:15 -07:00
Bjoern Schiessle 7adfc27caf remove whitespaces and some leftover code from testing 2013-08-15 13:13:16 +02:00
Bjoern Schiessle 7b1067c2a0 change decryptUnknownKeyfile() to decryptKeyfile(), we always use openssl_seal 2013-08-12 16:19:08 +02:00
Bjoern Schiessle 0bab8935c9 preserve mtime if file gets encrypted/decrypted 2013-08-12 14:30:43 +02:00
Bjoern Schiessle b982868c14 fix array declaration 2013-08-12 13:59:49 +02:00
Bjoern Schiessle 44d201a526 Merge branch 'encryption_clean_up' of github.com:owncloud/core into encryption_clean_up 2013-08-09 15:57:07 +02:00
Bjoern Schiessle 5ba8d38b7f remove old comments, TODos, etc. 2013-08-09 15:55:17 +02:00
Thomas Müller c458e785a1 fixing typos and PHPDoc 2013-08-08 15:08:58 +02:00
Bjoern Schiessle 512f98cac9 remove todo item 2013-08-08 13:38:15 +02:00
Bjoern Schiessle b39d2d1938 more error messages which might be useful for the user to debug his server config 2013-08-08 08:39:11 +02:00
Bjoern Schiessle 7aeb0068be also write error message to the log 2013-08-08 08:38:52 +02:00
Bjoern Schiessle cfbdad9cdb catch broken server config and disable encryption app. 2013-08-08 08:38:37 +02:00
Bjoern Schiessle 97e910e087 make methods private which are not used from outside 2013-08-08 08:37:39 +02:00
Bjoern Schiessle 23e9721644 use OC\Files\View to read encrypted file, so that it also works with external storages 2013-07-31 16:35:14 +02:00
Bjoern Schiessle 2549322763 we need to use the path relative to data/ 2013-07-30 18:17:33 +02:00
Bjoern Schiessle a212c98125 handle error if we can't handle the given path 2013-07-30 15:27:59 +02:00
Bjoern Schiessle a6ced6b53f remove unused method, the right one is in util.php 2013-07-30 14:28:24 +02:00
Bjoern Schiessle 3640c99462 encrypt/decrypt file versions 2013-07-30 12:19:04 +02:00
Bjoern Schiessle ba18452eda only write keyfiles if it was a new file, otherwise nothing changed 2013-07-30 10:43:16 +02:00
Bjoern Schiessle 223d3c91d6 use path relative to data/ 2013-07-30 10:14:17 +02:00
Bjoern Schiessle a7a7ef2b3a improved error handling 2013-07-30 09:48:30 +02:00
Bjoern Schiessle b6fa0e4eef working decrypt files method 2013-07-29 17:06:05 +02:00
Björn Schießle e15e394fcc add ajax call to decrypt all files
Conflicts:
	apps/files_encryption/lib/crypt.php
2013-07-29 13:39:05 +02:00
Björn Schießle 2c8e5ec84f user interface to allow user to decrypt all his files once the encryption app was disabled
Conflicts:
	settings/templates/personal.php
2013-07-29 13:36:06 +02:00
Björn Schießle 87063918f2 remove wrong closing bracket 2013-07-05 16:05:05 +02:00
Björn Schießle 9575c2f37c added helper function to escape glob pattern
Conflicts:

	apps/files_encryption/lib/helper.php
2013-07-05 16:03:20 +02:00
Björn Schießle 15cb8e4efd only check for external mount points if the external storage app is enabled 2013-07-05 16:00:34 +02:00
Björn Schießle f9c337dd21 only escape glob pattern 2013-07-05 16:00:17 +02:00
Björn Schießle 93730a090b del share keys from correct location 2013-07-05 16:00:08 +02:00
Björn Schießle af2cd6f541 always return normalized path 2013-07-05 15:59:57 +02:00
Björn Schießle 3043dbfb95 delete file keys from the correct location 2013-07-05 15:59:46 +02:00
Björn Schießle eb2587a08f move isSystemWideMountPoint() to util.php 2013-07-05 15:59:29 +02:00
Björn Schießle f2de4cb342 some performance improvements, check for system wide mounts only once while writing share keys 2013-07-05 15:59:19 +02:00
Björn Schießle 2e56f0e2f8 fix path to OC_Mount_Config 2013-07-05 15:59:06 +02:00
Björn Schießle 3e4dcafa89 handle system wide mount points 2013-07-05 15:58:55 +02:00
VicDeo f67fc78531 Merge pull request #3899 from owncloud/encryption_check_php_version
check php version, the encryption app needs php >= 5.3.3
2013-07-04 06:53:17 -07:00
Björn Schießle 4c1820a2a1 Merge pull request #3858 from owncloud/more_ssl_error_messages
add openssl_error_string() output to the owncloud.log
2013-07-02 07:58:22 -07:00
Björn Schießle 4d4484fac1 Merge pull request #3870 from owncloud/reset_migration_status
introduce pre-disable-app hook and first usage in files_encryption
2013-07-02 07:26:48 -07:00
Thomas Müller a7f2563990 typo 2013-07-01 21:12:21 +02:00
Björn Schießle d5c4854708 cast result to bool 2013-07-01 17:18:16 +02:00
Björn Schießle 16a719173f add correct php version 2013-07-01 12:23:26 +02:00
Björn Schießle adcee5b695 check php version, the encryption app needs php >= 5.3.3 2013-07-01 12:16:36 +02:00
Björn Schießle 2e6ebe1ab4 fix function documentation 2013-06-27 14:14:25 +02:00
Björn Schießle c4aef89278 introduce pre-disable-app hook and use it for the encryption app to reset migration status if the app was disabled 2013-06-27 14:09:22 +02:00
Björn Schießle 5a20c8b66f add openssl_error_string() output to the owncloud.log 2013-06-26 15:51:22 +02:00
Jörn Friedrich Dreyer c79f7f4f3c fix numRows usage in files_encryption 2013-06-24 16:29:59 +02:00
Björn Schießle fe61230cc1 always have a defined return value 2013-06-19 16:55:31 +02:00
Björn Schießle e2e370f199 some more error messages 2013-06-19 15:58:34 +02:00
Björn Schießle 83d98e2d8b add some more error messages, in case something went wrong 2013-06-19 15:52:33 +02:00
Florin Peter 8566881758 fix for path_hash not unique as reported at #3641 2013-06-13 20:52:34 +02:00
Florin Peter 35da408222 fix memory problems as reported at #3620 2013-06-13 20:51:22 +02:00
Björn Schießle 7cfb0dc406 Merge branch 'master' into files_encryption_check_private_key
Conflicts:
	apps/files_encryption/appinfo/app.php
	apps/files_encryption/lib/util.php
2013-06-13 13:17:35 +02:00
Björn Schießle bc2862fcb9 Merge branch 'master' into files_encryption_upgrade_fix 2013-06-13 12:53:29 +02:00
Björn Schießle 77944cf7b8 fix typo in var name 2013-06-13 10:11:23 +02:00
Björn Schießle 27fcdb3af5 Merge branch 'master' into files_encryption_upgrade_fix
Conflicts:
	apps/files_encryption/tests/crypt.php
2013-06-12 20:53:45 +02:00
Björn Schießle c78a90fd54 use number of manipulated rows as idicator if it was possible to enter the migration mode 2013-06-12 12:21:11 +02:00
Björn Schießle 20ddd6e1c7 Merge branch 'master' into files_encryption_check_private_key
Conflicts:
	apps/files_encryption/tests/crypt.php
2013-06-11 15:19:02 +02:00
Björn Schießle 3ec6b19cdf use constants for different migration status 2013-06-11 13:07:39 +02:00
Björn Schießle 5fafd55108 make sure that only one process can enter the migration mode 2013-06-11 12:03:50 +02:00
Morris Jobke 1da112750e Merge pull request #3647 from owncloud/missing_backticks
add missing backticks all over the place
2013-06-10 05:15:07 -07:00
Björn Schießle 13017ce9e1 Merge branch 'master' into files_encryption_check_private_key
Conflicts:
	settings/ajax/changepassword.php
2013-06-10 12:12:07 +02:00
Jörn Friedrich Dreyer 124f34422c add missing backticks all over the place 2013-06-10 09:53:29 +02:00
Björn Schießle d7a9852f7b use pre_setPassword hook to update the encryption keys if the back-end doesn't support password change; improved output to let the admin know what happened 2013-06-06 13:32:02 +02:00
Florin Peter 14ac4fab05 better handling for http post 2013-06-04 00:41:47 +02:00
Florin Peter ef97481a0d changed redirect handling 2013-06-03 23:41:57 +02:00
Florin Peter dc8bcf0688 reformat code 2013-06-03 18:42:13 +02:00
Björn Schießle 471d2b732c introduce decryptPrivateKey() method which also checks if the result is a valid private key to avoid additional checks on various places 2013-06-03 14:19:31 +02:00
Florin Peter 46e5e9bd73 cleanup unused method legacyKeyRecryptKeyfile 2013-05-31 22:49:32 +02:00
Florin Peter a134ffcf2c code optimized and cleaned up unused vars 2013-05-31 16:52:33 +02:00
Florin Peter e9d1ea712c allow the user to login but do not allow upload and show error message on the web 2013-05-31 15:57:18 +02:00
Florin Peter 2e3bfdb12c check if the decrypted private key is valid on login and on read/write files 2013-05-31 13:58:58 +02:00
Florin Peter 1bfe975938 Merge branch 'master' into files_encryption_upgrade_fix
Conflicts:
	apps/files_encryption/lib/util.php
2013-05-31 12:58:12 +02:00
Florin Peter 96ef926161 normalize path to prevent following split to fail 2013-05-31 01:57:32 +02:00
Florin Peter 8e324aad38 fix re-encrypt legacy files 2013-05-31 01:36:49 +02:00
Florin Peter 986e9dd362 use legacyDecrypt to decrypt key file like the previous files_encryption 2013-05-31 01:35:48 +02:00
Florin Peter eaa4f92275 added our own file extension .part will not work here if we use file_get_contents so we used our own extension '.etmp' 2013-05-30 22:07:36 +02:00
Florin Peter 8c17f26226 fixed problems with file_get_contents and file_put_contents this problem was related to text editor with big text files 2013-05-30 01:13:22 +02:00
Florin Peter 313631edf6 Merge branch 'master' into file_encryption_external_storage_fixes
Conflicts:
	apps/files_encryption/hooks/hooks.php
2013-05-30 00:45:29 +02:00
Florin Peter 1202ab9995 Merge branch 'master' into file_encryption_external_storage_fixes 2013-05-29 19:19:40 +02:00
Florin Peter d265264542 fix for share folder on external storage 2013-05-29 19:11:39 +02:00
Björn Schießle b44192f366 check list of users with access to the file from the bottom to the top. This way we avoid calling getFileInfo() on every dir, which creates a lot of overhead, especially for external storages 2013-05-29 13:10:26 +02:00
Florin Peter efd629462e changes after review 2013-05-29 12:23:33 +02:00
Florin Peter c398fc59ad Merge branch 'master' into remove_unused_vars
Conflicts:
	apps/files_encryption/hooks/hooks.php
	apps/files_encryption/lib/proxy.php
	apps/files_encryption/lib/session.php
	apps/files_encryption/lib/stream.php
2013-05-29 09:21:00 +02:00
Florin Peter 71a532fc4d fixed if fopen returns false typically on external storage 2013-05-28 20:50:14 +02:00
Florin Peter 4b4b447e2a fixed missing convert to new session handler 2013-05-28 17:06:37 +02:00
Florin Peter 6ae7bde788 fixed encryption session namespace to avoid problems 2013-05-28 17:04:35 +02:00
Robin Appelman cc0cf93136 merge master into sessionclass 2013-05-28 14:55:42 +02:00