Commit Graph

18 Commits

Author SHA1 Message Date
Sebastian Messmer
2ea77d4c26 Use boost::filesystem::path more portably 2018-05-20 19:22:46 -07:00
Sebastian Messmer
ca68102a50 Prefer repository-cryptopp to system installed one 2018-05-20 19:21:59 -07:00
Sebastian Messmer
f439bf9d0f Remove c style casts and unaligned memory accesses 2017-12-03 19:01:41 +00:00
Sebastian Messmer
5fe3cada4c Enable some more clang-tidy checks and fix warnings 2017-10-29 16:35:10 +00:00
Sebastian Messmer
27fba3252e std::malloc has implementation defined behavior for size=0. Handle this correctly. 2017-10-27 03:58:44 +01:00
Sebastian Messmer
8eac0f055f Fix clang-tidy warnings 2017-10-08 18:29:45 +01:00
Sebastian Messmer
3787777967 Optimize std::move use 2017-10-01 09:04:29 +01:00
Sebastian Messmer
7a5b23db13 Remember hashed filesystem key in local state so attacker can't replace it 2017-09-30 08:49:24 +01:00
Sebastian Messmer
e4acf4e9a8 Merge from develop 2017-09-16 17:14:51 +01:00
Sebastian Messmer
82587ca185 Workaround bug in gcc 6/7 for building unit tests 2017-09-12 22:12:01 +01:00
Sebastian Messmer
51e9ac39d2 GCC bug workaround 2017-09-09 14:40:34 +01:00
Christoph Gysin
d963424630 fix pessimizing move warnings (#170)
This fixes warnings emitted by clang:

src/cpp-utils/data/Data.cpp:37:10:
warning: moving a local object in a return statement prevents copy elision [-Wpessimizing-move]
        return std::move(result);
               ^
src/blockstore/implementations/ondisk/OnDiskBlockStore.cpp:61:17:
warning: moving a temporary object prevents copy elision [-Wpessimizing-move]
        auto result = std::move(OnDiskBlock::CreateOnDisk(_rootdir, key, std::move(data)));
                      ^
src/blobstore/implementations/onblocks/datatreestore/DataTree.cpp:249:10:
warning: moving a local object in a return statement prevents copy elision [-Wpessimizing-move]
        return std::move(chain);
               ^

See also:
http://vmpstr.blogspot.ch/2015/12/redundant-stdmove.html
2017-09-06 17:26:27 +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
f069733650 Fix warning on older gcc versions 2016-07-22 02:57:03 +02:00
Sebastian Messmer
2bc3b641aa Allow Data::FillWithZeroes on rvalue 2016-07-10 22:43:07 +02:00
Sebastian Messmer
7348f7c64d Add checks to Data::LoadFromFile() and Data::StoreToFile() 2016-07-06 15:28:14 -07:00
Sebastian Messmer
ea3de7360c * Block versions don't have to be globally nondecreasing, but only per client id. This solves potential synchronization conflicts in a multi-client setting.
* Use cpputils::Serializer and cpputils::Deserializer instead of std::ifstream for storing/loading the block version list
2016-06-26 22:15:52 -07:00
Sebastian Messmer
92cf6fa66d Refactor directory layout to allow other modules in same repository 2016-02-11 12:04:49 +01:00