Commit Graph

728 Commits

Author SHA1 Message Date
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
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