Sebastian Messmer
|
f90196826b
|
Added test cases for outer config file encryption
|
2015-11-11 11:58:09 -08:00 |
|
Sebastian Messmer
|
d003b7f0c5
|
Added test cases for inner config file encryption
|
2015-11-11 11:03:05 -08:00 |
|
Sebastian Messmer
|
f44ae98bf9
|
Removed unnecessary parameter
|
2015-11-11 11:02:01 -08:00 |
|
Sebastian Messmer
|
669e71c056
|
Inner encryption of configuration file uses the cipher specified by the user
|
2015-11-11 01:19:47 -08:00 |
|
Sebastian Messmer
|
252a666a37
|
Refactor (de)serializing config files
|
2015-11-10 17:50:08 -08:00 |
|
Sebastian Messmer
|
4cedaa5bf4
|
Fixed failing test cases (was a fault in cpputils library and was fixed there)
|
2015-11-07 12:21:17 -08:00 |
|
Sebastian Messmer
|
0b7182f095
|
Make test cases faster by using SCrypt::TestSettings
|
2015-11-03 20:27:00 -08:00 |
|
Sebastian Messmer
|
eb0a27759c
|
Show more detailed error message when given arguments are invalid
|
2015-11-03 13:01:51 -08:00 |
|
Sebastian Messmer
|
a5ff0f45d6
|
- Add --extpass command line option
- Make test cases faster by specifying key random generator to use pseudorandom
|
2015-11-03 12:22:35 -08:00 |
|
Sebastian Messmer
|
9aee4b1657
|
Added success tests
|
2015-11-02 12:20:10 -08:00 |
|
Sebastian Messmer
|
6bbdc1be3d
|
Add sanity checks for mount directory
|
2015-10-30 22:01:42 +01:00 |
|
Sebastian Messmer
|
fdf866a562
|
Since fork() issue with our threads is solved, use libFuse damonization again
|
2015-10-30 21:40:38 +01:00 |
|
Sebastian Messmer
|
057113df00
|
- Catch exceptions in initialization
- Show unmount command after successfully mounted
|
2015-10-30 20:32:25 +01:00 |
|
Sebastian Messmer
|
bdb6de1c4a
|
Add --cipher and --ciphers command line options
|
2015-10-30 19:53:15 +01:00 |
|
Sebastian Messmer
|
d731ecf6a6
|
On startup, check read/write permissions for base directory and fail if permissions missing
|
2015-10-30 18:28:33 +01:00 |
|
Sebastian Messmer
|
cdbbad8878
|
Remove debug output
|
2015-10-30 17:32:23 +01:00 |
|
Sebastian Messmer
|
a37c1af761
|
Check that base directory is not inside mount directory
|
2015-10-30 17:23:08 +01:00 |
|
Sebastian Messmer
|
b7af7ca2f2
|
Add a sanity check that mountdir can't be equal to rootdir
|
2015-10-29 20:17:52 +01:00 |
|
Sebastian Messmer
|
cdf0025b15
|
If basedir doesn't exist, immediately quit with error message. Also added test case for this behaviour.
|
2015-10-29 16:04:20 +01:00 |
|
Sebastian Messmer
|
49c2fe3902
|
Move Cli (command line interface) to own class and write first test case for it
|
2015-10-29 10:47:14 +01:00 |
|
Sebastian Messmer
|
dceeeecdd7
|
Improve console output on log creation
|
2015-10-28 15:27:58 +01:00 |
|
Sebastian Messmer
|
dd4c9cbf4b
|
Since our threads now work well with fork(), we can remove the workarounds
|
2015-10-28 15:27:30 +01:00 |
|
Sebastian Messmer
|
bac18cfbfc
|
Fix path bug when writing config file to rootdir
|
2015-10-28 13:44:39 +01:00 |
|
Sebastian Messmer
|
3a04c8697f
|
Config encryption uses cipher name provided by cipher instead of storing it itself
|
2015-10-28 01:58:01 +01:00 |
|
Sebastian Messmer
|
be1acba45f
|
Use cipher names provided by cipher
|
2015-10-28 01:49:33 +01:00 |
|
Sebastian Messmer
|
c8e6ed5d9f
|
Fix incompatibility with gcc 4.9
|
2015-10-28 00:42:49 +01:00 |
|
Sebastian Messmer
|
0d5a7d9d10
|
Adapt to cpputils crypto library
|
2015-10-27 23:46:54 +01:00 |
|
Sebastian Messmer
|
340bbf842e
|
Moved crypto classes to cpputils
|
2015-10-27 22:19:40 +01:00 |
|
Sebastian Messmer
|
d8ed751039
|
TODOs
|
2015-10-27 21:26:08 +01:00 |
|
Sebastian Messmer
|
bb507ce241
|
Add a header to the inner config encryption so we can change the inner format later without changing the outer format
|
2015-10-27 21:20:12 +01:00 |
|
Sebastian Messmer
|
0ae9bb7fca
|
TODOs
|
2015-10-27 19:01:45 +01:00 |
|
Sebastian Messmer
|
5a73042c63
|
Add a padding step between inner encryption and outer encryption to hide the size of the cipher name that is added inbetween
|
2015-10-27 19:00:24 +01:00 |
|
Sebastian Messmer
|
08e4ae8a2e
|
Config encryption: Prepend inner cipher name to the encrypted data before encrypting it with the outer cipher
|
2015-10-27 18:50:58 +01:00 |
|
Sebastian Messmer
|
d9eaac5f75
|
Encrypt config file twice - with an inner and an outer key
|
2015-10-27 17:33:31 +01:00 |
|
Sebastian Messmer
|
635349d636
|
Separate CryConfigEncryptor from InnerEncryptor. This is the first step to do two layers of encryption.
|
2015-10-27 15:28:11 +01:00 |
|
Sebastian Messmer
|
88262c3ef9
|
Make SCrypt config modifiable and speed up test cases by using a special test config
|
2015-10-27 13:28:42 +01:00 |
|
Sebastian Messmer
|
adad371114
|
Fix config loading
|
2015-10-26 20:15:04 +01:00 |
|
Sebastian Messmer
|
aceeb2644f
|
Refactor folder structure and put classes in own files
|
2015-10-26 18:14:27 +01:00 |
|
Sebastian Messmer
|
fd184b45d2
|
Refactor CryConfigEncryptor: Store instance instead of static
|
2015-10-26 16:36:57 +01:00 |
|
Sebastian Messmer
|
a840bbba47
|
Change config file header to contain version information
|
2015-10-26 12:35:22 +01:00 |
|
Sebastian Messmer
|
4164c2353e
|
Graceful exiting when password is wrong
|
2015-10-25 19:00:30 +01:00 |
|
Sebastian Messmer
|
daa4f0a7f3
|
CryConfigEncryptor more thoroughly uses Serializer/Deserializer interface
|
2015-10-25 17:01:28 +01:00 |
|
Sebastian Messmer
|
7cc2205bc4
|
Use cpputils::Serializer and cpputils::Deserializer instead of std::memcpy
|
2015-10-25 13:37:28 +01:00 |
|
Sebastian Messmer
|
cde1a3b7b9
|
Refactor CryConfigEncryptor
|
2015-10-25 11:33:30 +01:00 |
|
Sebastian Messmer
|
868e12183a
|
Fix Usage line when called with --help and fix test cases
|
2015-10-24 20:02:43 +02:00 |
|
Sebastian Messmer
|
61ca163339
|
If a configuration file is not specified on command line, it will be put into the base directory
|
2015-10-24 19:56:05 +02:00 |
|
Sebastian Messmer
|
371303ae6a
|
Config file is AES256_GCM encrypted, the config file key is generated with scrypt
|
2015-10-24 19:35:37 +02:00 |
|
Sebastian Messmer
|
7988cc406d
|
Added serialization/deserialization of DerivedKeyConfig
|
2015-10-24 12:25:49 +02:00 |
|
Sebastian Messmer
|
8741853eef
|
Added key derivation function scrypt
|
2015-10-24 01:57:17 +02:00 |
|
Sebastian Messmer
|
20b0034ab1
|
- Refactor main()
- Added CryConfigLoaderTest
|
2015-10-23 12:16:23 +02:00 |
|
Sebastian Messmer
|
39c62ae185
|
Added test case for CryConfigFile
|
2015-10-23 00:04:03 +02:00 |
|
Sebastian Messmer
|
9bf83a6fe7
|
Adapted to new key creation interface
|
2015-10-22 18:48:04 +02:00 |
|
Sebastian Messmer
|
d8e0465954
|
Added test cases for CryCipher
|
2015-10-19 14:22:01 +02:00 |
|
Sebastian Messmer
|
fdc41ffb83
|
TODOs
|
2015-10-19 02:47:22 +02:00 |
|
Sebastian Messmer
|
2104a85e95
|
Refactor config file handling
|
2015-10-19 02:46:47 +02:00 |
|
Sebastian Meßmer
|
03ad5cbe45
|
Fix -Weffc++ warnings
|
2015-10-17 21:33:41 +02:00 |
|
Sebastian Meßmer
|
7b3dcb8260
|
Allow --logfile option
|
2015-10-17 18:31:17 +02:00 |
|
Sebastian Meßmer
|
451a84bebc
|
Pass daemon name to daemonize
|
2015-10-17 03:28:15 +02:00 |
|
Sebastian Meßmer
|
bb90bb19ba
|
Fix death tests in multithreading context
|
2015-10-16 04:06:00 +02:00 |
|
Sebastian Meßmer
|
20612fb245
|
Add TODOs
|
2015-10-16 03:29:26 +02:00 |
|
Sebastian Meßmer
|
1c29fecf3c
|
Added unstable warning and fixed daemonization
|
2015-10-16 02:38:34 +02:00 |
|
Sebastian Meßmer
|
5f9c2c0611
|
Unify (and fix) include guards
|
2015-10-15 13:06:51 +02:00 |
|
Sebastian Meßmer
|
daf330a07f
|
Fix daemonize() behaviour. CryFS now works correctly when called without '-f'
|
2015-10-15 03:38:44 +02:00 |
|
Sebastian Messmer
|
ff8eae5293
|
Added performance warning in debug builds
|
2015-10-15 00:16:00 +02:00 |
|
Sebastian Messmer
|
f5f8dc7939
|
Removed debug output
|
2015-10-14 15:38:57 +02:00 |
|
Sebastian Messmer
|
ba860a771d
|
Resolved TODOs (was a bug in the cpputils library, was fixed there)
|
2015-10-14 15:01:08 +02:00 |
|
Sebastian Messmer
|
1f2357ec56
|
Merge branch 'develop' of github.com:cryfs/cryfs into develop
|
2015-10-14 02:17:54 +02:00 |
|
Sebastian Messmer
|
f90e2edfef
|
TODOs
|
2015-10-14 02:17:50 +02:00 |
|
Sebastian Meßmer
|
d21fe18c39
|
TODO
|
2015-10-12 04:40:59 +02:00 |
|
Sebastian Messmer
|
66cd99b0ff
|
Use hinted linear search instead of binary search
|
2015-10-08 01:19:44 +02:00 |
|
Sebastian Messmer
|
bf3a028204
|
DirEntryList keeps its items sorted by key - this allows faster accesses
|
2015-10-07 21:41:00 +02:00 |
|
Sebastian Messmer
|
3f782a330f
|
Configure cache size for DirBlob cache
|
2015-10-07 17:24:28 +02:00 |
|
Sebastian Messmer
|
19c1c0e28e
|
Refactoring: Factor out a DirEntryList class from DirBlob
|
2015-10-07 13:45:17 +02:00 |
|
Sebastian Messmer
|
81e856fda2
|
Fix DirBlob::releaseBaseBlob()
|
2015-10-05 19:09:17 +02:00 |
|
Sebastian Messmer
|
e890222c77
|
Write back DirBlob when baseBlob is released
|
2015-10-05 18:54:51 +02:00 |
|
Sebastian Messmer
|
e5fcf6a9bc
|
Comments
|
2015-10-05 17:07:16 +02:00 |
|
Sebastian Messmer
|
44fb3011ed
|
Add a CachingFsBlobStore
|
2015-10-05 16:58:33 +02:00 |
|
Sebastian Messmer
|
d9821c2623
|
Directory Blobs store block keys in binary instead of string
|
2015-10-05 04:49:04 +02:00 |
|
Sebastian Messmer
|
abde844932
|
Fix includes
|
2015-10-05 03:56:37 +02:00 |
|
Sebastian Messmer
|
9c433209c2
|
Speed up DirBlob reads by using Blob::readAll()
|
2015-10-05 03:44:20 +02:00 |
|
Sebastian Messmer
|
7e54d284e1
|
Speed up writing back of DirBlobs by another factor of 3 (so 9 in total) by serializing the whole blob and writing it back with one write() call
|
2015-10-05 02:55:04 +02:00 |
|
Sebastian Messmer
|
af70891d27
|
Made writing back DirBlobs faster by writing whole entries at once (speedup factor of 3)
|
2015-10-05 02:35:06 +02:00 |
|
Sebastian Messmer
|
0367df004e
|
Added locks to avoid race conditions in FsBlobStore
|
2015-10-04 17:37:00 +02:00 |
|
Sebastian Messmer
|
1977a720df
|
Introduced ParallelAccessFsBlobStore to avoid race conditions when accessing the same FsBlob in parallel
|
2015-10-04 17:20:14 +02:00 |
|
Sebastian Messmer
|
37f7c764d1
|
Return better fuse errors
|
2015-09-30 14:27:29 +02:00 |
|
Sebastian Messmer
|
752be4415c
|
Protect from race conditions happening when the same FsBlob is open multiple times
|
2015-09-30 14:05:05 +02:00 |
|
Sebastian Messmer
|
e3d2fdb2fd
|
Refactor: Add fsblobstore layer
|
2015-09-30 13:21:07 +02:00 |
|
Sebastian Messmer
|
dd39f242a2
|
Show backtraces on sigsegv
|
2015-09-29 22:44:19 +02:00 |
|
Sebastian Messmer
|
bf02682734
|
Error reporting when blob to delete was not found
|
2015-09-29 18:47:57 +02:00 |
|
Sebastian Messmer
|
dfb030e51b
|
Config file is also configurable with an option
|
2015-09-29 14:39:10 +02:00 |
|
Sebastian Messmer
|
27d3ffc472
|
MountDir and BaseDir are configureable via command line
|
2015-09-29 14:29:10 +02:00 |
|
Sebastian Messmer
|
20f5d739b7
|
Small refactoring of main()
|
2015-09-28 13:41:23 +02:00 |
|
Sebastian Messmer
|
97028b134f
|
Adapt to new gitversion library
|
2015-09-19 01:02:42 +02:00 |
|
Sebastian Messmer
|
fe5ea5ab95
|
Output const_string directly, without toStdString()
|
2015-09-18 22:09:33 +02:00 |
|
Sebastian Messmer
|
12f1e7983b
|
Use messmer/gitversion instead of own version parser code
|
2015-09-18 21:16:42 +02:00 |
|
Sebastian Messmer
|
fc7316f06c
|
Show number of commits and git id in version number if it is a dev version
|
2015-09-18 17:34:56 +02:00 |
|
Sebastian Messmer
|
4cf1237bb8
|
Moved constexpr string manipulations to cpputils::const_string
|
2015-09-18 17:09:04 +02:00 |
|
Sebastian Messmer
|
3fd5cb7afc
|
Show version information on console and warn if it is a nonstable or dev version
|
2015-09-17 14:12:51 +02:00 |
|
Sebastian Messmer
|
6b50ccc14b
|
Show version information
|
2015-09-16 22:54:07 +02:00 |
|
Sebastian Messmer
|
8db80d5ebf
|
Refactor directory structure
|
2015-09-12 20:16:13 +02:00 |
|
Sebastian Messmer
|
117930fad2
|
Print a newline around user interactions
|
2015-09-04 16:09:37 +02:00 |
|
Sebastian Messmer
|
a665e6cdd7
|
CryFS asks back if a cipher without integrity is chosen
|
2015-09-04 16:02:55 +02:00 |
|
Sebastian Messmer
|
a9a5a5d04d
|
Console class supports askYesNo(question)
|
2015-09-04 16:00:41 +02:00 |
|
Sebastian Messmer
|
218463cf91
|
Add more encryption ciphers
|
2015-09-01 00:25:14 +02:00 |
|
Sebastian Messmer
|
84cd362d48
|
CryFS uses the cipher specified in the configuration file
|
2015-07-29 12:08:39 +02:00 |
|
Sebastian Messmer
|
a31b5160c9
|
Fix output
|
2015-07-26 14:42:43 +02:00 |
|
Sebastian Messmer
|
5607a51594
|
Added testcase for Console.print()
|
2015-07-26 13:13:36 +02:00 |
|
Sebastian Messmer
|
fd11436fb9
|
Test cases don't need user interaction anymore
|
2015-07-26 13:09:55 +02:00 |
|
Sebastian Messmer
|
fa4a50b7b6
|
Use assert instead of exception on load error
|
2015-07-24 20:28:37 +02:00 |
|
Sebastian Messmer
|
bfa07cba69
|
Use the new assert that doesn't crash the program in a release build
|
2015-07-22 13:47:19 +02:00 |
|
Sebastian Messmer
|
013d50d8b6
|
Fix missing using statement in main.cpp
|
2015-07-21 18:32:40 +02:00 |
|
Sebastian Messmer
|
492caeb418
|
Migrate from unique_ptr to unique_ref
|
2015-07-21 18:22:03 +02:00 |
|
Sebastian Messmer
|
43d8174fd4
|
TODOs
|
2015-07-20 17:56:20 +02:00 |
|
Sebastian Messmer
|
67c56648e3
|
CryConfigLoader asks for cipher to use when creating a new config
|
2015-07-01 14:33:18 +02:00 |
|
Sebastian Messmer
|
337d2c055b
|
Implemented Console class to interact with the user
|
2015-07-01 14:32:26 +02:00 |
|
Sebastian Messmer
|
04b18ed768
|
Adapt to new blobstore
|
2015-06-26 16:03:24 +02:00 |
|
Sebastian Messmer
|
a1e0358d4c
|
Adapt to new cpp-utils
|
2015-06-21 17:44:45 +02:00 |
|
Sebastian Meßmer
|
07689c8bd1
|
Removed unneeded includes/usings
|
2015-06-18 19:40:26 +02:00 |
|
Sebastian Meßmer
|
2f22cbc9a8
|
Adapt to new fspp interface using unique_ref instead of unique_ptr
|
2015-06-18 19:36:05 +02:00 |
|
Sebastian Meßmer
|
e883bc5747
|
More use of unique_ref instead of unique_ptr
|
2015-06-18 13:45:08 +02:00 |
|
Sebastian Meßmer
|
f4d925aa9d
|
More use of unique_ref instead of unique_ptr
|
2015-06-18 13:14:43 +02:00 |
|
Sebastian Meßmer
|
b2e661a328
|
Adapt to new blobstore - having unique_ref<Blob> instead of unique_ptr<Blob>
|
2015-06-18 12:47:08 +02:00 |
|
Sebastian Meßmer
|
09f89327da
|
Fix test cases
|
2015-06-17 12:28:18 +02:00 |
|
Sebastian Messmer
|
aed30a0ec1
|
Refactored creation of new config files - this happens in a CryConfigLoader now
|
2015-06-16 18:20:31 +02:00 |
|
Sebastian Messmer
|
fbb16915d3
|
Encryption keys are drawn using OS randomness
|
2015-06-16 16:53:58 +02:00 |
|
Sebastian Messmer
|
01f4a5fc28
|
Fix for clang compiler
|
2015-06-10 17:19:56 +02:00 |
|
Sebastian Messmer
|
7beb7f1198
|
Enable extended compiler warnings and resolve occurring ones
|
2015-05-08 02:11:34 +02:00 |
|
Sebastian Messmer
|
30f7791af7
|
Make constructors explicit where adequate
|
2015-04-27 18:20:07 +02:00 |
|
Sebastian Messmer
|
fa4e23ceb4
|
Fix loading encryption keys from config file
|
2015-04-27 18:00:11 +02:00 |
|
Sebastian Messmer
|
8f7853f01a
|
Add basic test case for cryfs
|
2015-04-27 16:38:09 +02:00 |
|
Sebastian Messmer
|
74e9ffb9f4
|
Use cpputils::TempFile and cpputils::Data instead of blockstore::TempFile and blockstore::Data
|
2015-04-25 03:37:25 +02:00 |
|
Sebastian Messmer
|
eeaa6678cd
|
Switch to authenticated cipher
|
2015-04-24 23:58:55 +02:00 |
|
Sebastian Messmer
|
22323a0a03
|
Adapt to new EncryptedBlockStore
|
2015-04-24 18:14:53 +02:00 |
|
Sebastian Meßmer
|
89a9f1e3d2
|
Don't crash when trying to chmod/chown the root directory
|
2015-04-23 09:24:52 +02:00 |
|
Sebastian Meßmer
|
6821684654
|
Support symlinks
|
2015-04-23 09:18:30 +02:00 |
|
Sebastian Messmer
|
935549f822
|
- Adapt to new fspp (symlink support), but don't support symlinks yet
|
2015-04-22 16:02:23 +02:00 |
|
Sebastian Messmer
|
5c63e1c277
|
Removed debug output
|
2015-04-22 14:53:15 +02:00 |
|
Sebastian Messmer
|
12e802fb7b
|
Create files/dirs owned by the caller
|
2015-04-22 14:32:03 +02:00 |
|
Sebastian Messmer
|
27e376c121
|
TODOs
|
2015-04-21 23:20:54 +02:00 |
|
Sebastian Messmer
|
b96cc48639
|
Implemented chmod/chown and fixed some minor details
|
2015-04-21 23:18:50 +02:00 |
|
Sebastian Messmer
|
7b40e22279
|
Adapt to new blockstore
|
2015-04-16 14:11:07 +02:00 |
|
Sebastian Messmer
|
54e0bbc7d3
|
Use block caching and increase block size
|
2015-04-15 20:42:14 +02:00 |
|
Sebastian Messmer
|
7d4618229b
|
Implement renaming
|
2015-04-11 01:42:20 +02:00 |
|
Sebastian Messmer
|
0b2bf1d7b3
|
Work with new fspp
|
2015-04-10 23:29:16 +02:00 |
|
Sebastian Messmer
|
de8c697dfc
|
Experimented a bit with block size
|
2015-04-10 23:17:23 +02:00 |
|
Sebastian Messmer
|
9ecbe437ab
|
- Refactor DirBlob: Keep an in-memory vector of the dir entries instead of regularly parsing it
- Implement file deletion and dir deletion
|
2015-04-10 00:52:00 +02:00 |
|
Sebastian Messmer
|
c43612fae6
|
Implement CryOpenFile::flush
|
2015-04-09 23:42:04 +02:00 |
|
Sebastian Messmer
|
5596544365
|
CryFS uses an encrypted blockstore
|
2015-04-09 21:17:52 +02:00 |
|
Sebastian Meßmer
|
354de197ff
|
Add some asserts
|
2015-04-08 14:15:11 +02:00 |
|
Sebastian Meßmer
|
f1a992d187
|
A CryDir returns . and .. as children
|
2015-03-19 03:53:21 +01:00 |
|