Commit Graph

387 Commits

Author SHA1 Message Date
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
c572e7f353 Add a test configuration running cryfs in foreground 2015-10-29 20:00:59 +01:00
Sebastian Messmer
f42eefbc6b Refactor CliTest_WrongEnvironment into a parametrized test 2015-10-29 19:55:26 +01:00
Sebastian Messmer
a358ae859a Refactor Cli test cases 2015-10-29 19:35:22 +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
dd4c9cbf4b Since our threads now work well with fork(), we can remove the workarounds 2015-10-28 15:27:30 +01:00
Sebastian Messmer
c4dfd55c39 Because LoopThread now works fine with fork(), we don't have to specify this a DeathTest 2015-10-28 15:20:55 +01:00
Sebastian Messmer
3e01c56ad4 Add Cipher::NAME to CipherConcept 2015-10-28 01:49:12 +01:00
Sebastian Messmer
926d1ce7a4 Allow Cipher::NAME (e.g. AES256_GCM::NAME) 2015-10-28 01:41:38 +01:00
Sebastian Messmer
0d5a7d9d10 Adapt to cpputils crypto library 2015-10-27 23:46:54 +01:00
Sebastian Messmer
22a3c90d54 Moved ciphers to cpputils 2015-10-27 23:27:40 +01:00
Sebastian Messmer
c50371d583 Add symmetric ciphers to crypto lib 2015-10-27 23:19:20 +01:00
Sebastian Messmer
1f86f83ca1 Fix test cases 2015-10-27 23:19:11 +01:00
Sebastian Messmer
340bbf842e Moved crypto classes to cpputils 2015-10-27 22:19:40 +01:00
Sebastian Messmer
7b269a1184 Added a crypto library with scrypt key derivation function and random padding 2015-10-27 22:19:06 +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
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
248f0b0d61 FixedSizeData::take/drop() 2015-10-26 12:15:11 +01:00
Sebastian Messmer
90ecee252e Fix DeathTest 2015-10-25 19:13:33 +01:00
Sebastian Messmer
4164c2353e Graceful exiting when password is wrong 2015-10-25 19:00:30 +01:00
Sebastian Messmer
25db4064b7 Use EXPECT_EXIT instead of EXPECT_DEATH 2015-10-25 18:42:49 +01:00
Sebastian Messmer
daa4f0a7f3 CryConfigEncryptor more thoroughly uses Serializer/Deserializer interface 2015-10-25 17:01: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
c936fca16a Added test cases for CryConfigCreator 2015-10-22 18:48:14 +02:00
Sebastian Messmer
9bf83a6fe7 Adapted to new key creation interface 2015-10-22 18:48:04 +02:00
Sebastian Messmer
caaf528031 Refactor key creation 2015-10-22 18:19:59 +02:00
Sebastian Messmer
62549eeae6 Adapt to new cpputils::Random interface 2015-10-22 17:41:43 +02:00
Sebastian Messmer
ca5edb48db Refactor random library 2015-10-22 17:36:03 +02:00
Sebastian Messmer
9b1152348e Added test cases for CryConfig 2015-10-21 17:08:15 +02:00
Sebastian Messmer
d8e0465954 Added test cases for CryCipher 2015-10-19 14:22:01 +02:00
Sebastian Meßmer
d629e14533 Add include tests 2015-10-18 01:09:49 +02:00
Sebastian Meßmer
a3f557ef63 Fix warnings from -Weffc++ 2015-10-17 21:17:38 +02:00
Sebastian Meßmer
a4ce9f1c97 Fix warnings from -Weffc++ 2015-10-17 21:10:26 +02:00
Sebastian Meßmer
0c8b3e69a8 Disabled failing test 2015-10-17 20:37:57 +02:00
Sebastian Meßmer
97fce00391 Fixed warnings from -Weffc++ 2015-10-17 20:35:17 +02:00
Sebastian Meßmer
8b429bac9a Fix warnings from -Weffc++ 2015-10-17 20:15:20 +02:00
Sebastian Meßmer
490936d29d Fix test cases 2015-10-17 19:38:24 +02:00
Sebastian Meßmer
afc0f909b3 Use logging instead of cout/cerr 2015-10-17 17:23:35 +02:00
Sebastian Meßmer
05f9723295 Default logger logs to stderr, not stdout 2015-10-17 16:49:58 +02:00
Sebastian Meßmer
08c09e4af8 Add a fork test case for logging 2015-10-17 16:42:56 +02:00
Sebastian Meßmer
9f9b4fc342 Add test cases for logging 2015-10-17 15:49:54 +02:00
Sebastian Meßmer
7f7e27d6a3 Removed debug output 2015-10-17 03:28:05 +02:00
Sebastian Meßmer
bb90bb19ba Fix death tests in multithreading context 2015-10-16 04:06:00 +02:00
Sebastian Meßmer
39eaff4533 Unify (and fix) include guards 2015-10-15 13:10:20 +02:00
Sebastian Meßmer
821550e62f Unify (and fix) include guards 2015-10-15 13:09:21 +02:00
Sebastian Meßmer
5f9c2c0611 Unify (and fix) include guards 2015-10-15 13:06:51 +02:00
Sebastian Meßmer
c9663acd85 Unify (and fix) include guards 2015-10-15 13:04:57 +02:00
Sebastian Meßmer
02d89fa721 Unify (and fix) include guards 2015-10-15 12:58:16 +02:00
Sebastian Meßmer
7103b3ab07 Fix test cases 2015-10-15 05:26:05 +02:00
Sebastian Messmer
210c2c2811 Fix compiler error in test cases 2015-10-08 18:05:09 +02:00
Sebastian Messmer
2a938730e7 Test cases print stack trace on sigsegv 2015-10-05 16:56:53 +02:00
Sebastian Messmer
cc2f93af92 Test cases print stack trace on sigsegv 2015-10-05 16:54:41 +02:00
Sebastian Messmer
d47020e781 Test cases print stack trace on sigsegv 2015-10-05 16:52:49 +02:00
Sebastian Messmer
58f7024919 Test cases print stack trace on sigsegv 2015-10-05 16:52:06 +02:00
Sebastian Messmer
78dbe6ea24 Test cases print stack trace on sigsegv 2015-10-05 16:51:49 +02:00
Sebastian Messmer
e78cd1db91 Demangle backtrace 2015-10-05 14:58:16 +02:00
Sebastian Messmer
6dec27253c Fix assert test case 2015-10-03 01:30:42 +02:00
Sebastian Messmer
3fed6f13cb Removed testcases for constexpr 2015-10-03 01:01:48 +02:00
Sebastian Messmer
84330b1100 Cache has better parallelity - we can push()/pop() while it is flushing and flushing is actually parallel 2015-10-01 13:51:01 +02:00
Sebastian Messmer
90471ea6a3 Fixed Cache race condition and added test for it 2015-10-01 01:20:40 +02:00
Sebastian Messmer
e07ddaa289 Fix traversing bug and add test case for it 2015-09-30 15:33:09 +02:00
Sebastian Messmer
52bb855627 EncryptedBlockStore crashed when a modified block was removed. Fixed crash and added test case. 2015-09-29 18:51:59 +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
819e48b446 Allow outputting const_string to std::ostream 2015-09-18 22:08:56 +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
3573a6fa74 Added const_string class (constexpr string manipulations) 2015-09-18 17:08:26 +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
8db80d5ebf Refactor directory structure 2015-09-12 20:16:13 +02:00
Sebastian Messmer
67f0f39b50 Added Console class 2015-09-12 20:07:44 +02:00
Sebastian Messmer
117930fad2 Print a newline around user interactions 2015-09-04 16:09:37 +02:00
Sebastian Messmer
a9a5a5d04d Console class supports askYesNo(question) 2015-09-04 16:00:41 +02:00
Sebastian Messmer
aea84d9ef5 Added more ciphers 2015-08-31 23:04:56 +02:00
Sebastian Messmer
e96bb17e11 Removed unnecessary workaround 2015-07-29 12:07:25 +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
69a413bf4b Fix EitherTest 2015-07-25 15:17:27 +02:00
Sebastian Messmer
50503d9ce0 Renamed Either to either 2015-07-24 20:08:03 +02:00
Sebastian Messmer
d9cfa55b91 Use ASSERT from cpputils instead of fspp_assert 2015-07-22 13:48:53 +02:00
Sebastian Messmer
106f18b496 Use the new assert that doesn't crash the program in a release build 2015-07-22 13:44:04 +02:00
Sebastian Messmer
fd93e4c199 Use the new assert that doesn't crash the program in a release build 2015-07-22 13:42:07 +02:00
Sebastian Messmer
cce24dd64b Implemented ASSERT macro 2015-07-22 13:39:38 +02:00
Sebastian Messmer
7dcb29d515 Implemented fspp_assert() 2015-07-21 19:45:44 +02:00
Sebastian Messmer
881c19c262 Fix missing usings 2015-07-21 18:31:28 +02:00
Sebastian Messmer
e5647ace48 Remove unneccessary using statements 2015-07-21 18:22:55 +02:00
Sebastian Messmer
492caeb418 Migrate from unique_ptr to unique_ref 2015-07-21 18:22:03 +02:00
Sebastian Messmer
37bdbd907a Finished migrating to unique_ref instead of unique_ptr 2015-07-21 18:19:34 +02:00
Sebastian Messmer
e64255a16e Removed last unique_ptr uses, all uses unique_ref now 2015-07-21 15:24:49 +02:00
Sebastian Messmer
b5d9f07f7a Implement cpputils::destruct(unique_ref) 2015-07-21 15:23:21 +02:00
Sebastian Messmer
e9c461e328 optional_ownership_ptr works with unique_ref 2015-07-21 15:18:14 +02:00
Sebastian Messmer
a923165360 Adapted to new blockstore interface (using unique_ref instead of unique_ptr) 2015-07-21 15:00:57 +02:00
Sebastian Messmer
7c407c4b69 Switched whole blockstore interface to unique_ref instead of unique_ptr 2015-07-21 14:50:52 +02:00
Sebastian Messmer
7fc4115129 Adapt to new blockstore (Blockstore::tryCreate returns optional<unique_ref<Block>> instead of unique_ptr<Block>) 2015-07-20 19:10:46 +02:00
Sebastian Messmer
a945e4f0fc Changed Blockstore::tryCreate() to return optional<unique_ref<Block>> instead of unique_ptr<Block> 2015-07-20 18:57:48 +02:00
Sebastian Messmer
337d2c055b Implemented Console class to interact with the user 2015-07-01 14:32:26 +02:00
Sebastian Messmer
6442512877 Allow dereferencing rvalues in unique_ref 2015-06-28 17:34:23 +02:00
Sebastian Messmer
72cb9fa038 When calling left()/right()/left_opt()/right_opt() on a rvalue reference, it performs a move and returns a rvalue reference 2015-06-28 17:25:13 +02:00
Sebastian Messmer
c5822b97f4 Use optional::value() instead of optional::get() 2015-06-28 17:05:06 +02:00
Sebastian Messmer
b47fd3f671 Use optional::value() instead of optional::get() 2015-06-28 17:02:20 +02:00
Sebastian Messmer
5ea654445c Use optional::value() instead of optional::get() in test cases 2015-06-28 16:59:13 +02:00
Sebastian Messmer
7ae30280f3 Use optional::value() instead of options::get() in test cases 2015-06-28 16:49:35 +02:00
Sebastian Messmer
de5dd8a838 Use optional::value() instead of options::get() in test cases 2015-06-28 16:45:18 +02:00
Sebastian Messmer
5a812b279f Use optional::value() instead of options::get() in test cases 2015-06-28 16:44:55 +02:00
Sebastian Messmer
3d1341114b Use unique_ref instead of unique_ptr 2015-06-26 15:59:18 +02:00
Sebastian Messmer
3826bab481 Fix test cases 2015-06-26 15:57:41 +02:00
Sebastian Messmer
ab5238549d Introduced make_left, make_right 2015-06-26 12:41:25 +02:00
Sebastian Messmer
f3222e361b Added operator<<(ostream, Either) 2015-06-26 02:17:08 +02:00
Sebastian Messmer
a98cf8200e Improve move testcases for Either 2015-06-26 02:06:33 +02:00
Sebastian Messmer
99be93d970 Add tests for direct (move) assignments 2015-06-26 02:02:29 +02:00
Sebastian Messmer
396dbcfc1c Add assignment operators 2015-06-26 01:59:29 +02:00
Sebastian Messmer
d5dadc74e7 Offer Either::left_opt() and Either::right_opt() and add some test cases 2015-06-26 01:07:46 +02:00
Sebastian Messmer
e1c4327338 Added comparison operators to Either 2015-06-25 16:27:26 +02:00
Sebastian Messmer
2d7dc8c583 Added first version for an either type 2015-06-25 15:46:53 +02:00
Sebastian Messmer
adbcb054c6 Add dynamic_pointer_move test cases for unique_ref 2015-06-21 18:18:43 +02:00
Sebastian Messmer
a1e0358d4c Adapt to new cpp-utils 2015-06-21 17:44:45 +02:00
Sebastian Messmer
2fa7d656e7 Adapt to new cpp-utils 2015-06-21 17:44:30 +02:00
Sebastian Messmer
7fae2d1e59 Adapt to new cpp-utils 2015-06-21 17:43:45 +02:00
Sebastian Messmer
e346283b0b Refactor folder structure 2015-06-21 17:41:57 +02:00
Sebastian Messmer
f30bec26ee Added some more test cases for dynamic_pointer_move 2015-06-21 17:14:35 +02:00
Sebastian Messmer
cf6ef7c02c Use C++11 uniform initialization for structs 2015-06-21 14:40:57 +02:00
Sebastian Messmer
d1528fe541 Use C++11 uniform initialization for structs 2015-06-21 14:40:52 +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
31cd0eb9e9 Adapt to new dynamic_pointer_move 2015-06-18 19:34:24 +02:00
Sebastian Meßmer
536cba1459 Use unique_ref instead of unique_ptr wherever possible 2015-06-18 19:30:52 +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
5039205cd2 BlobStore handles unique_ref<Blob> instead of unique_ptr<Blob> 2015-06-18 12:45:37 +02:00
Sebastian Meßmer
590beac11c Added dynamic_pointer_move for unique_ref 2015-06-18 02:36:57 +02:00
Sebastian Meßmer
86a8683fa7 Finish implementing unique_ref and added many more test cases 2015-06-18 01:29:02 +02:00
Sebastian Meßmer
09f89327da Fix test cases 2015-06-17 12:28:18 +02:00
Sebastian Meßmer
199da740ed Fix test cases 2015-06-17 12:17:17 +02:00
Sebastian Messmer
3d5b9e9815 Implemented unique_ref and started writing test cases 2015-06-17 00:59:02 +02:00
Sebastian Messmer
3069874066 Fix test cases 2015-06-17 00:38:02 +02:00
Sebastian Messmer
e8a48afd3b Enable extended compiler warnings and resolve occurring ones 2015-05-08 02:10:56 +02:00
Sebastian Messmer
abf0f68432 Enable extended compiler warnings and resolve occurring ones 2015-05-08 02:10:40 +02:00
Sebastian Messmer
fdcd56401a Added specific test cases for EncryptedBlockStore 2015-05-06 00:37:57 +02:00
Sebastian Messmer
0042ae1cef - Run test cases for EncryptedBlockStore with different ciphers
- Implement FakeAuthenticatedCipher for use with specific EncryptedBlockStoreTest
- Write skeleton for specific EncryptedBlockStoreTest
- Fix behavior of AES256_CFB when called with too small input
- Add testcase that all ciphers (also non-authenticating ones) have to handle too small input correctly
2015-05-06 00:12:14 +02:00
Sebastian Messmer
fd09ff1f9e Remove includes to unused exception 2015-04-29 16:33:26 +02:00
Sebastian Messmer
cb402fd14b Added test cases for Cache 2015-04-28 11:56:07 +02:00