Commit Graph

1042 Commits

Author SHA1 Message Date
Sebastian Messmer
29f7f06ca9 Implement set_thread_name and get_thread_name for debugging purposes 2019-01-20 13:15:11 -08:00
Sebastian Messmer
0db851f73b Merge branch 'release/0.10' into develop 2019-01-19 13:44:04 -08:00
Sebastian Messmer
ad211872d5 Ask users to do backup before migrating 2019-01-19 13:43:55 -08:00
Sebastian Messmer
5793be09bb Merge branch 'release/0.10' into develop 2019-01-19 13:03:22 -08:00
Sebastian Messmer
58cb91102d Implement cryfs-unmount for unmounting filesystems 2019-01-19 13:02:41 -08:00
Sebastian Messmer
58142f1710 Merge branch 'release/0.10' into develop 2019-01-14 23:57:54 -08:00
Sebastian Messmer
30f8d02081 Windows: Allow mounting to drive letters instead of existing folders 2019-01-13 16:29:28 -08:00
Sebastian Messmer
079a43df5f Merge branch 'release/0.10' into develop 2019-01-13 09:28:20 -08:00
Sebastian Messmer
d0efbaaa72 Fix creation of relative symlinks ( https://github.com/cryfs/cryfs/issues/244 ) 2019-01-13 09:27:50 -08:00
Sebastian Messmer
d86fcf27c6 Merge branch 'release/0.10' into develop 2019-01-12 23:21:40 -08:00
Sebastian Messmer
1da3e6cbae - Fix for reading empty files out of bounds
- Fixed race condition (https://github.com/cryfs/cryfs/issues/224 and https://github.com/cryfs/cryfs/issues/243)
2019-01-12 23:21:12 -08:00
Sebastian Messmer
cab2465263 Make traversal exception safe 2019-01-06 10:26:51 -08:00
Sebastian Messmer
6c006721a7 Make traversal exception safe 2019-01-06 10:25:50 -08:00
Sebastian Messmer
822e9585fb Merge branch 'feature/library_intermediate' into feature/library_intermediate2 2018-12-30 00:00:09 +01:00
Sebastian Messmer
0d54e2cd92 Merge branch 'feature/either3' into feature/library_intermediate 2018-12-29 23:59:46 +01:00
Sebastian Messmer
ffdf175981 - Add noexcept specifiers
- Add rvalue overloads for left_opt and right_opt
2018-12-29 23:58:52 +01:00
Sebastian Messmer
892cb3e061 fix 2018-12-29 22:38:54 +01:00
Sebastian Messmer
ce612145d1 Merge branch 'feature/library_intermediate' into feature/library_intermediate2 2018-12-29 11:59:04 +01:00
Sebastian Messmer
91aba83b1e Merge branch 'feature/either3' into feature/library_intermediate 2018-12-29 11:58:52 +01:00
Sebastian Messmer
a1ed40fe56 fix 2018-12-29 11:58:38 +01:00
Sebastian Messmer
8c8a490da0 Merge branch 'feature/library_intermediate' into feature/library_intermediate2 2018-12-28 09:48:12 +01:00
Sebastian Messmer
981b663765 Merge branch 'feature/either3' into feature/library_intermediate 2018-12-28 09:47:57 +01:00
Sebastian Messmer
795ccd4a0b Merge branch 'feature/either2' into feature/either3 2018-12-28 09:47:37 +01:00
Sebastian Messmer
6663ffd036 fix 2018-12-28 09:47:22 +01:00
Sebastian Messmer
a1e2fc4967 Merge branch 'develop' into feature/either2 2018-12-28 09:44:32 +01:00
Sebastian Messmer
bae8707d64 Fix deadlock 2018-12-27 10:17:32 +01:00
Sebastian Messmer
2bae1281c6 Fix deadlock 2018-12-27 10:13:58 +01:00
Sebastian Messmer
a8476a2699 Implement either<A, B> type 2018-12-26 08:19:01 +01:00
Sebastian Messmer
d8841d4f06 Merge branch 'feature/library_intermediate' into feature/library_intermediate2 2018-12-25 19:54:49 +01:00
Sebastian Messmer
6177079d6a Merge branch 'feature/either3' into feature/library_intermediate 2018-12-25 19:54:36 +01:00
Sebastian Messmer
19a08d37f1 Merge branch 'feature/either2' into feature/either3 2018-12-25 19:54:21 +01:00
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