Sebastian Messmer
4afe1eb780
Decouple statvfs
2018-09-11 18:26:33 -07:00
Sebastian Messmer
121de7d7ab
Remove some unneeded headers
2018-09-11 00:50:59 -07:00
Sebastian Messmer
498c9da860
Fix CI for osx
2018-09-10 13:11:00 -07:00
Sebastian Messmer
9b990b4fd1
Fix CaptureStderrRAII for Windows
2018-09-07 19:13:16 -07:00
Sebastian Messmer
916632279b
Test cases might set the top level handler multiple times, so we have to allow that
2018-09-07 08:54:45 -07:00
Sebastian Messmer
fafbbb8e3a
Portable way to ask for password
2018-09-03 16:51:59 -07:00
Sebastian Messmer
4778c28898
Some MSVC fixes
2018-09-03 16:06:54 -07:00
Sebastian Messmer
cb96a5fc0a
Portable setenv
2018-09-03 16:06:46 -07:00
Sebastian Messmer
873c51962f
Make filetime test cases work on Windows
2018-09-03 02:33:03 -07:00
Sebastian Messmer
1eaf28dfe4
Use size_t instead of ssize_t for Windows compatibility
2018-08-07 19:21:06 -07:00
Sebastian Messmer
b9eb223dc6
fix fspp-interface dependency
2018-08-07 18:45:05 -07:00
Sebastian Messmer
79ba320714
Fix logger for windows
2018-08-07 18:33:36 -07:00
Sebastian Messmer
70096de4e3
Fix command line parsing on Windows
2018-08-07 18:10:53 -07:00
Sebastian Messmer
76969171c7
Fix time::now() on windows and simplify implementation
2018-08-07 18:07:51 -07:00
Sebastian Messmer
355da63a1d
Fix top level exception handler on Windows
2018-08-01 17:13:31 -07:00
Sebastian Messmer
dd500d631c
Catch const exceptions
2018-08-01 17:02:37 -07:00
Sebastian Messmer
dc83bde24d
Fix path assertions for windows
2018-07-30 00:42:51 -07:00
Sebastian Messmer
0016438fd9
Fix and add more assertions on the path format passed in by fuse
2018-07-30 00:33:34 -07:00
Sebastian Messmer
682efe2be2
Fix set include
2018-07-29 23:28:35 -07:00
Sebastian Messmer
797581b9d2
Fix CryCiphers::supportedCipherNames()
2018-07-29 22:31:25 -07:00
Sebastian Messmer
1b577d000c
Fixes for MSVC
2018-07-17 21:08:17 -07:00
Sebastian Messmer
30874135a2
Further windows fixes
2018-07-08 20:06:59 -07:00
Sebastian Messmer
1dd88f0a67
Windows compatibility fixes
2018-07-08 19:47:40 -07:00
Sebastian Messmer
312ac2ec31
Merge fixes from windows branch
2018-06-08 23:18:10 -07:00
Sebastian Messmer
07ba168107
Finish IdValueType
2018-05-27 21:03:44 -07:00
Sebastian Messmer
e266fa5e98
Add test cases
2018-05-23 23:57:09 -07:00
Sebastian Messmer
0e697eb1f6
Continue implementing ValueType. New approach.
2018-05-23 00:03:32 -07:00
Sebastian Messmer
df2f1d7a2f
Start implementing ValueType
2018-05-22 00:04:00 -07:00
Sebastian Messmer
04e3f0f34f
Start
2018-05-21 23:11:51 -07:00
Sebastian Messmer
95d9dc1557
Removed unnecessary cmake command
2018-05-21 08:11:43 -07:00
Sebastian Messmer
708cd99868
Start splitting fspp-fuse from fspp-interface
2018-05-21 08:11:43 -07:00
Sebastian Messmer
9ef3e5ce63
Use boost::promise because std::promise doesn't compile on windows with non-default-constructible types
2018-05-20 19:22:46 -07:00
Sebastian Messmer
bacc95f2f2
cpputils::free_disk_space_in_bytes for Windows
2018-05-20 19:22:46 -07:00
Sebastian Messmer
e7110afe25
WARN_UNUSED_RESULT for windows
2018-05-20 19:22:46 -07:00
Sebastian Messmer
76dc5cbba8
Fix exception safety in subprocess
2018-05-20 19:22:46 -07:00
Sebastian Messmer
aa4e3c7c08
Fix subprocess for Windows
2018-05-20 19:22:46 -07:00
Sebastian Messmer
2ea77d4c26
Use boost::filesystem::path more portably
2018-05-20 19:22:46 -07:00
Sebastian Messmer
dfd6a0414f
Fix subprocess for osx
2018-05-20 19:21:59 -07:00
Sebastian Messmer
ca68102a50
Prefer repository-cryptopp to system installed one
2018-05-20 19:21:59 -07:00
Sebastian Messmer
ccdb091a84
Fix subprocess on osx
2018-05-20 19:21:58 -07:00
Sebastian Messmer
d0fb8b8412
Make ThreadSystem work on windows
2018-05-20 19:21:58 -07:00
Sebastian Messmer
736052b0ee
Make daemonize() work on windows
2018-05-20 19:21:58 -07:00
Sebastian Messmer
f2831c0426
Rewrite subprocess and add test cases for it
2018-05-20 19:21:58 -07:00
Sebastian Messmer
3296ae92f7
Make subprocess work on windows
2018-05-20 19:21:58 -07:00
Sebastian Messmer
d7e95606f6
Backtrace library is only needed on linux
2018-05-20 19:21:58 -07:00
Sebastian Messmer
e5d8bf82c3
Make DontEchoStdinToStdoutRAII work on windows
2018-05-20 19:21:58 -07:00
Sebastian Messmer
eb8682887f
Increased scrypt hardness to (N=1048576, r=4, p=8) to make it harder to crack the key while allowing cryfs to take advantage of multicore machines.
2018-05-20 19:21:09 -07:00
Sebastian Messmer
fede748ff4
Use cryptopp scrypt instead of vendor/scrypt one
2018-05-20 19:21:09 -07:00
Sebastian Messmer
6dbee297ce
Use cryptopp from vendor/ instead of system
2018-05-20 19:20:45 -07:00
0x4D616E75
1a2036749c
Remove usage of old behavior from cmake 2.8 policy ( #217 )
...
* fix linking of fuse in cryfs-cli, linking of cpp-utils in cryfs tests and remove cmake policy to use behaviors of cmake 2.8 instead of 3.0
* setting link dependencies in cryfs project to public, remove transitive dependencies from cryfs-cli project and cryfs test project
* set gtest and gmock link dependencies from private to public in googletest project
2018-05-20 15:13:49 -07:00
Sebastian Messmer
b49435f405
Fix logging for older compilers
2018-05-18 22:29:52 -07:00
Sebastian Messmer
b715e18a59
Fix non-windows backtrace implementation
2018-05-18 22:29:41 -07:00
Sebastian Messmer
e4d1f44c2a
Cleanup CMakeLists.txt
2018-05-18 22:29:04 -07:00
0x4D616E75
5db592bcc2
fix loading of CURL and Backtracing library with CMake ( #215 )
...
to build on FreeBSD with default compiler (Clang 4.0)
2018-05-17 09:55:15 -07:00
Sebastian Messmer
a686129243
Make cpputils::time::now() work on windows
2018-05-17 06:37:47 -07:00
Sebastian Messmer
9d872ea00c
- Fix clash of our ERROR log level with the ERROR macro defined in windows
...
- Fix definition of log levels so msvc accepts them
2018-05-16 23:03:03 -07:00
Sebastian Messmer
6a37f750f4
Fix c++ standard violation (msvc complains otherwise)
2018-05-16 22:56:50 -07:00
Sebastian Messmer
aeb4f8e852
Remove unnecessary file
2018-05-16 22:52:22 -07:00
Sebastian Messmer
ec9931e09e
- Test showBacktraceOnSigsegv
...
- Test that failed assertions show a backtrace
2018-05-16 22:42:03 -07:00
Sebastian Messmer
3563f4687d
Add testcases for backtrace
2018-05-16 22:31:43 -07:00
Sebastian Messmer
1126d7bd10
- Make get_total_memory work for windows
...
- Add test cases for it
2018-05-16 22:22:42 -07:00
Sebastian Messmer
61cad69671
- Fix nanoseconds in clock_gettime for Mac
...
- Hide clock_gettime in favor of cpputils::time::now()
- Add test cases to cpputils::time::now()
2018-05-16 22:18:45 -07:00
Sebastian Messmer
3ccb46c537
Make DontSwapMemoryRAII work on windows
2018-05-16 21:48:27 -07:00
Sebastian Messmer
2888ea6efd
- Make homedir work on windows
...
- add test cases for homedir
2018-05-16 21:34:01 -07:00
Sebastian Messmer
c1bb081861
Remove unnecessary includes
2018-05-17 02:56:06 -07:00
Sebastian Messmer
efbe606961
Make backtrace work on windows
2018-05-16 19:47:51 -07:00
Sebastian Messmer
b97da2c735
Use XDG instead of /home/heinzi/.cryfs to store integrity data
2018-05-01 23:54:30 -07:00
Sebastian Messmer
f29e398e51
Rename --no-integrity-checks to --allow-integrity-violations
2018-04-29 13:41:21 -07:00
Sebastian Messmer
2b88a0d051
Fix typo
2018-04-21 22:38:24 -07:00
Sebastian Messmer
d7a41089ba
Add environment variable to specify local storage directory
2018-04-21 22:04:21 -07:00
Sebastian Messmer
b0077e7a81
Don't error when trying to change owner/group of root dir, instead just ignore it
2018-04-18 00:24:41 -07:00
Sebastian Messmer
706ef263c9
Fix error logging
2018-04-15 21:37:06 -07:00
Sebastian Messmer
0f1345e64b
Don't error when trying to change root dir timestamp, instead just ignore it
2018-04-04 21:21:21 -07:00
Sebastian Messmer
fc71242e25
Fix Travis CI build
2018-02-17 18:54:22 -08:00
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
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