Commit graph

213 commits

Author SHA1 Message Date
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
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
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
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
a646a1169f return filename relative to users file dir and not relative to data dir 2013-04-18 13:41:21 +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
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
Björn Schießle
fff979a590 add $view as parameter for getFileKey() call 2013-04-10 15:14:44 +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
Björn Schießle
a65d741a3f move getUidAndFilename() tu util.php 2013-03-26 12:39:55 +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
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
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
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
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
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
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
Sam Tuke
53248a9b60 Recryption of legacy encrypted files now working on login 2013-02-05 15:35:29 +00:00
Sam Tuke
0677d56ee2 Added debugging output relating to recrypting legacy files 2013-02-01 19:31:15 +00:00
Sam Tuke
06847f609b Improved support for detecting and recrypting legacy files. Bugs remain. 2013-01-31 19:40:51 +00:00
Sam Tuke
c1f20fe37a Made encyrption keyfiles be deleted when their parents are
Made encryption keyfiles be renamed when their parents are
Fixed bugs with encryptAll() execution on login
2013-01-29 19:54:40 +00:00
Sam Tuke
094213e231 Fixed many coding guidelines issues
Continued work on upgrade path via login hook listener
New spec file with notes
2013-01-24 18:37:34 +00:00
Sam Tuke
59ca312263 Work on util: findFiles() and encryptAll(); both close to working
Ecnryption unit tests are failing, recursion in filecache{}
2013-01-23 19:24:26 +00:00
Sam Tuke
e9f3c5feea Added creation of dir for shared file env encryption keys
Added comment to use multiKeyEncrypt
2013-01-14 15:39:04 +00:00
Sam Tuke
fed74eda1c Removed old and unnecessary comments 2013-01-10 18:48:40 +00:00
Sam Tuke
453fd66c70 Changing user login pwd now correctly changes encryption key passphrase
All crypt unit tests are now passing
2012-12-11 17:12:46 +00:00
Sam Tuke
a00dd2d5d6 Revert "Revert "Development snapshot""
This reverts commit b66d38ecae.
2012-12-11 15:10:56 +00:00
Sam Tuke
b66d38ecae Revert "Development snapshot"
This reverts commit c56fb905d1.
2012-12-11 15:10:39 +00:00
Sam Tuke
c56fb905d1 Development snapshot
Read/write interoperability working through web UI and WebDAV
New class Session for handling session data
A few new unit tests
Some additional unit tests are now failing, esp. legacy enc related ones
2012-12-05 18:57:44 +00:00
Sam Tuke
bc3550b37b Development Snapshot
Opening short files via webdav, that were saved via webdav, now works
2012-12-04 19:53:13 +00:00
Sam Tuke
bfd47cd2df Development snapshot
Moved legacy crypto methods from Util into Crypt
Added preliminary support for reading legacy encrypted files
Added some unit tests
2012-11-28 18:39:19 +00:00
Sam Tuke
5f78f9d642 Development snapshot 2012-11-22 19:36:48 +00:00
Sam Tuke
13d93fb416 Development snapshot 2012-11-22 14:08:19 +00:00
Sam Tuke
5328aae8a8 Added unit tests for legacy encryption methods
Improvements to documentation
2012-11-20 19:10:10 +00:00
Sam Tuke
637891b771 Development snapshot, lots of fixes
Web UI based encryption working
Crypt and Util unit tests passing
2012-11-16 18:31:37 +00:00
Sam Tuke
265f3654af all unit files_encryption crypt unit tests now passing after merge 2012-10-17 16:35:19 +01:00
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
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
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
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
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
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