Commit Graph

603 Commits

Author SHA1 Message Date
Sebastian Messmer
f90b7ad778 Merge from develop 2018-02-02 00:21:51 +00:00
Sebastian Messmer
5948f63fc8 When CryFS fails to load a file system, the process stops with a helpful error code, which can be used by GUI tools to show detailed messages. 2018-02-02 00:08:01 +00:00
Sebastian Messmer
6db124383b Merge branch 'develop' into next 2018-02-01 11:25:04 -08:00
Sebastian Messmer
5463c14872 Remove --version test case because it doesn't work 2018-02-01 11:24:55 -08:00
Sebastian Messmer
05f3726ec3 Merge from develop 2018-02-01 11:21:26 -08:00
Sebastian Messmer
5fc0b7cae8 Add --version option that shows the CryFS version and exits. 2018-02-01 10:21:47 -08:00
Sebastian Messmer
124d9ffe04 Disable mars448 test cases if the used crypto++ library version doesn't support it 2018-02-01 09:48:08 -08:00
Sebastian Messmer
67afdd4baa Add test cases for --allow-filesystem-upgrade 2018-02-01 09:45:31 -08:00
Sebastian Messmer
11c6f7fa98 Fix test cases 2018-02-01 02:33:33 -08:00
Sebastian Messmer
7287f1ca4d Fix some tsan warnings 2018-01-15 01:58:48 +00:00
Sebastian Messmer
f439bf9d0f Remove c style casts and unaligned memory accesses 2017-12-03 19:01:41 +00:00
Sebastian Messmer
cc7b38b3c1 - run-clang-tidy.sh also runs on test cases.
- fix clang-tidy warnings in test cases
2017-12-01 15:01:49 +00:00
Sebastian Messmer
006d8b541a Remove unused either class 2017-12-01 15:01:24 +00:00
Sebastian Messmer
e318b4879b Fix CI build 2017-11-05 16:36:11 +00:00
Sebastian Messmer
19e3433035 Fix CI build 2017-11-04 19:03:04 +00:00
Sebastian Messmer
76e7f7da72 Introduce clang-tidy and fix corresponding warnings 2017-10-27 04:02:51 +01:00
Sebastian Messmer
a3e26c7480 Fix test case compatibility with older compilers 2017-10-08 16:23:44 +01:00
Sebastian Messmer
97c6bccc39 Fix test case compatibility with older compilers 2017-10-08 16:14:40 +01:00
Sebastian Messmer
600854572c Disable network tests by default, because they can fail depending on the network setup 2017-10-08 06:54:31 +01:00
Sebastian Messmer
0af087c120 Fix clang warning 2017-10-02 08:01:38 +01:00
Sebastian Messmer
0a7fce6701 Improve CryConfigLoaderTest 2017-09-30 22:44:24 +01:00
Sebastian Messmer
04341f3f7d Add test cases that make sure that CryFS notices if an attacker replaces the whole file system 2017-09-30 22:42:34 +01:00
Sebastian Messmer
be8a1efd35 Improve test cases 2017-09-30 22:24:33 +01:00
Sebastian Messmer
7e01e84d35 Fix accidental change from last commit 2017-09-30 21:35:02 +01:00
Sebastian Messmer
85759961ef Don't keep update check connection open after update check is finished 2017-09-30 18:53:03 +01:00
Sebastian Messmer
bd34a04d0c Fix test cases 2017-09-30 09:30:31 +01:00
Sebastian Messmer
be9f7a4c3d Don't pollute users local state dir when running test cases 2017-09-30 09:18:46 +01:00
Sebastian Messmer
011c6d26ce Don't pollute users local state dir when running test cases 2017-09-30 09:03:19 +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
9fc8b257a0 Fix CI 2017-09-28 21:15:51 -07:00
Sebastian Messmer
9cc3697e1b Fix CI build 2017-09-28 15:13:03 -07:00
Sebastian Messmer
49719e3e66 Use config file instead of dir for basedir metadata 2017-09-28 08:19:30 +01:00
Sebastian Messmer
aace4c2f13 Check that filesystem id didn't change since we loaded the basedir the last time 2017-09-28 07:41:08 +01:00
Sebastian Messmer
26b3b366c9 Use local state file instead of myClientId file 2017-09-23 20:17:05 +01:00
Sebastian Messmer
9fdefaa4e0 Remove BlockStoreWithRandomKeys 2017-09-18 20:42:07 +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
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
ab0a83917f Only run compatibility unit tests in compatibility mode 2017-09-16 01:23:40 +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
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
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
06e8fc15d4 Fix test case build 2017-09-05 00:38:24 +01:00
Sebastian Messmer
bc46bc88e9 Fix some issues with fspp-test on Mac OS X 2017-08-25 00:14:16 +01:00
Sebastian Messmer
f951f41877 Fix cryfs-cli-test on Mac OS X 2017-08-24 23:43:35 +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
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
acf01ec4ff Actually wire up CryDevice to use new block stores 2017-07-18 14:49:51 -07: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
13be2908d0 Add unit tests to BlockStore2Test 2017-07-07 17:50:45 +02:00
Sebastian Messmer
f22a9b2f0a Merge branch 'next' into newblockstore 2017-07-07 15:48:24 +02: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
1b80d7e99d Improve unique_ref tests 2017-04-06 11:10:57 +01:00
Sebastian Messmer
636ed437aa Improve unique_ref tests 2017-04-05 20:48:00 +01:00
Sebastian Messmer
32da878f8f Extend unique_ref tests to custom deleters 2017-04-04 10:57:03 +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
dbf54b9563 Add test cases for BlockStore2 and fix existing BlockStore2 implementations 2017-02-21 22:27:46 +00:00
Sebastian Messmer
cab1c71cac Merge from develop 2017-02-04 19:18:00 +00:00
Sebastian Messmer
9a304fc52b Upgrade spdlog to 0.11.0 2017-02-04 19:03:20 +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
f0f4499200 Fix test cases 2016-09-25 20:05:38 +02:00
Sebastian Messmer
58d6a454d7 Merge branch 'develop' into next 2016-09-25 11:41:33 +02:00
Sebastian Messmer
54fb6fbd89 Fix test cases 2016-09-25 11:41:21 +02:00
Sebastian Messmer
5ff51cb358 Merge branch 'develop' into next 2016-09-25 03:01:42 +02:00
Sebastian Messmer
8ae2dee7fc Fix test cases 2016-09-25 03:01:29 +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
bcf9d3c55d Merge branch 'develop' into next 2016-09-24 20:48:47 +02:00
Sebastian Messmer
f79b80cc56 Fix test case 2016-09-24 20:47:53 +02:00
Sebastian Messmer
b027f8c007 Merge from develop 2016-09-24 20:43:54 +02:00
Sebastian Meßmer
d00151af37 Disable Mars448 test cases when Mars448 is not available and fix Travis CI. (#92) 2016-09-24 19:09:30 +02:00
Sebastian Messmer
378e259eee Fix assert_release_test 2016-09-24 17:05:45 +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
116a90be6d Fix compiler warnings 2016-09-24 11:41:19 +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
f4b1a7eced Fix assert test cases 2016-07-22 14:10:21 +02:00
Sebastian Messmer
a4ce49aef4 Fix unique_ref test cases 2016-07-22 14:07:06 +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
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
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
6fc62a58fa Removed unneeded include 2016-07-15 12:51:29 +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