Sebastian Messmer
fb733929d8
Code is compatible with gcc 4.8
2015-11-24 14:39:41 +01:00
Sebastian Messmer
22a3c90d54
Moved ciphers to cpputils
2015-10-27 23:27:40 +01: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 Meßmer
a4ce9f1c97
Fix warnings from -Weffc++
2015-10-17 21:10:26 +02:00
Sebastian Meßmer
821550e62f
Unify (and fix) include guards
2015-10-15 13:09:21 +02:00
Sebastian Messmer
210c2c2811
Fix compiler error in test cases
2015-10-08 18:05:09 +02:00
Sebastian Messmer
78dbe6ea24
Test cases print stack trace on sigsegv
2015-10-05 16:51:49 +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
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
aea84d9ef5
Added more ciphers
2015-08-31 23:04:56 +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
37bdbd907a
Finished migrating to unique_ref instead of unique_ptr
2015-07-21 18:19:34 +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
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
3826bab481
Fix test cases
2015-06-26 15:57:41 +02:00
Sebastian Messmer
cf6ef7c02c
Use C++11 uniform initialization for structs
2015-06-21 14:40:57 +02:00
Sebastian Meßmer
199da740ed
Fix test cases
2015-06-17 12:17:17 +02:00
Sebastian Messmer
e8a48afd3b
Enable extended compiler warnings and resolve occurring ones
2015-05-08 02:10:56 +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
bf77e0ffa7
Small fix in AES256_GCM
2015-04-27 17:58:34 +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
77b67a8137
Reduce use of memcmp and use operator==(Data, Data) instead
2015-04-25 17:17:06 +02:00
Sebastian Messmer
a2c89ed73a
Use cpputils::DataFixture instead of DataBlockFixture
2015-04-25 16:43:52 +02:00
Sebastian Messmer
3e12c771a1
Remove dependency to tempfile
2015-04-25 03:47:03 +02:00
Sebastian Messmer
59bfddc18f
Moved Data, FixedSizeData and DataBlockFixture to cpp-utils
2015-04-25 02:48:41 +02:00
Sebastian Messmer
e056a65b48
- Added test cases for authenticated ciphers
...
- Fixed corner case for AES256_GCM when decrypt is called on data that can't hold IV and TAG
2015-04-24 23:58:24 +02:00
Sebastian Messmer
0335b243fb
Implemented AES256_GCM
2015-04-24 23:02:14 +02:00
Sebastian Messmer
19e5f03de3
Simplified CipherTest
2015-04-24 21:33:25 +02:00
Sebastian Messmer
008c6f7ab7
Add Cipher concept
2015-04-24 21:30:54 +02:00
Sebastian Messmer
5adcf4aca1
Allow decryption interface to fail (needed for authenticated ciphers later)
2015-04-24 21:08:36 +02:00
Sebastian Messmer
79283b868b
Added test cases that a Cipher is indeterministic
2015-04-24 19:13:56 +02:00
Sebastian Messmer
f18195757c
- Added test cases for ciphers
...
- Removed Cipher.h
2015-04-24 18:58:42 +02:00
Sebastian Messmer
6e50c9d8a5
Factor out encryption algorithm from EncryptedBlockStore
2015-04-24 18:14:25 +02:00
Sebastian Meßmer
17f6a38629
Removed unneccessary flushes
2015-04-18 17:06:55 +02:00
Sebastian Meßmer
417a701636
- BlockStore::create() gets the data of the new block as a parameter
...
- Fixed numBlocks() in OnDiskBlockStore, FakeBlockStore, CachingBlockStore, ...
- CachingBlockStore caches created blocks and doesn't directly create them in the underlying blockstore
2015-04-18 14:47:12 +02:00
Sebastian Messmer
18e7d68f15
Added test cases checking that numBlocks() works correctly when a created block is not destructed yet
2015-04-17 13:27:17 +02:00
Sebastian Messmer
9fa6b041eb
Renamed old Caching2BlockStore to new CachingBlockStore
2015-04-16 14:10:44 +02:00