Commit Graph

1011 Commits

Author SHA1 Message Date
Sebastian Messmer
8c02968898 Merge branch 'feature/optional_fix' into feature/either2 2018-12-25 19:54:10 +01:00
Sebastian Messmer
a86ac8241d fix clang-tidy 2018-12-25 19:50:53 +01:00
Sebastian Messmer
7868acad1a Merge branch 'feature/library_intermediate' into feature/library_intermediate2 2018-12-25 10:43:07 +01:00
Sebastian Messmer
b6c72a2a6c merge 2018-12-25 10:42:53 +01:00
Sebastian Messmer
8f9dcad559 Re-enable light_opt()&& and left_opt()&& 2018-12-25 10:40:46 +01:00
Sebastian Messmer
b2bcfce95a More noexcept specifiers 2018-12-25 10:35:36 +01:00
Sebastian Messmer
621b000394 fix debug builds 2018-12-25 10:34:40 +01:00
Sebastian Messmer
d8691d282b Defer daemonization to Fuse, introduce Fuse::runInBackground() / Fuse::runInForeground() 2018-12-24 19:03:38 +01:00
Sebastian Messmer
15aabee1ae merge 2018-12-24 18:55:23 +01:00
Sebastian Messmer
4de6f1d8d9 Re-enable left_opt() and right_opt() for rvalue references 2018-12-24 18:54:22 +01:00
Sebastian Messmer
1b2aaf5da4 Merge 2018-12-24 18:52:48 +01:00
Sebastian Messmer
57fc1f1cb8 Merge branch 'feature/either2' into feature/library_intermediate 2018-12-24 18:35:52 +01:00
Sebastian Messmer
9246856f76 Remove own either 2018-12-24 18:35:47 +01:00
Sebastian Messmer
2878313993 More noexcept specifiers 2018-12-24 18:34:42 +01:00
Sebastian Messmer
59d6a10d28 Fix and add test cases 2018-12-24 18:15:08 +01:00
Sebastian Messmer
0444b809a2 Merge branch 'develop' into feature/either 2018-12-24 09:13:31 +01:00
Sebastian Messmer
ebecf44b40 Fix clang-tidy for either.h 2018-12-23 02:56:30 +01:00
Sebastian Messmer
fcc9d45f41 Apply a fix for Win 7 2018-12-22 10:25:47 +01:00
Sebastian Messmer
0b03326ca2 Exit after error message when run on Windows 7 2018-12-22 10:18:08 +01:00
Sebastian Messmer
51f74a2f6a Don't crash but throw if config file can't be loaded 2018-12-22 01:22:24 +01:00
Sebastian Messmer
99688e51ab Use either<> to indicate errors in config file loading 2018-12-22 00:58:30 +01:00
Sebastian Messmer
525c29c65d Add TempFile::remove() 2018-12-22 00:54:04 +01:00
Sebastian Messmer
fcd239ac65 Merge branch 'develop' into feature/win_pre10 2018-12-18 21:41:02 -08:00
Sebastian Messmer
944cb6c3c5 Return error code when integrity violation is encountered 2018-12-18 21:40:03 -08:00
Sebastian Messmer
d5d2be26be Print error code on error 2018-12-18 21:23:16 -08:00
Sebastian Messmer
2648dd81ee Show error message on pre-10 Windows 2018-12-14 00:40:38 -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
6a3efec18d Allow installing non-release versions 2018-11-21 21:46:00 -08:00
Sebastian Messmer
0db865095b - Use forward instead of backward slashes for paths on Windows in build system and CI 2018-11-21 21:45:27 -08:00
Sebastian Messmer
9c6713a00e Fix cryfs-stat 2018-11-10 12:38:57 -08: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
acheronfail
43755969ca feat: make volname default to mountdir (#226)
* feat: make volname default to mountdir
2018-10-19 20:37:21 +02:00
Sebastian Messmer
4b26c67146 Fix clang-tidy warnings 2018-10-14 22:26:30 +02:00
Sebastian Messmer
f4be42d892 Enable -Werror build for clang on Circle CI 2018-10-02 20:51:33 -07:00
Sebastian Messmer
802ce7c4df Add gcc -Werror run on CI 2018-09-30 00:33:09 -07:00
Sebastian Messmer
e45e410973 Build Windows Installer package with CPack and WIX 2018-09-27 04:35:48 +02:00
Sebastian Messmer
c4b56e0d99 Merge branch 'feature/no_win_header' into develop 2018-09-26 21:00:52 -07:00
Sebastian Messmer
7ba57b4387 Improve blob initialization by using correct size 2018-09-26 20:27:40 -07:00
Sebastian Messmer
d1c0f6ea94 Don't include Windows.h in header files 2018-09-26 19:46:39 -07:00
Sebastian Messmer
5da8eac56e Remove unused parameter from statfs() 2018-09-22 14:24:31 -07:00
Sebastian Messmer
bbed25538c remove unused member 2018-09-22 09:37:14 -07:00
Sebastian Messmer
e7d6228b0f Add a status message showing the DokanY target arch 2018-09-18 22:45:20 -07:00
Sebastian Messmer
c6d2f619ae Update Boost to Boost 1.68.0 and fix linking of a 32bit build against DokanY 2018-09-18 04:35:50 -07:00
Sebastian Messmer
5712f35d69 Fix typo 2018-09-18 03:19:36 -07:00
Sebastian Messmer
4ed555b422 Use unique_ref instead of unique_ptr 2018-09-17 20:12:23 -07:00
Sebastian Messmer
fd07b66173 Remove curl dependency on Windows, use WinHttp instead 2018-09-16 23:42:20 -07:00
Sebastian Messmer
9a7b9878f5 Change error handling in HttpClient 2018-09-16 23:37:12 -07:00
Sebastian Messmer
433ead49a1 Move CurlInitializerRAII into CurlHttpClient 2018-09-16 19:39:50 -07:00
Sebastian Messmer
a866fda3a9 Use FUSE_STAT on Dokan 2018-09-15 18:02:03 -07:00
Sebastian Messmer
61451069e8 Add Dokan to the build system on Windows 2018-09-15 17:42:40 -07:00
Sebastian Messmer
43ffff5900 Introduce fspp::openflags_t 2018-09-15 16:07:56 -07:00
Sebastian Messmer
d1273677a5 Use MSVC instead of WIN32 in CMake 2018-09-15 15:20:22 -07:00
Sebastian Messmer
a8076520ff Make fspp::mode_t more cross-plattform 2018-09-15 14:43:02 -07:00
Sebastian Messmer
8d21e09159 Introduce fspp::num_bytes_t 2018-09-15 14:32:58 -07:00
Sebastian Messmer
26e33a44ea Fix getting current uid/gid in stat() on Windows 2018-09-15 12:17:48 -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
8f2fc3b6b8 Move stat_info and statvfs to Types.h 2018-09-14 01:38:40 -07:00
Sebastian Messmer
ac63b5af85 Add FlagsValueType 2018-09-14 01:31:38 -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
e006a4057f Improve UnswappableAllocator for Windows. It is now guaranteed to not unlock memory too early because of close allocations next to it 2018-09-13 01:01:19 -07:00
Sebastian Messmer
13f820975a Fix IOStreamConsole::askPassword 2018-09-13 05:09:51 -07:00
Sebastian Messmer
804dc89fb7 Fix VirtualLock on Windows 2018-09-13 05:08:42 -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
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