Commit Graph

1102 Commits

Author SHA1 Message Date
Sebastian Messmer
251272b517 Fix a race condition when a file descriptor is closed while there's read/write requests for that file being processed. 2019-06-01 19:27:47 -07:00
Sebastian Messmer
0aa0b64712 Refactor traversl in cryfs-stats 2019-05-26 02:34:26 -07:00
Sebastian Messmer
c5febd032a Merge branch 'release/0.10' into develop 2019-05-25 20:19:44 -07:00
Sebastian Messmer
ad5b1e72e3 Improve fspp logging 2019-05-25 19:25:28 -07:00
Sebastian Messmer
412a1ecb90 Silence unused parameter warning 2019-05-25 14:22:45 -07:00
Sebastian Messmer
1d422cbb38 Fix occasional crash in mkdir() on Windows 2019-05-25 13:35:44 -07:00
Sebastian Messmer
7d40937b9a Better logging when local state can't be loaded 2019-05-25 12:28:13 -07:00
Sebastian Messmer
85cc1669a2 Merge from release/0.10 2019-04-03 18:44:48 -07:00
Sebastian Messmer
951f76af15 Fix building with Boost 1.67 2019-04-03 18:36:53 -07:00
Sebastian Messmer
276e7f08e4 Switch from libunwind to boost::stacktrace 2019-04-01 19:18:49 -07:00
Sebastian Messmer
807f0dc01b Use libunwind instead of libbacktrace to build stack traces. This fixes a segfault issue with platforms using libexecinfo and is generally more portable. 2019-03-25 09:29:58 -07:00
Sebastian Messmer
96ae461d34 Remove superfluous SignalHandlerRunningRAII (it is already called inside SignalHandler.h) 2019-03-24 20:53:22 -07:00
Sebastian Messmer
e07a1c5604 Extract SignalHandler from SignalCatcher and also use it for backtrace 2019-03-24 20:52:53 -07:00
Sebastian Messmer
14ad22570d Remove superfluous SignalHandlerRunningRAII (it is already called inside SignalHandler.h) 2019-03-24 18:11:46 -07:00
Andy Weidenbaum
9ee345e16a Implement pthread_getname_np_gcompat for musl (#255) 2019-03-17 16:53:20 -07:00
Sebastian Messmer
8eefb01575 Extract SignalHandler from SignalCatcher and also use it for backtrace 2019-03-17 01:08:57 -07:00
Sebastian Messmer
b738de0564 Merge branch 'release/0.10' into develop 2019-03-16 17:17:44 -07:00
Sebastian Messmer
4b771e85e6 Before, the SignalCatcherRegistry just used the std::atomic pointer to remove SignalCatcherImpls, which could get the wrong SignalCatcherImpl if a SignalCatcher registered multiple SignalCatcherImpls (since they all had the same std::atomic pointer). This wasn't an issue in practice since all SignalCatcherImpls are deregistered at the same time, so it got all of them, but it still wasn't how the code was intended to work. Now, SignalCatcherRegistry uses the SignalCatcherImpl pointer, which is the actual intention. 2019-03-12 01:30:48 -07:00
Sebastian Messmer
5596aa2a4f Merge branch 'release/0.10' into develop 2019-03-02 21:38:07 -08:00
Sebastian Messmer
6f07ebed88 Merge branch 'hotfix/idleunmount' into release/0.10 2019-02-28 22:03:29 -08:00
Sebastian Messmer
f573843f27 Fix --unmount--idle 2019-02-28 02:29:10 -08:00
Sebastian Messmer
a09d38e182 Don't change locale on musl since it would crash 2019-02-28 01:21:49 -08:00
Sebastian Messmer
040f063629 Merge branch 'release/0.10' into develop 2019-02-10 14:29:27 -08:00
Sebastian Messmer
5a5f8f7324 When trying to migrate a file system from CryFS 0.9.3 or older, show an error message suggesting to first open it with 0.9.10 because we can't load that anymore. 2019-02-10 13:07:50 -08:00
Sebastian Messmer
34b5690b04 Merge branch 'release/0.10' into develop 2019-02-09 17:19:45 -08:00
Sebastian Messmer
97c9ac4a75 If file system migration encounters files or folders with the wrong format in the base directory, it now just ignores them instead of crashing. 2019-02-09 14:55:16 -08:00
Sebastian Messmer
6142485859 Merge LeftRight fixes from develop 2019-02-02 13:03:14 -08:00
Sebastian Messmer
95203356cb Fix destructor race in LeftRight and add additional test cases 2019-02-02 13:00:53 -08:00
Sebastian Meßmer
d3ba6d1c39
Fix merge conflict 2019-01-30 15:57:13 -08:00
Sebastian Messmer
97a264a33a Fix include path 2019-01-27 09:18:34 -08:00
Sebastian Messmer
58fd7c3956 Merge from release/0.10 2019-01-27 05:38:17 -08:00
Sebastian Messmer
1cdf530548 Merge branch 'release/0.10' of https://github.com/cryfs/cryfs into release/0.10 2019-01-27 05:24:39 -08:00
Sebastian Messmer
13ad69b3c0 Fix Windows encoding issues for non-ascii characters in filenames (https://github.com/cryfs/cryfs/issues/247) 2019-01-27 05:24:26 -08:00
Sebastian Messmer
0b9fd31dc3 Add progress bar for migrations 2019-01-26 11:19:25 -08:00
Sebastian Messmer
67e9885d10 Implement cpputils::ProgressBar 2019-01-26 11:19:25 -08:00
Sebastian Messmer
8a5091b8a2 Add Blob::numNodes() 2019-01-26 11:19:25 -08:00
Sebastian Messmer
525c6618db Exit cryfs-stats if filesystem is wrong version 2019-01-26 11:19:25 -08:00
Sebastian Messmer
a3a9f25e02 Make integrity migration interrupt-safe 2019-01-26 11:19:25 -08:00
Sebastian Messmer
a19b2281f7 Make parent pointer migration interrupt-safe 2019-01-26 11:19:25 -08:00
Sebastian Messmer
5386f5b0c9 Implement SignalCatcher 2019-01-26 11:19:25 -08:00
Sebastian Messmer
97e0a7e031 Implement LeftRight 2019-01-26 11:19:21 -08:00
Sebastian Messmer
b2f9e5cc60 Move cryfs code into impl/ subfolder 2019-01-25 23:47:17 -08:00
Sebastian Messmer
48dea1b13b Merge branch 'develop' into feature/library_intermediate2 2019-01-24 13:15:57 -08:00
Sebastian Messmer
6fff8c8030 Merge branch 'develop' into feature/library_intermediate 2019-01-24 13:13:44 -08:00
Sebastian Messmer
652a95dd0d If a migration was interrupted, continue on next mount 2019-01-24 10:28:42 -08:00
Sebastian Messmer
86ef1012ac Merge branch 'develop' into feature/remove_cryptopp_compat 2019-01-24 00:43:53 -08:00
Sebastian Messmer
5b30742769 Merge branch 'feature/library_intermediate' into feature/library_intermediate2 2019-01-23 16:47:21 -08:00
Sebastian Messmer
3ad6e4845c fix clang-tidy 2019-01-23 16:47:03 -08:00
Sebastian Messmer
71cfefb6cf Merge branch 'feature/library_intermediate' into feature/library_intermediate2 2019-01-21 23:41:56 -08:00
Sebastian Messmer
227058a87a Merge branch 'develop' into feature/library_intermediate 2019-01-21 23:41:09 -08:00
Sebastian Messmer
4c25bb3ff7 Merge branch 'feature/library_intermediate' into feature/library_intermediate2 2019-01-21 12:01:33 -08:00
Sebastian Messmer
1118e9d54d Fix clang-tidy 2019-01-21 12:01:22 -08:00
Sebastian Messmer
6251793b87 Fix typo 2019-01-21 00:29:37 -08:00
Sebastian Messmer
a34095ffde Merge branch 'release/0.10' into develop 2019-01-21 00:12:17 -08:00
Sebastian Messmer
db6ed6ec99 Use more deterring language in question if file system should be migrated 2019-01-21 00:12:07 -08:00
Sebastian Messmer
136716e65f merge 2019-01-20 20:23:49 -08:00
Sebastian Messmer
b526c3fd89 Merge branch 'develop' into feature/library_intermediate 2019-01-20 20:21:54 -08:00
Sebastian Messmer
ee8be26c83 Merge branch 'release/0.10' into develop 2019-01-20 20:20:54 -08:00
Sebastian Messmer
4f70437715 Remove legacy code making CryFS compatible with older Crypto++ versions. We need a newer Crypto++ versions now anyhow because we use its scrypt implementation. 2019-01-20 14:07:06 -08:00
Sebastian Messmer
8d09fb4c46 Set meaningful thread names for debugging purposes 2019-01-20 13:15:15 -08:00
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