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
Florin Peter
42b4963dd0
moved enable and disable recovery to Helper class for unit tests
2013-05-17 00:58:41 +02:00
Florin Peter
3793e4d2d6
fix for recover files in subfolder
2013-05-16 22:57:55 +02:00
Florin Peter
d40d6aa358
fix typo in addRecoveryKeys
2013-05-16 22:39:09 +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
c0c4fe5fd3
fix if file is not yet created
2013-05-16 00:31:17 +02:00
Florin Peter
ec2e193a44
removed unused code
2013-05-15 21:01:03 +02:00
Björn Schießle
57c0a7ed69
add recovery key to all files if the user enabled the feature and removes them again on disable
2013-05-15 17:56:45 +02:00
Björn Schießle
64d94c540a
enable admin to change the recovery password
2013-05-15 16:12:20 +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
499fe6ca8e
disabled FileProxy in Keymanager::getPrivateKey
2013-05-15 02:36:23 +02:00
Florin Peter
ddedf20106
prevent of infinite loop with FileProxy
2013-05-15 02:34:36 +02:00
Florin Peter
0a7aa6e8cd
fix for Allowed memory size of xx bytes exhausted while reading big files
2013-05-14 22:32:39 +02:00
Florin Peter
84c56a5d56
fix for zero size files
2013-05-14 21:29:24 +02:00
Florin Peter
517105660d
fix for public link share
2013-05-14 20:11:07 +02:00
Florin Peter
81ae4cb5d0
added test for public shared file via link
2013-05-14 00:00:20 +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
Florin Peter
61ed347d26
added handling for public file access via files_sharing link
2013-05-13 21:24:59 +02:00
Björn Schießle
aa3eb6bb5b
don't handle public share keys in lib/public/share.php but in apps/files_encryption/lib/util.php instead
2013-05-13 17:40:57 +02:00
Björn Schießle
517efdf952
don't create a recovery user, only generate recovery key similar to the public link share key
2013-05-13 17:26:21 +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
e88595638c
fix for webdav
2013-05-11 00:23:30 +02:00
Florin Peter
e25aa78caf
added helper class and moved hook registration to it
2013-05-09 19:36:18 +02:00
Sam Tuke
163fe64016
Fixes to code formatting and indentation
2013-05-09 18:24:07 +02:00
Sam Tuke
92e28839ff
Improvements to code formatting & indentation
2013-05-09 18:16:59 +02:00
Sam Tuke
3003dd46d1
Implemented initial recoveryAdmin functionality in crypto file proxy
2013-05-09 18:09:20 +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
Florin Peter
8b54553872
fix for wrong file infos
2013-05-07 13:42:49 +02:00
Florin Peter
a9649713d3
fix empty path
2013-05-07 13:42:08 +02:00
Florin Peter
fe6d12ddec
fix file info put on stream
2013-05-06 21:15:25 +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
Sam Tuke
ba29147e34
Fixed recoveryadmin settings in user and admin settings pages (js, templates, ajax)
...
Renamed recovery methods in Util{} for clarity
Added note about bug causing slow page load and redundant keypair generation
recoveryAdmin functionality not yet complete
2013-05-01 19:21:01 +02:00
Florin Peter
d3db4ee103
fixed re-share problems
2013-05-01 11:04:40 +02:00
Florin Peter
fbbc76f281
fix for sharing files
2013-04-30 20:44:42 +02:00
Florin Peter
27ce7845b4
fixed tests, now tests should work via autotest.sh
...
files_encryption app is now enabled in enable_all.php
2013-04-30 01:35:46 +02:00
Florin Peter
4a63faf64b
speed improvement
2013-04-29 01:43:59 +02:00
Florin Peter
f9760f6521
improved file size
2013-04-27 23:34:25 +02:00
Florin Peter
7f1f0464a8
added self healing if file get remove from file cache
2013-04-27 23:02:42 +02:00
Florin Peter
770aebfb9e
check if file exists before fixing file size
2013-04-27 20:22:38 +02:00
Florin Peter
ba080e0d2e
removed preRename and moved postRename to hooks.php
...
added postWrite and postTouch to fix file size and sharing keys
2013-04-27 20:21:46 +02:00
Florin Peter
05523b76c0
fix reusing keys
...
fix webdav part files
2013-04-27 20:18:57 +02:00
Florin Peter
813641e6e8
improved file size
...
created new method fixFileSize in Util so it can be used with files_trashbin
2013-04-27 00:05:20 +02:00
Florin Peter
d017bbb065
fix share for renamed or moved files
2013-04-25 23:24:07 +02:00
Florin Peter
8ee7959092
implement postRename
...
@samtuke no need anymore for fixPartialFilePath this is now handled by rename
share-keys are now handled properly
webdav .part files are handled properly
2013-04-25 22:49:47 +02:00
Florin Peter
328dea93c7
webdav fix for file chunking
...
upload with big files should now work
@samtuke and @schiesbn we need a solution for the cache files created by webdav
2013-04-25 20:23:54 +02:00
Florin Peter
fac288a4ad
added unencrypted file size to file cache
...
improved file size calculation and speeds
2013-04-25 15:20:06 +02:00
Florin Peter
170d09203f
fixed file_proxy handling
2013-04-25 14:56:11 +02:00
Florin Peter
f8819f54c2
Merge branch 'files_encryption' of https://github.com/owncloud/core into files_encryption
2013-04-23 19:09:01 +02:00
Florin Peter
baa6fd639f
improved file size handling
2013-04-23 19:08:52 +02:00
Sam Tuke
b7d8da87d0
Development snapshot
...
working on stream handling (large files) in Util->encryptAll()
2013-04-23 18:41:01 +02:00
Sam Tuke
c6bfc7315b
Stream writing improved: working with dolphin + kate, gedit & nautilus give errors, suspect those issues are clientside
...
.part file paths fixed in stream{}
2013-04-23 17:36:35 +02:00
Sam Tuke
a1d241783e
Updated buglist
2013-04-23 14:12:28 +02:00
Florin Peter
8ab9433fdf
fix wrong file path in proxy
2013-04-22 18:54:23 +02:00
Florin Peter
2827004634
Merge branch 'files_encryption' of https://github.com/owncloud/core into files_encryption
2013-04-22 18:51:11 +02:00
Florin Peter
37c7205941
fix wrong file path in util
2013-04-22 18:50:59 +02:00
Björn Schießle
a4364a93d0
delete all share keys if a file gets deleted
2013-04-22 15:29:58 +02:00
Björn Schießle
b5cb5dab51
fix encryption to owncloud user for public link shares
2013-04-22 14:30:10 +02:00
Björn Schießle
b57478fa27
fix comment, remove unused variable
2013-04-22 14:14:28 +02:00
Björn Schießle
1705938848
removed some leftover code; use already existing var for path to users file folder
2013-04-22 12:32:38 +02:00
Florin Peter
eade87dc79
Merge branch 'files_encryption' of https://github.com/owncloud/core into files_encryption
2013-04-22 12:32:35 +02:00
Florin Peter
f6ac34afea
improved handling for getSharingUsersArray
2013-04-22 12:25:55 +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
8790ceba25
Merge branch 'files_encryption' of github.com:owncloud/core into files_encryption
2013-04-22 11:59:26 +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
Florin Peter
6b47da10be
improved rename and file size support
...
fix missing user_id on write
2013-04-22 04:40:49 +02:00
FlorinPeter
9a0b73070c
Merge pull request #2992 from FlorinPeter/files_encryption
...
fix for trashbin
2013-04-20 05:35:29 -07: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
Florin Peter
0e1970438b
fixed incorrect filesize, download via web is now possible
...
fixed broken file-info
2013-04-18 22:34:22 +02:00
Björn Schießle
2bd338c49f
getUsersSharingFile() no longer needed, use getSharingUsersArray() instead; fix filterShareReadyUsers() to return the correct results
2013-04-18 20:02:27 +02:00
Björn Schießle
935d039860
necessary changes in util.php after the changes in \OCP\Share::getUsersSharingFile() ( fe58e4b1a6
)
2013-04-18 17:53:59 +02:00
Björn Schießle
39c717b24c
some fixes to the keymanager class to identify the file owner and the owner path correctly.
2013-04-18 17:52:27 +02:00
Björn Schießle
1df36e0c88
rename $shareFilePath to $path to avoid confusions, it is not about paths to share files but about general path to files stored in ownCloud
2013-04-18 16:39:00 +02:00
Björn Schießle
40905c8941
fix file sharing, sharing files works now; moved the identification of file owner and the owner path in the keymanager functions so that other functions doesn't have to deal with it
2013-04-18 16:34:23 +02:00
Björn Schießle
7892fddcb9
remove ToDo, every time the file key gets encrypted new share keys are generated and a new encrypted filekey. We always need to use the latest share-keys and encrypted keyfiles
2013-04-18 15:44:57 +02:00
Björn Schießle
bd3024242f
always save key file, the key doesn't change but the encrypted keyfile change always the same way like the share-keys change
2013-04-18 15:42:28 +02:00
Björn Schießle
a646a1169f
return filename relative to users file dir and not relative to data dir
2013-04-18 13:41:21 +02:00
Florin Peter
2434739d69
fix for trashbin
2013-04-18 02:03:03 +02:00
Sam Tuke
6dd8c79461
Development snapshot
...
Working on stream{} write
2013-04-17 17:20:37 +02:00
Sam Tuke
f89a3604aa
Working on stream{} writing
...
Development snapshot
2013-04-16 18:29:22 +02:00
Sam Tuke
770dcbf663
Fixed stream{} reading of encrypted files (stream_read())
2013-04-16 14:53:54 +02:00
Sam Tuke
b4dd6ae36c
Merge pull request #2885 from FlorinPeter/files_encryption
...
fix performance issues
2013-04-16 04:25:59 -07: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
854b920787
fix some more paths
2013-04-12 15:18:19 +02:00
Björn Schießle
02d1f86a53
fix some confusion about paths relative to the files dir and to the data dir
2013-04-12 14:30:02 +02:00
Björn Schießle
f87229ddaf
fix stream wrapper to make initial encryption work
2013-04-12 14:13:38 +02:00
Florin Peter
8f0bbdc5cb
fix performance issues
2013-04-11 22:55:48 +02:00
Björn Schießle
c3a284569b
make sure that public-keys dir exists
2013-04-10 16:46:02 +02:00
Björn Schießle
fff979a590
add $view as parameter for getFileKey() call
2013-04-10 15:14:44 +02:00
Björn Schießle
98de385b8a
add $view as parameter for session constructor
2013-04-10 15:08:28 +02:00
Sam Tuke
400cf5beb3
Fixed naming bug of public owncloud key dir, which caused new keypair to be generated on each pageload
2013-04-09 19:11:38 +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
Björn Schießle
e717f7150e
check for dir in deleteFileKey() and delShareKey(), to always handle all share keys and file keys on delete
2013-03-26 16:52:58 +01:00
Björn Schießle
73157133e8
reuse function provided in util.php
2013-03-26 16:22:26 +01:00
Björn Schießle
6beeb2466f
also delete share keys if a different user than the owner deletes a shared file
2013-03-26 16:17:26 +01:00
Björn Schießle
b1d620300e
delete share keys if file gets deleted
2013-03-26 14:22:18 +01:00
Björn Schießle
5f233ee814
get the correct paths and owner to access shared files
2013-03-26 12:40:31 +01:00
Björn Schießle
a65d741a3f
move getUidAndFilename() tu util.php
2013-03-26 12:39:55 +01:00
Björn Schießle
890f0142a2
get shared keys from new location
2013-03-26 12:24:04 +01:00
Björn Schießle
5995b6996b
always call stripUserFilesPath(), we need to keep the Shared/ to find the correct owner of the file later
2013-03-26 12:23:28 +01:00
Björn Schießle
f10be4ea17
new file structure for share keys; sub-folder need to be generated each by one (we don't have a recursive mkdir)
2013-03-26 11:58:54 +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
c1f1fbda08
Fixed stream wrapper bugs
...
Switched encryptAll() to use stream-based instead of file-at-a-time encryption
Development snapshot
2013-03-09 19:18:34 +01:00
Tom Needham
370f202251
Rebase to current master
2013-03-05 00:25:56 +00:00
Björn Schießle
f2b86d0227
make sure that $this->userId is initialized before using it as a parameter
2013-03-04 17:58:56 +01:00
Björn Schießle
e65e6a12f1
define key size in constructor, otherwise the key size will depend on the servers openssl conf
2013-03-04 15:33:38 +01:00
Sam Tuke
0bc7d3bcf8
Added notes where to reuse old keys instead of generating new ones
2013-02-27 18:50:57 +00:00
Sam Tuke
953319a2c3
Made proxy class reuse existing keyfiles not gen new ones;
...
Added notes about reusing shareKeys
2013-02-27 18:46:44 +00: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
4550ae6a69
Shared encrypted files now readable by both sharer and sharee
2013-02-26 18:11:29 +00:00
Björn Schießle
ca1b94d890
make sure that home folders are mounted correctly before write/read keyfile
2013-02-25 12:29:07 +01:00
Björn Schießle
31c434b795
the default should be to encrypt all files if the user/admin doesn't specify a blacklist explicitely
2013-02-22 16:08:08 +01:00
Björn Schießle
40efeb9187
isSharedFile() doesn't detect all shares, just use getUsersSharingFile() directly either you get a list of users or not
2013-02-22 16:02:27 +01: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
Sam Tuke
14ae373dfe
Fixed wrong array key reference
2013-02-19 17:42:37 +00:00
Björn Schießle
fd629983fa
remove debug output
2013-02-19 17:10:32 +01:00
Björn Schießle
8c35bbcba7
remove debug output, fix typo in file names
2013-02-14 16:33:57 +01:00
Bart Visscher
cd35d257bb
Fix NoSpaceAfterComma and SpaceBeforeComma
2013-02-14 08:36:26 +01:00
Björn Schießle
5005195db0
create keypair for ownCloud with empty passphrase, will be used for public link shares
2013-02-13 17:57: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
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
Tom Needham
f141f8b523
Add further capabilities to /cloud/capabilitites api call
2013-02-10 14:42:23 +01: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
Sam Tuke
1aba986d9f
Fixed bug causing nested file read over webdav to fail
2013-02-09 12:42:18 +00:00
Sam Tuke
b95bc663af
Merge branch 'master' into files_encryption-style-fixes
...
Conflicts:
apps/files_encryption/lib/crypt.php
apps/files_encryption/lib/util.php
2013-02-09 11:52:11 +00:00
Thomas Müller
7f58e27495
cleanup - more to come after
2013-02-09 18:01:38 +01:00
Sam Tuke
954a627483
Added comment
2013-02-06 18:24:35 +00:00
Sam Tuke
6870add18f
Development snapshot
2013-02-06 15:08:36 +00:00
Sam Tuke
16a5ace434
Fixed bug causing encrypted files to be doubly encrypted at login
...
Added comments and docblocks
2013-02-06 14:30:40 +00:00
Sam Tuke
3b9e2f1bab
Merge branch 'master' into files_encryption-style-fixes
...
Conflicts:
apps/files_encryption/lib/crypt.php
apps/files_encryption/lib/keymanager.php
2013-02-05 18:43:55 +00:00
Sam Tuke
20b1d12cbf
Fixed comment typo, wrapped return value conditional on var assignment in session{}
2013-02-05 17:28:26 +00:00
Sam Tuke
680c5b3dad
Removed debugging output
2013-02-05 16:11:50 +00:00
Sam Tuke
a1f200c1e5
Cleaned up path formatting with new method stripUserFilesPath()
2013-02-05 15:59:28 +00:00