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
6ae7bde788
fixed encryption session namespace to avoid problems
2013-05-28 17:04:35 +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
Florin Peter
7224fc98b2
replace == with === and replace != with !==
2013-05-27 20:44:38 +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
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
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
Björn Schießle
a9ebf2aabe
fix public link share if a user is logged in
2013-05-23 20:30:07 +02:00
Florin Peter
c6722581f9
fix pgsql error
2013-05-22 02:02:42 +02:00
Florin Peter
9ca9a22c6a
fixed finding encrypted files in subfolders and removed unused code
2013-05-22 00:54:47 +02:00
Florin Peter
8e0540d0e4
key creation should never override a private or public key
2013-05-20 21:22:03 +02:00
Florin Peter
3b850a2524
reformat code added and changed phpdoc
2013-05-20 01:24:36 +02:00
Florin Peter
ddda2a1f79
changed database column 'recovery' to 'recovery_enabled' because recovery is a pgsql keyword
...
more info about pgsql keywords http://www.postgresql.org/docs/9.1/static/sql-keywords-appendix.html
2013-05-19 07:04:31 +02:00
Florin Peter
681252669a
changed migrationStatus to migration_status for pgsql
2013-05-18 22:10:00 +02:00
Björn Schießle
eaa61b8539
fix migration to new encryption
2013-05-17 17:29:32 +02:00
Björn Schießle
002445e23d
some typo fixed
2013-05-17 14:49:54 +02:00
Björn Schießle
93771f735b
gremove unused code
2013-05-17 14:13:05 +02:00
Björn Schießle
0b40c1d08a
Merge branch 'files_encryption' of github.com:owncloud/core into files_encryption
2013-05-17 11:20:17 +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
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
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
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
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
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
Florin Peter
e88595638c
fix for webdav
2013-05-11 00:23:30 +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
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
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
f9760f6521
improved file size
2013-04-27 23:34:25 +02:00
Florin Peter
770aebfb9e
check if file exists before fixing file size
2013-04-27 20:22:38 +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
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
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
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
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