Commit graph

557 commits

Author SHA1 Message Date
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
Florin Peter
09b54ccb2b Merge branch 'master' into remove_unused_vars
Conflicts:
	apps/files_encryption/lib/session.php
	apps/files_encryption/lib/util.php
2013-05-28 11:00:49 +02:00
Florin Peter
0041711fe3 fix for undefined index 2013-05-28 09:36:14 +02:00
Florin Peter
6f9e425939 fix for losing private key while being logged in and accessing a public link 2013-05-28 09:27:04 +02:00
Robin Appelman
9c99048429 fix syntax error 2013-05-28 01:31:26 +02:00
Robin Appelman
44f9af5a7f Use the new session wrapper 2013-05-28 01:04:09 +02:00
Florin Peter
e1e1c58969 changed to public log api 2013-05-27 20:51:52 +02:00
Florin Peter
7224fc98b2 replace == with === and replace != with !== 2013-05-27 20:44:38 +02:00
Björn Schießle
2c3c60c1af Merge branch 'master' into remove_unused_vars
Conflicts:
	apps/files_encryption/hooks/hooks.php
	apps/files_encryption/lib/crypt.php
	apps/files_encryption/lib/proxy.php
2013-05-27 18:09:35 +02:00
Björn Schießle
4c05259ccf legacyBlockDecryprt() needs to be public 2013-05-27 17:35:38 +02:00
Björn Schießle
df22a7c495 make legacyDecrypt() private als always call legacyBlockDecrypt() from other classes 2013-05-27 17:35:28 +02:00
Björn Schießle
8b35578833 fix migration from old to new encryption 2013-05-27 17:35:06 +02:00
Florin Peter
5d32e214b7 reformat code 2013-05-27 17:26:58 +02:00
Florin Peter
690bf9b8c4 Merge branch 'master' into remove_unused_vars
Conflicts:
	apps/files_encryption/lib/util.php
2013-05-27 17:26:35 +02:00
Björn Schießle
1a3f7891ea remove unused varaibles 2013-05-27 15:31:26 +02:00
Florin Peter
80433fc4c4 Merge branch 'master' into file_encryption_util_is_error
Conflicts:
	apps/files_encryption/lib/util.php
2013-05-27 14:41:53 +02:00
Björn Schießle
5e243b48bb Merge pull request #3481 from owncloud/firsttime_enc
fix first time encryption after app was enabled
2013-05-27 05:17:31 -07:00
Florin Peter
89f0c8f39d added check by numRows()
changed to public api where it was possible
reformat code to comply with the coding guidelines
2013-05-27 12:41:55 +02:00
Florin Peter
788c5940f0 fixed error rising from fetchRow 2013-05-25 23:20:55 +02:00
Florin Peter
9a6cd89a69 added OC_DB::isError and logging 2013-05-25 21:33:05 +02:00
Björn Schießle
f56802a437 no use the recoveryPassword var instead of accessing the POST array 2013-05-24 18:37:58 +02:00
Björn Schießle
5ce4149e75 fix first time encryption after app was enabled 2013-05-24 17:35:00 +02:00
Florin Peter
6c8de5ae6d fixes after review from @DeepDiver1975 2013-05-23 23:56:31 +02:00
Björn Schießle
7b07168c46 code clean up; nicer solution to solve the public link share problem if a user is logged in 2013-05-23 21:18:31 +02:00