Commit Graph

558 Commits

Author SHA1 Message Date
Sebastian Messmer
0959971b93 Adapt to new fspp interface 2015-12-07 12:14:06 +01:00
Sebastian Messmer
6786508148 Make classes final if they're not meant to be derived from 2015-11-27 14:06:17 +01:00
Sebastian Messmer
7af0bf8056 ChangeLog and TODOs 2015-11-25 15:46:44 +01:00
Sebastian Messmer
529b888048 Code is compatible with gcc 4.8 2015-11-24 14:42:20 +01:00
Sebastian Messmer
7126826eeb Add a maximal timeout for version update checking 2015-11-24 08:24:37 +01:00
Sebastian Messmer
7664c3de8b TODOs 2015-11-24 08:08:27 +01:00
Sebastian Messmer
68675c6212 - Move HttpClient to cpputils
- Fix VersionChecker behaviour when the returned json is invalid
- Add test cases for VersionChecker
2015-11-24 08:08:11 +01:00
Sebastian Messmer
2796915ffe When there is a new CryFS version, ask the user to update. Furthermore, check if there is a security warning for the installed CryFS version. 2015-11-23 17:43:21 +01:00
Sebastian Messmer
5b76a11388 When creating a new filesystem, ask password twice (second time for confirmation) 2015-11-19 10:08:09 +01:00
Sebastian Messmer
a4c92848be Fix handling of relative paths and add test cases 2015-11-18 11:01:48 +01:00
Sebastian Messmer
52d3ac5efc Depend on stable version of Crypto++ 2015-11-17 20:17:30 +01:00
Sebastian Messmer
49b4a9b1c0 Allow specifying base and mount directory parameters as relative paths 2015-11-17 01:50:59 -08:00
Sebastian Messmer
3e7af232e7 Better error reporting when root directory is suddenly not accessible anymore 2015-11-16 22:05:25 -08:00
Sebastian Messmer
978e7dbc46 --unmount-idle x automatically unmounts the filesystem after x minutes without a filesystem operation. 2015-11-12 15:06:53 -08:00
Sebastian Messmer
4dab8c7426 Add a class that runs a callback after a (resettable) timeout. This will be used later for unmounting after a certain idle time 2015-11-12 13:08:43 -08:00
Sebastian Messmer
938528840b Added --unmount-idle command line option (without functionality yet)
And refactor cli (group Cli class and program_options in cli subfolder)
2015-11-12 11:43:39 -08:00
Sebastian Messmer
30ae2fc45c Added test cases 2015-11-12 10:59:38 -08:00
Sebastian Messmer
09f6b48710 Add a compatibility test ensuring that it can load config files from version 0.8.1 in future 2015-11-11 18:10:56 -08:00
Sebastian Messmer
10cbb06a4b Added test cases for CryConfigEncryptor 2015-11-11 14:33:39 -08:00
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
Sebastian Meßmer
56928e68a8 Adapt to new fspp interface 2015-03-18 02:46:06 +01:00
Sebastian Meßmer
4d113613d9 Return error if trying to add an already existing entry to a directory 2015-03-18 02:11:10 +01:00
Sebastian Meßmer
26bdd6ff3a Move source to src directory 2015-03-16 01:42:50 +01:00
Sebastian Messmer
b59ee2d1e2 Switch to biicode 2015-02-17 01:02:15 +01:00
Sebastian Messmer
3350e9368a Switch to biicode 2015-02-17 00:40:34 +01:00
Sebastian Messmer
0c851fa452 Switch to biicode 2015-02-17 00:23:33 +01:00
Sebastian Messmer
424c4085a3 TODOs 2015-02-09 19:25:07 +01:00
Sebastian Messmer
7a2e2ec8a6 Written some test cases that the data isn't lost when growing a tree 2015-02-09 18:35:33 +01:00
Sebastian Messmer
b51588670c Refactor test 2015-01-28 01:11:30 +01:00
Sebastian Messmer
f115e10f6d Implemented more tests for DataTreeTest 2015-01-28 01:02:32 +01:00
Sebastian Messmer
1b15af4a3c Add some tests to DataTree 2015-01-27 16:54:46 +01:00
Sebastian Messmer
95e4a7a335 Added a DataTree test case and some TODOs 2015-01-27 00:58:06 +01:00
Sebastian Messmer
77b288a20a Written some first test cases for DataTree 2015-01-27 00:54:25 +01:00
Sebastian Messmer
a61195642f Added comment 2015-01-26 00:40:46 +01:00
Sebastian Messmer
58ccf0495e Source out GetLowestRightBorderNodeWithLessThanKChildrenOrNull and write test cases for it 2015-01-26 00:39:15 +01:00
Sebastian Messmer
03867bb8a2 Write test cases for DataInnerNode::LastChild 2015-01-25 23:54:23 +01:00
Sebastian Messmer
273035cf08 Since blocks now store their keys, we don't need to store it somewhere else. 2015-01-24 22:27:14 +01:00
Sebastian Messmer
76b3724da4 Since blocks now store their keys, we don't need to store it somewhere else. 2015-01-24 22:27:14 +01:00
Sebastian Messmer
dd2c96e363 Since blocks now store their keys, we don't need to store it somewhere else. 2015-01-24 22:27:14 +01:00
Sebastian Messmer
196b543cbb A block stores its key 2015-01-24 22:08:41 +01:00
Sebastian Messmer
03e10cabf5 Implement copying DataNode blocks and finish DataTree::addDataLeaf implementation 2015-01-24 01:59:42 +01:00
Sebastian Messmer
f4398dfeec Implemented copying of blocks 2015-01-24 01:24:37 +01:00
Sebastian Messmer
d442016d16 Implemented converting any node into a inner node and wrote test cases. Furthermore, implemented DataTree::addDataLeafToFullTree() 2015-01-24 00:58:40 +01:00
Sebastian Messmer
fcccbcf2e0 Fix some issues in DataTree using OptionalOwnershipPointer 2015-01-23 18:32:26 +01:00
Sebastian Messmer
753c5aab27 Start with DataTreeStore 2015-01-23 04:39:36 +01:00
Sebastian Messmer
dabe6e2567 Written more test cases for DataInnerNode and refactored them a bit 2015-01-23 03:05:55 +01:00
Sebastian Messmer
a427b0e677 Allow adding children to DataInnerNode and write some test cases 2015-01-23 02:41:55 +01:00
Sebastian Messmer
17440ec52d Changed TODOs 2015-01-22 23:45:37 +01:00
Sebastian Messmer
2eb58ded2a Added TODO 2015-01-22 23:39:01 +01:00
Sebastian Messmer
99c2e353a4 Restrict datanodestore abstraction to a simple node store without tree operations like resizing 2015-01-22 23:37:36 +01:00
Sebastian Messmer
3e9e46f706 Removed resolved TODOs 2015-01-22 21:57:56 +01:00
Sebastian Messmer
fbec747427 Removed resolved TODOs 2015-01-22 21:57:56 +01:00
Sebastian Messmer
fa604a7fc4 Move datanodestore classes into own c++ package and adapt BlobStoreOnBlocks to it 2014-12-13 19:17:08 +01:00
Sebastian Messmer
7490e55d00 Added some test cases for DataLeafNodeTest 2014-12-13 18:47:31 +01:00
Sebastian Messmer
517ed6929d Add testcases to DataLeafNodeTest 2014-12-13 17:58:11 +01:00
Sebastian Messmer
059629cd8a Rename test cases 2014-12-13 17:49:54 +01:00
Sebastian Messmer
de5eb0fa81 Create own module for datanodestore 2014-12-13 17:48:02 +01:00
Sebastian Messmer
1bbe0532dc Introduce DataNodeStore and refactor DataNode 2014-12-13 17:43:02 +01:00
Sebastian Messmer
9ccb583b4b Introduce DataNodeStore and refactor DataNode 2014-12-13 17:43:02 +01:00
Sebastian Messmer
3ab2302650 Refactor KeyTest 2014-12-13 12:31:24 +01:00
Sebastian Messmer
a97eb08224 Replace magic number in DataNodeView with a depth field 2014-12-13 12:00:19 +01:00
Sebastian Messmer
961fdd1d0b Add Key::ToBinary, Key::FromBinary and more test cases for Key 2014-12-13 11:59:48 +01:00
Sebastian Messmer
c5d0e2c245 Add Key::ToBinary, Key::FromBinary and more test cases for Key 2014-12-13 11:59:48 +01:00
Sebastian Messmer
0d6dcd5b8b Introduce Data::copy() and test case for it, refactor FakeBlobStore using Data::copy() 2014-12-11 01:41:08 +01:00
Sebastian Messmer
fb2b511d06 Create a FakeBlockStore and use it instead of InMemoryBlockStore in tests 2014-12-11 01:31:21 +01:00
Sebastian Messmer
15b10feeaf Create a FakeBlockStore and use it instead of InMemoryBlockStore in tests 2014-12-11 01:31:21 +01:00
Sebastian Messmer
eaf9277d81 Make read-only functions of DataNode const 2014-12-11 00:24:50 +01:00
Sebastian Messmer
d1a7712aee Comments & TODOs 2014-12-11 00:21:34 +01:00
Sebastian Messmer
c3d543619e When shrinking a data node, the old space is overwritten with zeroes 2014-12-11 00:20:23 +01:00
Sebastian Messmer
24c81dd0b0 Implement DataLeafNode::resize and test cases for it 2014-12-10 23:34:36 +01:00
Sebastian Messmer
eebe8a4b75 Write factory methods in DataNode and write more test cases 2014-12-10 22:55:02 +01:00
Sebastian Messmer
1201823b68 Created some test cases for DataLeafNode 2014-12-10 17:59:45 +01:00
Sebastian Messmer
c6867b596e TODOs 2014-12-10 17:28:21 +01:00
Sebastian Messmer
85b100ac9d Written test cases for DataNodeView 2014-12-10 17:26:49 +01:00
Sebastian Messmer
b33cf908fa Redesign DataNodes 2014-12-10 16:48:00 +01:00
Sebastian Messmer
1924c936a4 Remove Key::CreateDummyKey() 2014-12-09 20:57:10 +01:00
Sebastian Messmer
fa5058c8e3 Added some more test cases to key 2014-12-09 20:47:49 +01:00
Sebastian Messmer
77ff3320c0 Added some more test cases to key 2014-12-09 20:46:34 +01:00
Sebastian Messmer
83fad1ca53 Create dedicated Key class for addressing blocks 2014-12-09 20:36:32 +01:00
Sebastian Messmer
0b2b527b4d Create dedicated Key class for addressing blocks 2014-12-09 20:36:32 +01:00
Sebastian Messmer
e7aea38f83 Create dedicated Key class for addressing blocks 2014-12-09 20:36:32 +01:00
Sebastian Messmer
48cc8eeff0 Write a test case that we reject invalid magic numbers 2014-12-09 18:56:45 +01:00
Sebastian Messmer
ec65b31c8e Add DataNode/DataInnerNode/DataLeafNode to blobstore and write testcases for their magic numbers 2014-12-09 18:53:11 +01:00
Sebastian Messmer
5fee5e862a BlobStoreOnBlocks mirrors BlockStore 2014-12-09 17:56:48 +01:00
Sebastian Messmer
532431f8e3 Created basic class structure for blobstore 2014-12-09 17:45:33 +01:00
Sebastian Messmer
e757da0ad3 Rename blobstore to blockstore 2014-12-09 17:19:59 +01:00
Sebastian Messmer
868c06a5f1 Rename blobstore to blockstore 2014-12-09 17:19:59 +01:00
Sebastian Messmer
93a624b228 Rename blobstore to blockstore 2014-12-09 17:19:59 +01:00
Sebastian Messmer
ebc70cff53 Allow creating files 2014-12-09 16:34:34 +01:00
Sebastian Messmer
79455cf01f Implemented basic FileBlob 2014-12-09 11:28:52 +01:00
Sebastian Messmer
9a97287a96 A dir stores a magic number 2014-12-09 11:13:50 +01:00
Sebastian Messmer
b275d47dd9 Renamed VirtualTestFile to DataBlockFixture 2014-12-09 11:01:32 +01:00
Sebastian Messmer
c306d8be66 Renamed VirtualTestFile to DataBlockFixture 2014-12-09 11:01:32 +01:00
Sebastian Messmer
5413384ee3 TODOs 2014-12-07 22:38:48 +01:00
Sebastian Messmer
32d28665a0 TODOs 2014-12-07 22:38:48 +01:00
Sebastian Messmer
2d74935034 CryConfig: DISALLOW_COPY_AND_ASSIGN 2014-12-07 22:29:24 +01:00
Sebastian Messmer
fcc22fe054 CryFS stores root blob key in config file! 2014-12-07 22:26:16 +01:00
Sebastian Messmer
30ac3ab3cb Created a simple mkdir/lsdir for cryfs, backed by blocks 2014-12-07 10:42:16 +01:00
Sebastian Messmer
51bcc2f191 Remove Cryfs Implementation 2014-12-07 08:57:23 +01:00
Sebastian Messmer
2c295ace62 Specify that BlobWithKey takes ownership of the contained blob 2014-12-07 08:57:04 +01:00
Sebastian Messmer
39ab086bb6 Copy current CryFS implementation (which rather was CopyFS) to a copyfs directory 2014-12-07 08:33:47 +01:00