Sebastian Messmer
8221e76f3a
Fix migration for loading 0.9.x file systems
2018-02-03 21:33:07 -08:00
Sebastian Messmer
4de805ae41
Update filesystem format version
2018-02-03 10:12:26 -08:00
Sebastian Messmer
02976659d0
Merge from develop
2018-02-03 09:56:49 -08:00
Sebastian Messmer
a9556425dc
Only migrate file system if storage format changed
2018-02-03 09:47:04 -08:00
Sebastian Messmer
652b505eef
Add --allow-replaced-filesystem option to disable filesystem id checks
2018-02-03 08:33:59 -08:00
Sebastian Messmer
cab495f3ac
Fix exit code for when the password is wrong
2018-02-02 06:35:49 -08:00
Sebastian Messmer
58fc26002b
Exit codes for integrity errors
2018-02-01 18:09:28 -08:00
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
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
67afdd4baa
Add test cases for --allow-filesystem-upgrade
2018-02-01 09:45:31 -08:00
Sebastian Messmer
8da4f4d362
Add --allow-filesystem-upgrade option which will upgrade old file systems without asking the user. This will be especially helpful for GUI tools.
2018-02-01 02:04:59 -08:00
Sebastian Messmer
7287f1ca4d
Fix some tsan warnings
2018-01-15 01:58:48 +00:00
Sebastian Messmer
a0fa433f51
Merge from develop
2018-01-12 22:18:36 +00:00
Sebastian Messmer
f439bf9d0f
Remove c style casts and unaligned memory accesses
2017-12-03 19:01:41 +00:00
Sebastian Messmer
d90e27eb11
Fix FakeAuthenticatedCipher test flakyness
2017-12-01 23:55: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
5fe3cada4c
Enable some more clang-tidy checks and fix warnings
2017-10-29 16:35:10 +00:00
Sebastian Messmer
e38af1001d
Remove unused using statements
2017-10-29 15:47:46 +00:00
Sebastian Messmer
5b0fa8c2f7
Workaround clang-tidy warning on newer clang-tidy versions
2017-10-27 15:29:38 +01:00
Sebastian Messmer
76e7f7da72
Introduce clang-tidy and fix corresponding warnings
2017-10-27 04:02:51 +01: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
8eda3bfcd5
Fix std::move misuse
2017-10-08 13:15:11 +01:00
Sebastian Messmer
180170e250
Fix memory leak reported by asan. Not a bad one since it only happens on program exit when the memory is freed anyhow, but better be clean ;)
2017-10-02 07:56:31 +01:00
Sebastian Messmer
d5075ec09e
Fix
2017-10-02 04:14:19 +01:00
Sebastian Messmer
3787777967
Optimize std::move use
2017-10-01 09:04:29 +01:00
Sebastian Messmer
be8a1efd35
Improve test cases
2017-09-30 22:24:33 +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
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
Gerrit Toehgiono
a05e4733ef
Fixes compilation on FreeBSD 11.1 (RELEASE branch) ( #173 )
...
* get_total_memory.cpp: include types.h before sysctl.h (fixes size_t unknown on FreeBSD
* Include fuse.h also in FreeBSD
* update 'defined'-style (src/spp/fuse/params.h)
2017-09-28 10:18:02 -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
David Steele
18788bc3f8
Patch get_total_memory() for freebsd compatibility ( #172 )
2017-09-25 13:55:15 -07:00
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
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