Sebastian Messmer
535bfc1634
TODOs
2015-05-06 16:16:18 +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
5802040d78
Removed unused exception class
2015-04-28 13:19:44 +02:00
Sebastian Messmer
d589910b0d
TODOs
2015-04-27 23:10:30 +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
2110831374
Make constructors explicit where adequate
2015-04-27 18:20:51 +02:00
Sebastian Messmer
58f43f6929
Remove unneeded field in cache entry
2015-04-27 18:20:44 +02:00
Sebastian Messmer
bf77e0ffa7
Small fix in AES256_GCM
2015-04-27 17:58:34 +02:00
Sebastian Messmer
bc33f69877
TODOs
2015-04-27 10:47:33 +02:00
Sebastian Messmer
6f1c39fd21
QueueMap: Added more test cases and improved interface
2015-04-27 10:35:01 +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
b60b119985
Fix iostream use
2015-04-26 22:20:04 +02:00
Sebastian Messmer
5f83c133b0
Added error messages when block decryption fails
2015-04-26 16:45:00 +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
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
6e28af3105
TODOs
2015-04-24 21:33:45 +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
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 Messmer
03597b9474
Code formatting & TODOs
2015-04-24 13:42:37 +02:00
Sebastian Meßmer
90c7bad8d6
Removed debug output
2015-04-18 16:59:44 +02:00
Sebastian Meßmer
c1551121c8
Cache-Entries are purged after a max lifetime
2015-04-18 16:50:19 +02:00
Sebastian Meßmer
c18893c151
Don't encrypt and re-decrypt when creating a block, but keep plaintext data
2015-04-18 15:10:42 +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
c7eab5c504
Removed unused function
2015-04-17 13:20:16 +02:00
Sebastian Messmer
75253c74ea
Key is not default constructible anymore
2015-04-17 12:59:40 +02:00
Sebastian Messmer
4a5416dbec
Use unordered_map instead of map for cache
2015-04-17 12:56:21 +02:00
Sebastian Messmer
b41853cd00
Fix renaming
2015-04-16 15:01:59 +02:00
Sebastian Messmer
a555985b2c
Adapt to renaming of CachingStore -> ParallelAccessStore
2015-04-16 14:54:04 +02:00
Sebastian Messmer
9fa6b041eb
Renamed old Caching2BlockStore to new CachingBlockStore
2015-04-16 14:10:44 +02:00
Sebastian Messmer
248fd0f5cc
Renamed old CachingBlockStore to ParallelAccessBlockStore
2015-04-16 13:59:52 +02:00
Sebastian Messmer
6413123838
TODOs
2015-04-15 21:46:15 +02:00
Sebastian Messmer
fdc14cc66c
TODOs
2015-04-15 20:43:21 +02:00
Sebastian Messmer
b185729113
Caching blocks works
2015-04-15 20:39:58 +02:00
Sebastian Messmer
332f6901ef
New caching store is working, but not timeout-flushing yet
2015-04-15 19:05:58 +02:00
Sebastian Messmer
72f952b57c
Added dummy implementation for new caching block store
2015-04-15 15:46:35 +02:00
Sebastian Messmer
cc30dcde10
Fix FakeBlockStore
2015-04-15 14:51:41 +02:00
Sebastian Messmer
afce75b461
Speed up ondisk blockstore by not storing a created block first
2015-04-10 21:51:25 +02:00
Sebastian Messmer
495e458c25
TODOs
2015-04-10 00:57:10 +02:00
Sebastian Messmer
c5d28d19d6
Don't flush when deleting cached block
2015-04-09 23:28:30 +02:00
Sebastian Messmer
3cbc851c19
Implemented encryption
2015-04-09 22:11:40 +02:00
Sebastian Messmer
e210b5b601
EncryptedBlock stores an IV
2015-04-09 21:17:28 +02:00
Sebastian Messmer
711283a89b
EncryptedBlockStore handles encryption keys
2015-04-09 20:14:12 +02:00
Sebastian Messmer
990ca6ca26
Generalized Key to FixedSizeData
2015-04-09 20:07:03 +02:00
Sebastian Messmer
86f8ca6dc4
Dummy implementation for EncryptedBlockStore
2015-04-09 19:22:09 +02:00
Sebastian Messmer
4d72087e27
Fix include guard
2015-04-09 19:21:59 +02:00
Sebastian Messmer
fa92202979
Work with new generalized cachingstore
2015-04-09 15:39:49 +02:00
Sebastian Messmer
f3d0bfcf68
Use relative paths instead of block-absolute ones
2015-04-08 16:57:04 +02:00
Sebastian Meßmer
ff35d72e34
Use new CachingStore
2015-04-02 12:19:05 -04:00
Sebastian Meßmer
f2129f6dc2
We don't need CachingStore::getKey()
2015-04-02 07:21:52 -04:00
Sebastian Meßmer
c18c028d7f
First version of factoring out CachingStore
2015-04-02 07:12:29 -04:00
Sebastian Meßmer
da0efd80c5
Rename SynchronizedBlockStore -> CachingBlockStore
2015-04-02 02:59:43 -04:00
Sebastian Meßmer
e3f7491d2d
SynchronizedBlockStore allows concurrent access to the same block, but ensures that the block is only loaded once from the underlying blockstore
2015-03-31 08:02:24 -04:00
Sebastian Meßmer
41600c13f7
Introduce a mutex for OpenBlockList
2015-03-29 08:36:09 -04:00
Sebastian Meßmer
9b5ad835db
Implemented SynchronizedBlockStore::remove()
2015-03-29 07:55:57 -04:00
Sebastian Meßmer
5571a42980
Continued working on SynchronizedBlockStore. remove() doesn't work yet.
2015-03-28 13:44:22 -04:00
Sebastian Meßmer
f6669c86c1
Added SynchronizedBlockStore. In this first version, it only synchronizes the direct blockstore functions, but still allows opening the same block twice. This will be forbidden in future commits
2015-03-19 11:16:20 +01:00
Sebastian Messmer
294530c662
Replaced absolute paths to messmer/blockstore/... with relative local paths
2015-03-12 14:27:51 +01:00
Sebastian Messmer
f51f80e5eb
TODOs
2015-03-08 01:18:06 +01:00
Sebastian Messmer
2cb0f4e5de
BlockStore only writes changed data back if it actually was changed
2015-03-05 22:16:57 +01:00
Sebastian Messmer
d42bda0ca6
Added Block::write() and removed writeable data() pointer
2015-03-04 20:47:02 +01:00
Sebastian Messmer
f491d3d183
Added BlockStore::numBlocks()
2015-02-23 21:07:07 +01:00
Sebastian Messmer
e65ce5f11f
Change way of deleting blocks to be more foolproof (when deleting a block, the user is forced to give up its reference to the block)
2015-02-22 16:53:49 +01:00
Sebastian Messmer
37e8a511f5
Added BlockStore::remove(key)
2015-02-22 00:29:21 +01:00
Sebastian Messmer
0c851fa452
Switch to biicode
2015-02-17 00:23:33 +01:00