Sebastian Messmer
5d77a82c7f
Fix test cases
2018-12-18 21:36:13 -08:00
Sebastian Messmer
9ebd3d754c
Fix test cases
2018-12-18 21:34:20 -08:00
Sebastian Messmer
d68247070f
When an integrity violation occurs, gracefully unmount the file system and refuse to mount on future attempts
2018-12-10 21:20:18 -08:00
Sebastian Messmer
64150f294e
Fuse offers an onMounted callback that is called when everything is ready.
2018-12-09 12:27:53 -05:00
Sebastian Messmer
449133e3da
- Allow callback when fuse filesystem is mounted
...
- Use that callback to initialize the file system instead of initializing it up front
2018-12-03 01:57:30 -05:00
Sebastian Messmer
d761dba894
Merge branch 'feature/cleanup_keyprovider' into develop
2018-10-27 22:47:13 -07:00
Sebastian Messmer
ff142883b6
TODOs
2018-10-27 22:46:41 -07:00
Sebastian Messmer
187b9ceb53
[wip] Implement either type
2018-10-27 22:34:28 -07:00
Sebastian Messmer
596b04acce
Introduce a CryPresetPasswordBasedKeyProvider for when the password is already known
2018-10-27 20:36:54 -07:00
Sebastian Messmer
74cd8abf05
Introduce CryKeyProvider to have an abstraction layer that allows plugging in non-password-based key providers
2018-10-27 09:48:57 -07:00
Sebastian Messmer
954d6662f6
Simplify: key size is only known at runtime, not a template parameter anymore
2018-10-21 22:53:53 +02:00
Sebastian Messmer
10f8adbb73
Use NiceMock to reduce the log size on Travis CI because we're close to the 4MB limit
2018-10-19 20:34:51 +02:00
Sebastian Messmer
4b26c67146
Fix clang-tidy warnings
2018-10-14 22:26:30 +02:00
Sebastian Messmer
ff62fe9e84
Fix data race in test case
2018-09-26 20:10:43 -07:00
Sebastian Messmer
9102c06356
Remove obsolete test case
2018-09-23 21:58:32 -07:00
Sebastian Messmer
5da8eac56e
Remove unused parameter from statfs()
2018-09-22 14:24:31 -07:00
Sebastian Messmer
3697e9eff4
Disable FuseStatfsPathParameterTest on osx
2018-09-22 12:25:43 -07:00
Sebastian Messmer
56ffe708e2
Fix cpp-utils-test on 32bit Windows
2018-09-19 03:01:31 -07:00
Sebastian Messmer
9a7b9878f5
Change error handling in HttpClient
2018-09-16 23:37:12 -07:00
Sebastian Messmer
1dff0aca85
Don't build fspp-test on Windows because it doesn't work yet
2018-09-16 01:17:14 -07:00
Sebastian Messmer
0769039052
Fix build
2018-09-16 00:06:54 -07:00
Sebastian Messmer
a866fda3a9
Use FUSE_STAT on Dokan
2018-09-15 18:02:03 -07:00
Sebastian Messmer
347be60ba6
Fix inline
2018-09-15 17:41:39 -07:00
Sebastian Messmer
8d21e09159
Introduce fspp::num_bytes_t
2018-09-15 14:32:58 -07:00
Sebastian Messmer
b1dfd94243
Introduce fspp::uid_t, fspp::gid_t and fspp::mode_t
2018-09-14 02:34:11 -07:00
Sebastian Messmer
ac63b5af85
Add FlagsValueType
2018-09-14 01:31:38 -07:00
Sebastian Messmer
ee80327c45
Fix ValueTypeTest for Windows
2018-09-14 00:59:27 -07:00
Sebastian Messmer
63c5d20453
Decouple stat because dokan-fuse and fuse have different structs for that
2018-09-13 22:38:05 -07:00
Sebastian Messmer
d6b1a6e25d
Reduce flakiness in CallAfterTimeoutTest
2018-09-13 18:41:58 -07:00
Sebastian Messmer
5ad55b1d58
- UnswappableAllocator
...
- EncryptionKey uses UnswappableAllocator
2018-09-11 21:51:31 -07:00
Sebastian Messmer
1f363fce62
Introduce Allocators to cpputils::Data
2018-09-11 18:49:13 -07:00
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
6ada5166e9
Fix CliTest regex checks in unit tests on Windows
2018-09-07 21:32:27 -07:00
Sebastian Messmer
af1ed483cf
On Windows, disable a few test cases that don't work
2018-09-07 21:32:09 -07:00
Sebastian Messmer
1be1b5c26e
Don't block if filesystem doesn't finish
2018-09-07 21:32:00 -07:00
Sebastian Messmer
afad6ee465
Improve CliTest running of the file system
2018-09-07 19:54:01 -07:00
Sebastian Messmer
cef6b13317
Fix relative path construction on Windows
2018-09-07 19:13:20 -07:00
Sebastian Messmer
a9e2dea97e
Fix argument string ownership
2018-09-07 19:13:20 -07:00
Sebastian Messmer
d8b66d0967
- If unmounting doesn't work in test case, don't deadlock but exit with error
2018-09-07 19:13:20 -07:00
Sebastian Messmer
de3095a4d4
Fix paths for Windows tests
2018-09-07 19:13:20 -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
2348396ad9
constexpr fix for Windows
2018-09-03 02:29:11 -07:00
Sebastian Messmer
93ed589bf4
Fix includes for Windows
2018-09-03 01:16:29 -07:00
Sebastian Messmer
f5040d2d5a
Fix Windows counter types
2018-09-03 01:11:12 -07:00
Sebastian Messmer
2d757b028d
Windows compatibility for struct stat
2018-09-03 01:08:38 -07:00
Sebastian Messmer
a7ee4e5446
Fix backtrace_test on osx
2018-08-08 22:34:57 -04:00
Sebastian Messmer
847dc893c0
Fix compiler warnings
2018-08-08 22:19:20 -04:00
Sebastian Messmer
1233d44b35
Fix CI
2018-08-07 18:54:51 -07:00
Sebastian Messmer
6f175e0b9b
Fix CI
2018-08-07 18:04:32 -07:00
Sebastian Messmer
acff0e5c39
fix
2018-08-01 17:13:42 -07:00
Sebastian Messmer
355da63a1d
Fix top level exception handler on Windows
2018-08-01 17:13:31 -07:00
Sebastian Messmer
1dd88f0a67
Windows compatibility fixes
2018-07-08 19:47:40 -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
708cd99868
Start splitting fspp-fuse from fspp-interface
2018-05-21 08:11:43 -07:00
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
f2831c0426
Rewrite subprocess and add test cases for it
2018-05-20 19:21:58 -07:00
Sebastian Messmer
89ee45be0b
Add test case for DontEchoStdinToStdoutRAII
2018-05-20 19:21:58 -07:00
Sebastian Messmer
a5ee4d7bab
Fix for older boost versions
2018-05-19 01:19:46 -07:00
Sebastian Messmer
d2beafa03e
Fix AppDataDirExists test on Travis CI
2018-05-18 23:00:37 -07:00
Sebastian Messmer
b715e18a59
Fix non-windows backtrace implementation
2018-05-18 22:29:41 -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
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
bd1dc9f747
Add test case for clock_gettime
2018-05-16 21:47:46 -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
2299867320
Reduce memory usage
2018-05-03 21:32:21 -07:00
Sebastian Messmer
f29e398e51
Rename --no-integrity-checks to --allow-integrity-violations
2018-04-29 13:41:21 -07:00
Sebastian Messmer
d7a41089ba
Add environment variable to specify local storage directory
2018-04-21 22:04:21 -07:00
Sebastian Messmer
fc71242e25
Fix Travis CI build
2018-02-17 18:54:22 -08:00
Sebastian Messmer
621864b50c
Fix test cases
2018-02-07 23:08:01 -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
400a5b5397
fix race condition in CallAfterTimeoutTest
2018-02-02 12:34:45 -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
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