Commit graph

219 commits

Author SHA1 Message Date
Sam Tuke
293a0f4d32 Started rewrite of cryptstream class (renamed to stream)
Added unit tests
Fixed decryption of user private key at login
Added functionality to keymanager
2012-08-16 19:18:18 +01:00
Jenkins for ownCloud
1e6dc67517 [tx-robot] updated from transifex 2012-08-16 02:09:15 +02:00
Sam Tuke
f11f524dfa working on streaming decrypted content
applied some dependency injection to keymanager.php
2012-08-15 18:49:53 +01:00
Sam Tuke
b883bb6b42 Converted test to PHPUnit format 2012-08-15 14:52:03 +01:00
Sam Tuke
d725d07219 added two (currently passing) unit tests 2012-08-15 14:13:03 +01:00
Sam Tuke
ea236e83d7 added first version of keymanager PHPUnit test files 2012-08-15 14:01:43 +01:00
Bjoern Schiessle
d039f11905 provide ocs calls and keymanager functions to get/set both keys (private, public) of a user together 2012-08-15 13:18:11 +02:00
Bjoern Schiessle
92ec88c7bc move chane password code from keymanager.php to crypt.php 2012-08-15 09:54:21 +02:00
Jenkins for ownCloud
da3896808a [tx-robot] updated from transifex 2012-08-15 02:07:20 +02:00
Sam Tuke
6ce315fe58 added wrapper method in crypt class for encrypting asymmetric and symmetric simultaneously
fixed bugs with keymanager integration
added unit tests
2012-08-14 19:06:56 +01:00
Jenkins for ownCloud
19446fb22f [tx-robot] updated from transifex 2012-08-13 23:19:31 +02:00
Thomas Mueller
53f117c01a l10n directories have been missing 2012-08-13 23:10:10 +02:00
Bjoern Schiessle
b1f6bb36b0 write error to OC_Log 2012-08-13 13:29:22 +02:00
Bjoern Schiessle
34f93ac765 check if user has write access to a given file before updating the filekey 2012-08-13 11:31:15 +02:00
Bjoern Schiessle
3ec6dc56c9 ToDo item removed 2012-08-10 12:37:04 +02:00
Bjoern Schiessle
e4450d1035 execute file hooks only if server side encryption is enabled 2012-08-10 12:27:09 +02:00
Bjoern Schiessle
12628be38b only call proxies for server side encryption 2012-08-10 11:44:38 +02:00
Bjoern Schiessle
7e3f5492cc typo fixed 2012-08-09 17:56:43 +02:00
Bjoern Schiessle
368ade6b2f code cleanup 2012-08-09 17:25:57 +02:00
Bjoern Schiessle
bd7d566733 change private key passphrase; disable file proxy for keymanager operations 2012-08-09 15:45:34 +02:00
Bjoern Schiessle
a969c23e59 disable admin choice of encryption mode once a decision was taken 2012-08-09 14:25:09 +02:00
Bjoern Schiessle
800942ece7 change key password when user switches from client to server side encryption.
make use of the keymanager class in changekeypasscode()
2012-08-09 13:47:27 +02:00
Bjoern Schiessle
5a261b5b8f ask user for passwords when switching from client to server side encryption 2012-08-09 12:19:51 +02:00
Bjoern Schiessle
a7cbc9e713 lock system wide encryption settings once the admin took a decision 2012-08-08 18:27:12 +02:00
Bjoern Schiessle
5983643abd fix setFileKey() call in updateKeyfile hook 2012-08-08 15:32:05 +02:00
Bjoern Schiessle
dc596a72c3 remove function which is no longer needed 2012-08-08 14:20:29 +02:00
Bjoern Schiessle
d4974b6d4a set default dependencies in keymanager.php
fix calls in ocs.php
2012-08-08 14:15:35 +02:00
Bjoern Schiessle
5bb3ea9740 define default properties in keymanager.php 2012-08-08 12:13:14 +02:00
Bjoern Schiessle
773d7b119d OCS api calls cleanup 2012-08-03 13:52:41 +02:00
Bjoern Schiessle
a0b2474019 code cleanup and TODOs added 2012-08-03 12:21:49 +02:00
Bjoern Schiessle
bed05f0302 only force re-login if server-side encryption is enabled 2012-08-03 11:59:32 +02:00
Bjoern Schiessle
d5808f07ca return a list of all public keys for a given file 2012-08-03 11:49:55 +02:00
Bjoern Schiessle
19b3109655 code cleanup 2012-08-02 13:55:23 +02:00
Bjoern Schiessle
5996ea735a remove debug output 2012-08-02 10:59:06 +02:00
Bjoern Schiessle
6b058cd359 allow user to choose encryption mode 2012-08-02 10:40:32 +02:00
Sam Tuke
c4d1ad1b7d Made dependencies of Kaymanager::setFileKey() explicit using dependency injection 2012-08-01 14:11:41 +01:00
Bjoern Schiessle
a7f3a67bc2 get settings from DB and check the right checkbox in the settings 2012-08-01 10:37:21 +02:00
Sam Tuke
82f5f73dff Merge commit '84fd62b13047cb756d9f39c192e17fd5f2179f83' into files_encryption
Conflicts:
	apps/files_encryption/lib/crypt.php
2012-07-31 19:38:28 +01:00
Sam Tuke
84fd62b130 Implemented writing of keyfiles and directory hierarchy in proxy class
Added crypt::findFiles() method for finding different types of files, ready for batch encrypting / decrypting
Added comments to postFopen in proxy class
2012-07-31 19:35:36 +01:00
Sam Tuke
eebf76d344 Implemented writing of keyfiles and directory hierarchy in proxy class
Added crypt::findFiles() method for finding different types of files, ready for batch encrypting / decrypting
Added comments to postFopen in proxy class
2012-07-31 19:28:11 +01:00
Bjoern Schiessle
f6863f9e51 get encryption mode from the settings 2012-07-31 16:52:21 +02:00
Bjoern Schiessle
e4e6574e42 allow admin to choose between client and server side encryption 2012-07-31 16:37:37 +02:00
Bjoern Schiessle
9bab06537c update file encryption key over webdav properties for client side encryption 2012-07-31 15:03:28 +02:00
Bjoern Schiessle
ee15c40b14 comment added 2012-07-30 12:43:17 +02:00
Bjoern Schiessle
23391b3694 get/set key files, take shared files into account 2012-07-30 12:38:38 +02:00
Bjoern Schiessle
f752a27605 write keyfiles to server 2012-07-27 14:00:41 +02:00
Bjoern Schiessle
931c4695a6 run setup routine only for server side encryption 2012-07-27 13:58:58 +02:00
Bjoern Schiessle
bb229f7291 write private/public key from the client to the server 2012-07-26 17:19:55 +02:00
Bjoern Schiessle
e5c84488ff Merge branch 'files_encryption' of gitorious.org:owncloud/owncloud into files_encryption
Conflicts:
	apps/files_encryption/lib/keymanager.php
2012-07-26 14:06:39 +02:00
Bjoern Schiessle
bdb406916c fixed path for filesystem view 2012-07-26 13:49:22 +02:00
Bjoern Schiessle
3ab4ddd1da function to ask for the encryption mode (server side or client side).
Needs to be implemented and integrated into the settings.
2012-07-26 13:47:43 +02:00
Sam Tuke
9f51841c57 Mainly work on implementing new encryption system (+ keyfile handling) into proxy classs 2012-07-25 18:28:56 +01:00
Sam Tuke
adf5c953dd Fixed use of OCFSV in getPrivateKey() 2012-07-25 16:56:52 +01:00
Sam Tuke
e6de086fb6 Fixed various bugs in hooks class
Fixed documentation syntax in keymanager
2012-07-25 16:51:48 +01:00
Sam Tuke
66b461629b Started implementation of new encyryption classes into the encryption proxy 2012-07-25 16:26:03 +01:00
Bjoern Schiessle
6d1ed388c0 keymanager class for basic operations to store and retrieve keys 2012-07-25 17:01:11 +02:00
Sam Tuke
d766ca8b19 Changed util class methods to use / create public keys in single shared public-keys directory, and group encryption-related user files 2012-07-25 15:33:25 +01:00
Sam Tuke
9368ea73c8 added tests and methods relating to handling of legacy keys 2012-07-25 12:38:40 +01:00
Sam Tuke
9216289856 Wrote new methods for testing if a file is encrypted using AES or Blowfish
Added more unit tests for crypt class
Added new method for generating 16 character pseudo-random initialisation vectors
Started writing new methods for handling legacy keys and en/de/re cryption
Added comments to lib/filecache.php explaining expected $path type
2012-07-24 17:57:20 +01:00
Robin Appelman
c9be9ab251 remove unused variables 2012-07-20 18:56:18 +02:00
Sam Tuke
d294e77721 Development snapshot:
- Added methods for sealing data with multiple keys
- Added method for encrypting data, generating iv and keyfile, and returning both
- Added 6 unit test cases (containing 12 tests) for Crypt class
- Commented out old unit tests for now
2012-07-18 18:52:00 +01:00
Sam Tuke
283561823f Added methods for handling encrypted file + iv content
Improved IV generation
2012-07-17 19:15:59 +01:00
Sam Tuke
6af99f3a09 Development snapshot:
Rewrote crtpt class as Util, Hooks, and Crypt
Switched blowfish for openssl with AES
Added setup() method for creating user keys and directory structure
Many other changes complete and in progress
2012-07-11 17:51:27 +01:00
Sam Tuke
91da4b05b7 fixed typos 2012-07-10 15:51:57 +01:00
Robin Appelman
252453cd34 fix encryption test cases when not logged in 2012-06-30 01:05:18 +02:00
Robin Appelman
49033ff8e0 dont change the encryption key during the test case 2012-06-21 18:53:10 +02:00
Robin Appelman
6707e4187e only use 1 fsview when initializing encryption 2012-06-21 18:35:12 +02:00
Robin Appelman
56de98ed8c fix saved file size for uploaded files 2012-06-21 18:22:18 +02:00
Robin Appelman
d0455c5819 truncate decrypted files based on filelength 2012-06-21 17:38:00 +02:00
Robin Appelman
debd9c8dfb fix problem with encryption flag not being saved correctly in the filecache 2012-06-18 18:18:10 +02:00
Robin Appelman
195c37f88a fix for encryption binary files 2012-06-16 01:31:03 +02:00
Robin Appelman
03951ccc6b fix encryption proxy for updated filecache 2012-06-15 23:11:55 +02:00
Robin Appelman
19bfe21401 add binary test case for encryption 2012-06-15 23:11:33 +02:00
Robin Appelman
f06c08a637 cleanup oc_filecache, splitting it in several parts and using the new hasUpdated 2012-06-15 19:56:15 +02:00
Robin Appelman
601bac746d use absolute path for file proxies 2012-06-09 17:34:13 +02:00
Sam Tuke
e93bb5135d Applied fix from kalassico for "Chiper text must be a string" bug (http://forum.owncloud.org/viewtopic.php?f=3&t=2586&p=5094) 2012-05-31 12:25:07 +01:00
Frank Karlitschek
a945fa10a6 update copyright 2012-05-26 19:14:24 +02:00
Frank Karlitschek
8cd7410447 encryption is not yet compatible with ldap 2012-05-22 12:15:51 +02:00
Frank Karlitschek
2f8f7501ef add warning 2012-05-20 10:58:20 +02:00
Frank Karlitschek
9e73524168 mark the apps as part of the shipped package and increase the requirement to ownCloud 4 2012-05-18 16:06:57 +02:00
Thomas Mueller
583dce5276 removing executable bit - again 2012-05-15 00:52:00 +02:00
Robin Appelman
6779f28af4 cache app types during install or update 2012-05-14 22:49:31 +02:00
Robin Appelman
736739bbbd load remote and public paths from info.xml during upgrade instead of setting them every time 2012-05-11 20:33:56 +02:00
Frank Karlitschek
1945cd6946 ported the oc_template class 2012-05-06 23:00:36 +02:00
Robin Appelman
70cb053e6b improve cryptstream fro writing non-chunksized data 2012-05-05 16:49:48 +02:00
Frank Karlitschek
9bcc5c11a8 porting the hooks and starting with the templates 2012-05-05 10:18:45 +02:00
Frank Karlitschek
ff66600bc0 port appconfig 2012-05-02 14:11:29 +02:00
Frank Karlitschek
8c7f854671 move all the files stuff into a files class 2012-05-02 12:54:31 +02:00
Frank Karlitschek
2fe646dcec ported the oc_app calls 2012-05-02 00:50:26 +02:00
Frank Karlitschek
93b63cf375 ported the rest of the OC_Helper calls 2012-05-02 00:20:45 +02:00
Frank Karlitschek
1a2bbd2ee4 ported addSyript and other small stuff 2012-05-01 20:03:41 +02:00
Frank Karlitschek
254b8b9506 porting of OC_User to public API complete.
What better thing to do during a long train ride than refactoring ;-)
2012-05-01 19:04:20 +02:00
Frank Karlitschek
70cea18cce ported getUser 2012-05-01 18:50:31 +02:00
Frank Karlitschek
5bf69237b2 ported isLoggedIn 2012-05-01 18:46:15 +02:00
Frank Karlitschek
d0554bef06 finish porting of the LOG calls or the apps to the public api 2012-05-01 17:38:27 +02:00
Frank Karlitschek
e8ec999090 port to use the new public api 2012-05-01 09:49:22 +02:00
Robin Appelman
5c3ea14819 fix mimetypes of encrypted files 2012-04-25 00:12:12 +02:00
Robin Appelman
c5b31b001a add the option to disable file encryption while still being able to decrypt existing files 2012-04-22 21:27:20 +02:00
Robin Appelman
d1ad4dc8d6 add test cases for cryptstream 2012-04-18 20:54:28 +02:00
Robin Appelman
b39c3d4c4e make use of the fact that stream_read will always read 8192 bytes for encryption stream
https://bugs.php.net/bug.php?id=21641
2012-04-18 20:54:28 +02:00
Robin Appelman
26e9a0dd13 bugfixes for encryption library and test cases 2012-04-18 20:54:28 +02:00
Jan-Christoph Borchardt
7ddd043427 renamed extention to extension, also now only showing lowercase 2012-04-15 13:34:30 +02:00
Robin Appelman
926b2b78fe keep version numbers in their own files for faster reading 2012-04-14 16:29:11 +02:00
Robin Appelman
523fdda399 add the option to only load apps of a specific type 2012-03-30 14:39:07 +02:00
Georg Ehrke
5b03de9a66 fix comments in crypt lib 2012-03-21 17:43:09 +01:00
Robin Appelman
8148480cfe dont enable encryption on default 2012-02-26 16:49:57 +01:00
Robin Appelman
01fcc080bb dont set the encryption flag for existing non-encrypted files 2012-02-26 15:56:47 +01:00
Robin Appelman
ff0a542e48 always set encrypted flag when overwriting a file we should encrypt 2012-02-26 15:32:45 +01:00
Robin Appelman
d4d09b06f8 merge master into encryption 2012-02-26 14:21:06 +01:00
Robin Appelman
814bc2fd2b make encryption filetype blacklist configurable 2012-02-22 22:20:46 +01:00
Robin Appelman
ed0c99ef14 make sure we always have the encryption key unlocked 2012-02-22 15:18:22 +01:00
Robin Appelman
c20319d377 fix incorrect information in the filecache when using encryption 2012-02-21 20:48:49 +01:00
Robin Appelman
d9c7e4c333 proper mimetypes for encrypted files 2012-02-21 20:48:48 +01:00
Robin Appelman
c121a1a1e7 implement file_put_contents with stream data using fopen 2012-02-21 20:48:48 +01:00
Robin Appelman
6a8364c3ff rework the way file_put_contents is handeled 2012-02-21 20:48:48 +01:00
Robin Appelman
b3a974d8bb only trigger hooks for the default filesystem view 2012-02-21 20:48:48 +01:00
Robin Appelman
f1cbb9effc initial integration of encryption 2012-02-21 20:48:48 +01:00
Robin Appelman
e2b4954176 simple file encryption wip 2012-02-21 20:48:48 +01:00
Robin Appelman
3d67cd51c2 encryption proxy wip 2012-02-21 20:48:47 +01:00