Sebastian Messmer
|
428290fda5
|
Extend BlockStore2 and write a LowToHighLevelBlockStore as wrapper from BlockStore to BlockStore2
|
2017-07-07 16:18:09 -05:00 |
|
Sebastian Messmer
|
0942275d8c
|
TODOs
|
2017-07-07 18:09:29 +02:00 |
|
Sebastian Messmer
|
d6c27e92c5
|
Add VersionCountingBlockStore2 to build
|
2017-07-07 17:35:38 +02:00 |
|
Sebastian Messmer
|
6bdefc56a4
|
Simplify VersionCountingBlockStore::store()
|
2017-07-07 17:21:52 +02:00 |
|
Sebastian Messmer
|
f22a9b2f0a
|
Merge branch 'next' into newblockstore
|
2017-07-07 15:48:24 +02:00 |
|
Sebastian Messmer
|
ec3bec07ff
|
Assert that unique_ref is always defined and not nullptr
|
2017-04-10 15:14:02 -07:00 |
|
Sebastian Messmer
|
317088e449
|
Rename unique_ref::isValid to is_valid to comply with naming scheme of other functions
|
2017-04-10 14:16:30 -07:00 |
|
Sebastian Messmer
|
d8efcbb144
|
Merge branch 'develop' into next
|
2017-04-06 01:02:13 +01:00 |
|
Sebastian Messmer
|
3d56b97052
|
Make unique_ref constructor explicit
|
2017-04-05 21:02:03 +01:00 |
|
Sebastian Messmer
|
636ed437aa
|
Improve unique_ref tests
|
2017-04-05 20:48:00 +01:00 |
|
Sebastian Messmer
|
ed9f224f19
|
Further unique_ref improvements
|
2017-04-03 19:08:41 +01:00 |
|
Sebastian Messmer
|
2fb61e7c71
|
Further improve unique_ref
|
2017-04-03 15:43:27 +01:00 |
|
Sebastian Messmer
|
9ada10db4d
|
Improve unique_ref
|
2017-04-03 14:43:32 +01:00 |
|
Sebastian Messmer
|
590cd92de5
|
Install man page
|
2017-03-26 14:08:47 +01:00 |
|
Sebastian Messmer
|
dbf54b9563
|
Add test cases for BlockStore2 and fix existing BlockStore2 implementations
|
2017-02-21 22:27:46 +00:00 |
|
Sebastian Messmer
|
d84e65ad76
|
Merge from develop
|
2017-02-18 13:22:43 +00:00 |
|
Sebastian Messmer
|
19bfe97d52
|
du reports correct space usage
|
2017-02-18 13:21:54 +00:00 |
|
Sebastian Messmer
|
70bfc47a2f
|
Start implementing new blockstore
|
2017-02-14 08:16:38 +00:00 |
|
Sebastian Messmer
|
1ec5df98d6
|
Compile cryfs-stats executable
|
2017-02-14 08:15:11 +00:00 |
|
Sebastian Messmer
|
5350a14a4a
|
Add stats tool to build
|
2017-02-11 13:28:34 +00:00 |
|
Sebastian Messmer
|
cab1c71cac
|
Merge from develop
|
2017-02-04 19:18:00 +00:00 |
|
Sebastian Messmer
|
59afd50c28
|
Fix clang build
|
2017-02-04 19:17:17 +00:00 |
|
Sebastian Messmer
|
54e0ffce2e
|
Merge branch 'develop' of github.com:cryfs/cryfs into develop
|
2017-02-04 19:03:32 +00:00 |
|
Sebastian Messmer
|
9a304fc52b
|
Upgrade spdlog to 0.11.0
|
2017-02-04 19:03:20 +00:00 |
|
Sebastian Messmer
|
596d9d0426
|
Merge from develop
|
2017-02-04 14:38:14 +00:00 |
|
Sebastian Messmer
|
7267bb5be4
|
Fix buid on Mac OS X
|
2017-02-04 14:21:00 +00:00 |
|
Nicolas Schneider
|
ffc2fe8eef
|
print defaults for cipher and blocksize in cli help (#124)
Closes #94.
|
2017-01-23 00:23:51 +00:00 |
|
Sebastian Messmer
|
92776fe507
|
Merge branch 'develop' into next
|
2017-01-22 21:24:46 +00:00 |
|
Sebastian Meßmer
|
013be34150
|
Remove unneeded method
|
2017-01-22 19:46:47 +00:00 |
|
Sebastian Messmer
|
af24fa5402
|
Merge branch 'develop' into next
|
2017-01-22 01:11:36 +00:00 |
|
Sebastian Messmer
|
bbdfc5c234
|
Simplify FsppNodeTest
|
2017-01-22 01:11:26 +00:00 |
|
Sebastian Messmer
|
42765c6be6
|
Merge from develop
|
2017-01-21 20:24:09 +00:00 |
|
Sebastian Messmer
|
e37d84a3d6
|
fspp::Dir, fspp::File and fspp::Symlink don't inherit from fspp::Node anymore. This allows file systems to return a generic fspp::Node instead of a concrete subclass when the operation doesn't need to know what type of node it is.
|
2017-01-21 19:16:35 +00:00 |
|
Sebastian Messmer
|
8c9cea6413
|
Fix nullversion recognition in gitversion
|
2016-12-31 16:22:57 +01:00 |
|
Sebastian Messmer
|
681f415272
|
Use curl_global_init/curl_global_cleanup for cleaner shutdown of executable
|
2016-10-26 13:50:20 -07:00 |
|
Sebastian Messmer
|
abae027538
|
Fix compiler error on FreeBSD
|
2016-10-20 10:35:29 +02:00 |
|
Sebastian Messmer
|
fb123f8fd0
|
Removed fixed TODOs
|
2016-10-14 12:34:42 +02:00 |
|
Sebastian Messmer
|
9d05b8571c
|
Merge from develop
|
2016-10-13 18:30:27 +02:00 |
|
Sebastian Messmer
|
bd74a5b762
|
More detailed error reporting if key derivation fails
|
2016-10-02 11:01:14 +02:00 |
|
Sebastian Messmer
|
ce218f264a
|
Silence a static analysis warning
|
2016-09-25 20:36:35 +02:00 |
|
Sebastian Messmer
|
58d6a454d7
|
Merge branch 'develop' into next
|
2016-09-25 11:41:33 +02:00 |
|
Sebastian Messmer
|
6464bfb4b7
|
Disable update checks in noninteractive mode
|
2016-09-25 11:40:01 +02:00 |
|
Sebastian Messmer
|
e009040264
|
Merge from develop
|
2016-09-25 02:53:35 +02:00 |
|
Sebastian Messmer
|
443298844e
|
Fix test cases
|
2016-09-25 02:50:28 +02:00 |
|
Sebastian Messmer
|
b027f8c007
|
Merge from develop
|
2016-09-24 20:43:54 +02:00 |
|
Sebastian Messmer
|
1e9fdc9aa7
|
Refactor noninteractive mode. All yes/no questions are forced to define a default that will be used in noninteractive mode.
|
2016-09-24 20:28:56 +02:00 |
|
Sebastian Messmer
|
1cf52b307d
|
Fix locking in LockPool
|
2016-09-24 17:02:23 +02:00 |
|
Sebastian Messmer
|
11a85ed29f
|
Allow building with -DCRYFS_UPDATE_CHECKS=off, which will create an executable with disabled update checks (the alternative to disable them in the environment also still works).
|
2016-09-24 13:16:26 +02:00 |
|
Sebastian Messmer
|
1c34c88709
|
Remove warning that CryFS is experimental
|
2016-09-24 12:33:22 +02:00 |
|
Sebastian Messmer
|
789bfc7527
|
Fix warning from static analysis tool about std::moving a large CryConfig object
|
2016-09-24 11:42:57 +02:00 |
|
Sebastian Messmer
|
46a2251e9d
|
Fix potential (although improbable) deadlock
|
2016-09-24 11:01:22 +02:00 |
|
Sebastian Messmer
|
b4a609459b
|
When an exception escalates to main, exit with an error code
|
2016-09-24 09:52:19 +02:00 |
|
Sebastian Messmer
|
a1c3079a68
|
Catch exceptions from main
|
2016-09-24 09:51:29 +02:00 |
|
Sebastian Messmer
|
e30656797b
|
Add compatibility with Crypto++ 5.6.4
|
2016-09-24 09:39:37 +02:00 |
|
Sebastian Messmer
|
46183976ee
|
Fix missing virtual destructor and potential integer overflow
|
2016-09-21 20:07:20 +02:00 |
|
Sebastian Meßmer
|
e414f0a20f
|
Switch to LGPL
|
2016-09-13 19:23:08 +02:00 |
|
Sebastian Messmer
|
32f06f288a
|
Fix tree traversal and add test case for it
|
2016-09-07 22:25:18 +02:00 |
|
Sebastian Messmer
|
904e3dd7a1
|
Merge
|
2016-09-07 22:07:56 +02:00 |
|
Sebastian Messmer
|
ea349cf79b
|
Fix traversal bug and add test case for it
|
2016-09-07 19:02:41 +02:00 |
|
Sebastian Messmer
|
0cbb13ffbe
|
Compatibility with older libcurl versions
|
2016-08-27 13:23:25 +02:00 |
|
Sebastian Messmer
|
b315154f08
|
Merge from develop
|
2016-07-23 10:17:42 +02:00 |
|
Sebastian Messmer
|
6360d452fe
|
Make compatible with libcurl >= 7.50
|
2016-07-23 09:04:50 +02:00 |
|
Sebastian Messmer
|
d2cecb4ecc
|
Disable large_read fuse option, since it's not used in new fuse versions anyhow and makes problems when fuse is run in user mode linux.
|
2016-07-22 20:44:06 +02:00 |
|
Sebastian Messmer
|
a4ce49aef4
|
Fix unique_ref test cases
|
2016-07-22 14:07:06 +02:00 |
|
Sebastian Messmer
|
64d26c2f6e
|
Fix compiler error on older gcc
|
2016-07-22 12:58:59 +02:00 |
|
Sebastian Messmer
|
f069733650
|
Fix warning on older gcc versions
|
2016-07-22 02:57:03 +02:00 |
|
Sebastian Messmer
|
e38c0f1e8b
|
Fix isRightBorderNode when growing trees
|
2016-07-17 10:32:59 +02:00 |
|
Sebastian Messmer
|
bbdd8a548b
|
Special case treatment for traversals until exactly the last leaf has to load the last leaf to grow it. Before this commit, we just always loaded the last traversed leaf and checked its size. Now we only do so if it's the right border leaf. This saves us loading some leaves.
|
2016-07-17 10:16:09 +02:00 |
|
Sebastian Messmer
|
b339261924
|
Merge branch 'next' into lessio
|
2016-07-16 17:14:07 +02:00 |
|
Sebastian Messmer
|
f6141f515b
|
TODOs
|
2016-07-16 17:08:53 +02:00 |
|
Sebastian Messmer
|
dc40d61595
|
Merge branch 'next' into lessio
|
2016-07-16 16:47:36 +02:00 |
|
Sebastian Messmer
|
e3690e2f6b
|
Add comment
|
2016-07-16 16:47:27 +02:00 |
|
Sebastian Messmer
|
9c42703c70
|
Merge branch 'next' into lessio
|
2016-07-16 16:10:03 +02:00 |
|
Sebastian Messmer
|
143c3b3b4f
|
Use large reads and large write
|
2016-07-16 16:09:47 +02:00 |
|
Sebastian Messmer
|
eab7cb1df4
|
Implement BlockStore::overwrite(). This is the last step in ensuring that the write() call doen't have to load leaves if they're only overwritten anyhow.
|
2016-07-16 11:42:06 +02:00 |
|
Sebastian Messmer
|
eb792daefc
|
More preparations for not loading blocks in write() calls
|
2016-07-15 21:06:41 +02:00 |
|
Sebastian Messmer
|
d80b95514e
|
Traversal doesn't load leaves, but returns the key. This way, the write() call can (after a future commit) write to full leaves without loading them beforehand.
|
2016-07-15 20:12:24 +02:00 |
|
Sebastian Messmer
|
582917c1f5
|
Improve code decreasing tree depth
|
2016-07-15 16:23:00 +02:00 |
|
Sebastian Messmer
|
b1b90b8c3d
|
Further reduce number of nodes loaded when deleting a tree and write test cases for it
|
2016-07-15 15:42:34 +02:00 |
|
Sebastian Messmer
|
c428d5642a
|
Minimize number of Block::write() calls when creating new nodes in a traversal. Also add test cases for it.
|
2016-07-15 12:48:20 +02:00 |
|
Sebastian Messmer
|
d626349802
|
Finish MockBlockStore to also collect other performance metrics, and implement the standard block store tests for it.
|
2016-07-15 10:23:09 +02:00 |
|
Sebastian Messmer
|
f42e08a5f6
|
Fix DataTree::key() when called while traversing
|
2016-07-14 17:56:47 +02:00 |
|
Sebastian Messmer
|
6ff0839e90
|
Add locking to blob
|
2016-07-14 16:36:30 +02:00 |
|
Sebastian Messmer
|
457ca52eb3
|
Add assertions to unique_ref
|
2016-07-14 16:29:02 +02:00 |
|
Sebastian Messmer
|
7ea08fc2b0
|
Add test cases for removing nodes
|
2016-07-14 16:12:51 +02:00 |
|
Sebastian Messmer
|
91bf6c3647
|
Keep resource destructor in ParallelAccessStore under mutex
|
2016-07-14 15:10:52 +02:00 |
|
Sebastian Messmer
|
3f04a7411c
|
If tree depth increases, and we already traversed the old tree, don't go into it again to grow its last leaf.
|
2016-07-14 14:23:15 +02:00 |
|
Sebastian Messmer
|
cbe122cb5f
|
Add assertions
|
2016-07-14 13:23:36 +02:00 |
|
Sebastian Messmer
|
0bb6b320d4
|
Add asserts
|
2016-07-14 12:58:42 +02:00 |
|
Sebastian Messmer
|
0dbfdf3e2b
|
When shrinking a tree, LeafTraverser takes care of decreasing tree depth, not DataTree anymore. This way, LeafTraverser is now responsible for increasing and decreasing depth as necessary.
|
2016-07-14 12:55:54 +02:00 |
|
Sebastian Messmer
|
35a4e42ba5
|
Small fixes in traversal algorithm
|
2016-07-14 12:38:25 +02:00 |
|
Sebastian Messmer
|
fce81f47ff
|
Simplify code a bit and add assertions
|
2016-07-14 12:03:15 +02:00 |
|
Sebastian Messmer
|
9e9369b9ed
|
Performance optimization: When removing or shrinking a tree, we don't load/read leaves anymore. Loading inner nodes is enough to get all block IDs and then we can delete the leaves from their IDs without loading them.
|
2016-07-13 11:27:31 +02:00 |
|
Sebastian Messmer
|
7a68757599
|
Remove unneeded subtrees when shrinking tree
|
2016-07-13 07:08:53 +02:00 |
|
Sebastian Messmer
|
cf38eb0eb3
|
Use tree traversal to remove data tree.
|
2016-07-13 00:29:36 +02:00 |
|
Sebastian Messmer
|
508766d2f2
|
Fix traversal and add test cases
|
2016-07-13 00:22:35 +02:00 |
|
Sebastian Messmer
|
845b0b5239
|
Use LeafTraversor for resizing blobs
|
2016-07-12 20:36:12 +02:00 |
|
Sebastian Messmer
|
a19d79361c
|
If a tree is grown by a traversal, the tree is kept in a balanced state as long as possible during the traversal
|
2016-07-12 09:57:56 +02:00 |
|
Sebastian Messmer
|
1bf20277e4
|
Removed unnecessary code
|
2016-07-12 01:10:27 +02:00 |
|
Sebastian Messmer
|
58f2212043
|
Don't query size on traversal
|
2016-07-12 01:09:30 +02:00 |
|