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
Sebastian Messmer
d589910b0d
TODOs
2015-04-27 23:10:30 +02:00
Sebastian Messmer
c47434d3b3
Separated QueueMapTest.cpp into test groups with their own files each
2015-04-27 23:09:29 +02:00
Sebastian Messmer
1ff807e09c
Make Cache a generic over Key/Value. Furthermore, add test skeleton for Cache
2015-04-27 22:46:57 +02:00
Sebastian Messmer
f286886b49
Handle QueueMap::push(existing_key) better and write more test cases for QueueMap
2015-04-27 22:11:15 +02:00
Sebastian Messmer
fa4e23ceb4
Fix loading encryption keys from config file
2015-04-27 18:00:11 +02:00
Sebastian Messmer
bf77e0ffa7
Small fix in AES256_GCM
2015-04-27 17:58:34 +02:00
Sebastian Messmer
8f7853f01a
Add basic test case for cryfs
2015-04-27 16:38:09 +02:00
Sebastian Messmer
6f1c39fd21
QueueMap: Added more test cases and improved interface
2015-04-27 10:35:01 +02:00
Sebastian Messmer
f647342228
TODOs
2015-04-27 01:36:32 +02:00
Sebastian Messmer
e177c6f45c
Switch to a QueueMap implementation with less indirections (directly store elements instead of pointers)
2015-04-27 01:22:39 +02:00
Sebastian Messmer
09bc28e810
EncryptedBlock stores its block key in the block, so that an attacker can't replace block contents with a different block
2015-04-26 16:36:48 +02:00
Sebastian Messmer
1f14598d25
Added Test Cases for PeriodicTask
2015-04-26 12:36:19 +02:00
Sebastian Messmer
864f0a0186
Added more test cases for Data
2015-04-26 00:41:29 +02:00
Sebastian Messmer
61337eef85
Removed DataBlockFixture
2015-04-25 17:45:18 +02:00
Sebastian Messmer
7d6febe17f
Reduce use of memcmp and use operator==(Data, Data) instead
2015-04-25 17:17:15 +02:00
Sebastian Messmer
77b67a8137
Reduce use of memcmp and use operator==(Data, Data) instead
2015-04-25 17:17:06 +02:00