Commit Graph

779 Commits

Author SHA1 Message Date
Sebastian Messmer
26b3b366c9 Use local state file instead of myClientId file 2017-09-23 20:17:05 +01:00
Sebastian Messmer
73aab31ade Make LoopThread noncopyable 2017-09-19 20:16:47 +01:00
Sebastian Messmer
556d9cf452 New default block size: 16KB 2017-09-19 11:20:28 +01:00
Sebastian Messmer
9fdefaa4e0 Remove BlockStoreWithRandomKeys 2017-09-18 20:42:07 +01:00
Sebastian Messmer
a6592ae299 Fix clang build broken in last commit 2017-09-17 02:24:36 +01:00
Sebastian Messmer
5458af7c52 Rename blockstore::Key -> blockstore::BlockId 2017-09-17 02:07:27 +01:00
Sebastian Messmer
10e11f67e2 Make blockstore::Key more typesafe 2017-09-17 00:10:53 +01:00
Sebastian Messmer
f7c089ba47 Fix clang 5.0 compiler warnings 2017-09-16 17:45:15 +01:00
Sebastian Messmer
e4acf4e9a8 Merge from develop 2017-09-16 17:14:51 +01:00
Sebastian Messmer
5299be5dda Wire through the missingBlockIsIntegrityViolation setting 2017-09-16 16:49:33 +01:00
Sebastian Messmer
b6ce7c3ae4 Allow disabling integrity checks on command line 2017-09-16 16:18:53 +01:00
Sebastian Messmer
666d24e7b8 Fix no-compatibility mode 2017-09-16 00:52:23 +01:00
Sebastian Messmer
f6b6875bb2 Rename VersionCountingBlockStore -> IntegrityBlockStore 2017-09-16 00:18:58 +01:00
Sebastian Messmer
00d098952b Storing block ID is job of VersionCountingBlockStore, not EncryptedBlockStore. 2017-09-16 00:09:15 +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
0af7dea095 Fix tests on osx 2017-09-12 00:58:33 +01:00
Sebastian Messmer
0ec081750e Fix test cases 2017-09-11 14:37:06 +01:00
Sebastian Messmer
9516d4facc Further compatibility fixes for GCC 4.8 2017-09-10 14:27:14 +01:00
Sebastian Messmer
a584cddb86 Merge branch 'next' of github.com:cryfs/cryfs into next 2017-09-09 14:45:30 +01:00
Sebastian Messmer
fe1383b4ff Fix build 2017-09-09 14:44: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
Mouse
977a381740 Fix compatibility with Crypto++ 6.0 (#169)
* Fix compatibility with Crypto++ 6.0 in a newly-introduced file EncryptedBlockStore2.h

* Convert fix to how it was done in "develop" branch
2017-09-05 21:51:24 +01:00
Sebastian Messmer
7e56c46bb0 CryFS tells the operating system to not swap the encryption key to the disk (note: this is best-effort and cannot be guaranteed. Hibernation, for example, will still write the encryption key to the disk) 2017-09-05 00:43:43 +01:00
Sebastian Messmer
3aa8b74fd9 Fix fsstat on osx 2017-08-31 23:40:25 +01:00
Sebastian Messmer
4da81fdbef Fix build on Mac OS X 2017-08-24 21:28:59 +01:00
Sebastian Messmer
fc21b0882a Fix relatime performance 2017-08-24 08:19:16 +01:00
Sebastian Messmer
5fb4098c8b Implement relatime behavior for performance 2017-08-23 20:32:36 +01:00
Sebastian Messmer
679b14a4d8 * Allow mounting using system mount tool and /etc/fstab (e.g. mount -t fuse.cryfs basedir mountdir)
* Pass fuse options directly to cryfs (i.e. 'cryfs basedir mountdir -o allow_other' instead of 'cryfs basedir mountdir -- -o allow_other')
2017-08-23 09:56:03 +01:00
Sebastian Messmer
ffc0b5195c - Fix CachingBlockStore2_Specific test cases to actually test CachingBlockStore2
- Remove old CachingBlockStore
2017-08-22 00:03:04 +01:00
Sebastian Messmer
30cec27bd8 Improve remove handling in cache 2017-08-21 23:43:11 +01:00
Sebastian Messmer
9d298bad6c Switch to new caching block store 2017-08-21 23:11:45 +01:00
Sebastian Messmer
509bf6cc26 Fix CachingBlockStore2 and add test case for it 2017-08-21 23:09:43 +01:00
Sebastian Messmer
4add7f3d80 Start implementing new cache 2017-08-21 22:44:35 +01:00
Sebastian Messmer
a45c0bf29a Fix merge conflict 2017-08-20 01:12:28 +01:00
Sebastian Messmer
ff34049787 Merge branch 'next' into newblockstore 2017-08-19 11:54:01 +01:00
Sebastian Messmer
ade23f9b86 Merge branch 'develop' into next 2017-08-19 11:53:22 +01:00
Mouse
7abed14d63 Make compatible with the current Crypto++ master (#163)
* Make compatible with the current Crypto++ master

* Add auto-config and build script. Not important, just a time-saver.

* Address compatibility with Crypto++ 6.0 release, while maintaining compatibility
with the older Crypto++ releases.

* Polish comments in cryptopp_byte.h. Forgot to include it to RandomGeneratorThread - fixed.

* Late at night - forgot to fix the .cpp files that used ::byte...

* Renamed auto-config-and-run script

* Added comments/description, and commented out "make check" that fails anyway

* Changed the include guard to match the rest of the .h files

* Delete build script

* Update ChangeLog.txt

* Update ChangeLog.txt
2017-08-16 03:00:46 +01:00
Sebastian Messmer
4a602ce7a5 Remove old blockstore implementations 2017-07-20 19:32:42 -07:00
Sebastian Messmer
36c29f19cf Fix LowToHighLevelBlock 2017-07-18 16:59:48 -07:00
Sebastian Messmer
acf01ec4ff Actually wire up CryDevice to use new block stores 2017-07-18 14:49:51 -07:00
Sebastian Messmer
872c94865c Use using for shorter code 2017-07-13 02:13:13 -05:00
Sebastian Messmer
534968484c Use using for shorter code 2017-07-13 01:33:35 -05:00
Sebastian Messmer
fbcab0abcc Move stuff to .cpp files 2017-07-13 01:07:07 -05:00
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