Commit Graph

182 Commits

Author SHA1 Message Date
Björn Schießle f30dd1557e more verbose error message 2013-07-04 14:50:07 +02:00
Björn Schießle 40e6ede6a2 improved error message 2013-07-02 10:14:33 +02:00
Björn Schießle 9512382ae0 fix error string 2013-07-01 12:24:21 +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 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 d10ad0d603 Squashed commit of the following:
commit 1345201c9da99a82f198e41fba24da6b0d7ae59a
Author: Björn Schießle <schiessle@owncloud.com>
Date:   Thu Jun 20 16:27:46 2013 +0200

    add l10n support

commit bf2c79c8de8710e839a4a55642a91874c374fa1c
Author: Björn Schießle <schiessle@owncloud.com>
Date:   Thu Jun 20 16:19:10 2013 +0200

    only init session if openssl extension is loaded

commit cbd52af6afbaa310bb1a534db64ff5e476dfd5d7
Author: Björn Schießle <schiessle@owncloud.com>
Date:   Thu Jun 20 12:25:40 2013 +0200

    first disable app and than show error page

commit 55baf593179c433642de59552592e6b0f1932880
Author: Björn Schießle <schiessle@owncloud.com>
Date:   Thu Jun 20 12:17:34 2013 +0200

    typo fixed

commit 1d9bef0b058e7cc3d511b81ae12d5a07660c75b2
Author: Björn Schießle <schiessle@owncloud.com>
Date:   Thu Jun 20 12:15:40 2013 +0200

    move dependency check to the encryption app

commit c186e95da526f0470e20f014f1bd9513db5518ff
Author: Björn Schießle <schiessle@owncloud.com>
Date:   Thu Jun 20 11:13:11 2013 +0200

    make sure that openssl is installed and loaded
2013-06-21 10:37:51 +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 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 5fafd55108 make sure that only one process can enter the migration mode 2013-06-11 12:03:50 +02: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
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 dc8bcf0688 reformat code 2013-06-03 18:42:13 +02:00
Björn Schießle b02f4dc62c $session->setPrivateKey expects only one parameter 2013-06-03 15:26:58 +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 8761242f52 Merge branch 'master' into files_encryption_upgrade_fix
Conflicts:
	apps/files_encryption/appinfo/app.php
2013-05-31 20:34:43 +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 88d74c33af Merge branch 'master' into files_encryption_fs_loaded_fix 2013-05-31 12:49:46 +02:00
Florin Peter 4a0e69f941 fix login errors while filesystem is not loaded 2013-05-31 11:55:40 +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 6d94b393bf fix share and un-share for single file 2013-05-30 01:38:11 +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
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 6ae7bde788 fixed encryption session namespace to avoid problems 2013-05-28 17:04:35 +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 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 6c8de5ae6d fixes after review from @DeepDiver1975 2013-05-23 23:56:31 +02:00
Florin Peter f2b1158add improved tests 2013-05-20 23:44:10 +02:00
Florin Peter 1c8e5d6873 added test for failed sharing 2013-05-20 21:46:28 +02:00
Florin Peter 1fa2f19ee4 removed dead code for delShareKey 2013-05-20 21:24:39 +02:00
Florin Peter 6980f59b2f fixed typos 2013-05-18 21:12:53 +02:00
Björn Schießle eaa61b8539 fix migration to new encryption 2013-05-17 17:29:32 +02:00
Björn Schießle bf04a21973 set migration status after successful upgrade 2013-05-17 13:16:52 +02:00
Björn Schießle ca6a77d39b upgrade from old encryption to the new one needs to generate share keys too 2013-05-17 11:15:36 +02:00
Björn Schießle 9d1e60325c allow admin to recover users files in case of password lost 2013-05-16 14:53:04 +02:00
Florin Peter c651950a17 fix for re-share and removed check if file exists because we are sometime into a pre_put_contents hook 2013-05-16 00:34:45 +02:00
Florin Peter ec2e193a44 removed unused code 2013-05-15 21:01:03 +02:00
Florin Peter 63a790b415 fix for broken tests 2013-05-15 14:33:08 +02:00
Björn Schießle 5b160edebb check if the user knows the correct recovery password before changing the recovery key settings 2013-05-15 14:02:13 +02:00
Florin Peter 8776000754 fix for move file to an empty folder 2013-05-14 23:19:16 +02:00
Florin Peter a4e9e2fc79 added post_deleteUser hook for cleanup public key 2013-05-13 22:49:27 +02:00
Florin Peter b2d021b2a5 added post_createUser hook 2013-05-13 22:34:11 +02:00
Björn Schießle 2f4ba9d1e8 if file was shared to user than userIds is just the users Id 2013-05-13 15:45:30 +02:00
Björn Schießle d1e2e47592 generate random key name for share key to avoid name conflicts 2013-05-13 15:15:35 +02:00
Björn Schießle a6ef25ba08 use preShare hook only to check if all pub keys are available and the postShare hook to finaly update the shareKeys if the file was shared successfully 2013-05-13 14:28:45 +02:00
Florin Peter 8e004cc3e1 added handling for sharing with link
NOTE: only encryption work atm
2013-05-11 01:03:43 +02:00
Florin Peter 33e0dfeecb sharing with group should work now 2013-05-11 00:25:32 +02:00
Sam Tuke 101e037529 Fixed bugs with pre_share hook usage
Made sure new user being shared to is added to array of sharing users
2013-05-09 14:43:06 +02:00
Sam Tuke 28866de44b Added pre_share hook
Switched it for post_share hook in encryption hooks
Stop a file from being shared if the encryption procedure fails for any users
2013-05-08 16:22:08 +02:00
Sam Tuke 763c8f78ed Made code formatting of new methods more consistent 2013-05-07 17:16:16 +02:00
Florin Peter 5610429a02 handling for re-share and re-unshare should work now 2013-05-05 23:41:42 +02:00
Sam Tuke c8946ea608 Added support for user-specified password for adminRecovery account in admin settings page
Made encryptAll() (file migration for unencrypted + legacy encrypted files) run only on first login for each user (status stored in DB)
Made recoveryAdmin user member of 'admin' user group automatically
Set recoveryadmin settings to only display on user settings if enabled by an admin
Updated encryption db xml schema
2013-05-04 16:14:38 +02:00
Florin Peter 9605d14a17 fixed re-share problems 2013-05-04 03:37:22 +02:00
Florin Peter d3db4ee103 fixed re-share problems 2013-05-01 11:04:40 +02:00
Florin Peter 06a5cf70f7 fix duplicate login behavior if user not setup 2013-05-01 02:01:16 +02:00
Florin Peter 3c100af132 revert changes to fbbc76f281 because master is very unstable right now 2013-05-01 01:38:06 +02:00
Florin Peter 5deba29bdf fixed public-keys mount point error 2013-05-01 00:09:55 +02:00
Florin Peter c52fe12537 fixed missing parameter 2013-04-29 23:37:08 +02:00
Florin Peter d40ffc5aac added filesystem post rename hook 2013-04-27 20:18:05 +02:00
Florin Peter 11d0eef8cc fixed webdav errors, now webdav up - and downloads are full working 2013-04-25 15:21:11 +02:00
Björn Schießle bcb2e87846 check if the item source was shared to me to decide if it is a re-share or not. Re-sharing of encrypted files should work now, we might still need to test some corner cases 2013-04-22 14:13:59 +02:00
Björn Schießle 8a46e809f0 remove util::getPaths(), this function was broken and is replaced my util::getAllFiles(). When unsharing a folder only remove the share key for sub files if the user really no longer have access to the file. Can happen that a sub-file/-folder is shared to a group the user is a member of or explicitly once more to the same user 2013-04-22 12:22:07 +02:00
Björn Schießle a2ba3c8a43 fix sharing of folders. First we need to collect all files. Than we need to find all users with access to the file because this can vary from file to file and than we can encrypt it for all recipients 2013-04-22 11:58:39 +02:00
Björn Schießle 12785b93f1 make sure that all share keys get deleted if a file/folder gets unshared from a user/group 2013-04-19 13:17:08 +02:00
Björn Schießle 5a7a64df08 Session needs filesystem view as parameter; use getSharingUsersArray(), this function also adds the owner to the list 2013-04-18 20:00:45 +02:00
Sam Tuke f378a7f572 Fixed proxy class handing of read / write files
Various work on other classes
2013-04-16 13:22:16 +02:00
Björn Schießle 98de385b8a add $view as parameter for session constructor 2013-04-10 15:08:28 +02:00
Sam Tuke 14451bdaf0 Development snapshot;
Fixed errors from Hooks::login();
Work on enable/disable recoveryAdmin for lost passwords in settings page (template, ajax, js);
Work on fixing sharing files to users (still broken);
2013-03-29 21:11:29 +01:00
Sam Tuke ff6f52d5ec Merge branch 'master' into files_encryption
Conflicts:
	apps/files_encryption/hooks/hooks.php
	apps/files_encryption/lib/crypt.php
	apps/files_encryption/lib/keymanager.php
2013-03-28 18:39:12 +01:00
Sam Tuke fd4e59b748 Added method for setting user keyfile recovery preference
Fixed method for checking if keyfile recovery is enabled for a user
Added unit test for above 2 methods
Made proxy{} always use sharing
Made proxy{} work regardless of sharing API enabled or not
Implemented proxy-based sharing to admin if user keyfile recovery is enabled
2013-03-20 19:26:59 +01:00
Sam Tuke c89fd49870 Improved folder creation code
Created stub method for checking user pwd recovery preference from db
Added pwd recovery column to db
Added comments
2013-03-19 19:53:15 +01:00
Sam Tuke 69bc42f920 Deleting encrypted files with missing keyfiles/shareKeys now succeeds 2013-02-27 16:15:03 +00:00
Sam Tuke 14eae441eb Unsharing a single file now works 2013-02-27 15:31:23 +00:00
Sam Tuke aae9b0b1bf Started work on post unshare hook
Development snapshot
2013-02-26 18:33:31 +00:00
Sam Tuke 2d267501a1 Development snapshot
Added comments
Added methods
2013-02-20 19:18:00 +00:00
Sam Tuke 1b880f2f96 Moved dependencies out of Crypt methods (encKeyfileToMultipleUsers)(DI)
Fixed bug preventing sharing with users other than 'ownCloud'
Added comments
Moved functionality into filterShareReadyUsers()
Other changes
2013-02-19 19:16:50 +00:00
Björn Schießle 109fee7673 remove todo, it is already solved 2013-02-19 14:47:45 +01:00
Björn Schießle 9356f9a6bf add post_unshareALll hook, update recursively all keyfiles if a folder was shared/unshared 2013-02-13 17:23:27 +01:00
Björn Schießle 4952dfe956 add post_unshare hook, also add public link shares to the list of user with access to a file 2013-02-13 14:56:39 +01:00
Björn Schießle a692264fa4 add option to keep duplicates in the list of users with access to a file, e.g. for the unshare operation we need to know if access was granted more than once, for example as group share and as individual share 2013-02-12 17:00:33 +01:00
Björn Schießle d1bbb30385 also find users with access to the file if a folder above the actual file was already shared 2013-02-12 16:48:04 +01:00
Björn Schießle 1e5d03da80 use right location of the file is the source and not the target it is shared to 2013-02-12 12:45:54 +01:00
Björn Schießle 8eef919a75 take group shares into account if we retrieve the list a all recipients 2013-02-12 12:08:34 +01:00
Björn Schießle 5a64c96d06 go back to preUnshare hooks since sharing doesn't trigger post unshare hooks 2013-02-11 15:13:42 +01:00
Björn Schießle 9b49832090 unshare all should work the same like unshare single users 2013-02-11 13:50:11 +01:00
Björn Schießle 3e3cee98c8 - moved the enrcyption of the filekey ifg file gets shared from the post shared hook to
Crypt::encKeyfileToMultipleUsers() because this can be reused if files get unshared
- switch from preUnshare hook to postUnshare hook because afterward we can simply get the
  updated list of users with access to the file and call Crypt::encKeyfileToMultipleUsers()
2013-02-11 13:28:37 +01:00
Björn Schießle 2787aafae6 added some TODOs 2013-02-11 12:12:21 +01:00
Sam Tuke 92f06243be Implementing sharing support
New file-specific methods in lib/public/share
Changes to how keyfiles are stored
2013-02-11 10:21:23 +00:00
Sam Tuke b3e59ca1e3 Work on post_share hook for files_encryption
New method in OCP\Share{}:: getUsersSharingFile()
Development shapshot
2013-02-09 18:39:32 +00:00
Robin Appelman ad360296b9 Update tests and apps to the new \OC\Files\Filesystem::init signature 2013-02-11 11:06:09 +01:00
Thomas Müller 7f58e27495 cleanup - more to come after 2013-02-09 18:01:38 +01:00
Sam Tuke 2b07afc8ab Removed debugging code 2013-02-06 17:59:47 +00:00