Commit Graph

1057 Commits

Author SHA1 Message Date
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
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 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 67afdd4baa Add test cases for --allow-filesystem-upgrade 2018-02-01 09:45:31 -08:00
Sebastian Messmer 8da4f4d362 Add --allow-filesystem-upgrade option which will upgrade old file systems without asking the user. This will be especially helpful for GUI tools. 2018-02-01 02:04:59 -08:00
Sebastian Messmer 7287f1ca4d Fix some tsan warnings 2018-01-15 01:58:48 +00:00
Sebastian Messmer a0fa433f51 Merge from develop 2018-01-12 22:18:36 +00:00
Sebastian Messmer f439bf9d0f Remove c style casts and unaligned memory accesses 2017-12-03 19:01:41 +00:00
Sebastian Messmer d90e27eb11 Fix FakeAuthenticatedCipher test flakyness 2017-12-01 23:55: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 5fe3cada4c Enable some more clang-tidy checks and fix warnings 2017-10-29 16:35:10 +00:00
Sebastian Messmer e38af1001d Remove unused using statements 2017-10-29 15:47:46 +00:00
Sebastian Messmer 5b0fa8c2f7 Workaround clang-tidy warning on newer clang-tidy versions 2017-10-27 15:29:38 +01:00
Sebastian Messmer 76e7f7da72 Introduce clang-tidy and fix corresponding warnings 2017-10-27 04:02:51 +01:00
Sebastian Messmer 27fba3252e std::malloc has implementation defined behavior for size=0. Handle this correctly. 2017-10-27 03:58:44 +01:00
Sebastian Messmer 8eac0f055f Fix clang-tidy warnings 2017-10-08 18:29:45 +01:00
Sebastian Messmer 8eda3bfcd5 Fix std::move misuse 2017-10-08 13:15:11 +01:00
Sebastian Messmer 180170e250 Fix memory leak reported by asan. Not a bad one since it only happens on program exit when the memory is freed anyhow, but better be clean ;) 2017-10-02 07:56:31 +01:00
Sebastian Messmer d5075ec09e Fix 2017-10-02 04:14:19 +01:00
Sebastian Messmer 3787777967 Optimize std::move use 2017-10-01 09:04:29 +01:00
Sebastian Messmer be8a1efd35 Improve test cases 2017-09-30 22:24:33 +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 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
Gerrit Toehgiono a05e4733ef Fixes compilation on FreeBSD 11.1 (RELEASE branch) (#173)
* get_total_memory.cpp: include types.h before sysctl.h (fixes size_t unknown on FreeBSD

* Include fuse.h also in FreeBSD

* update 'defined'-style (src/spp/fuse/params.h)
2017-09-28 10:18:02 -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
David Steele 18788bc3f8 Patch get_total_memory() for freebsd compatibility (#172) 2017-09-25 13:55:15 -07:00
Sebastian Messmer 26b3b366c9 Use local state file instead of myClientId file 2017-09-23 20:17:05 +01:00
Sebastian Messmer 73aab31ade Make LoopThread noncopyable 2017-09-19 20:16:47 +01:00
Sebastian Messmer 556d9cf452 New default block size: 16KB 2017-09-19 11:20:28 +01:00
Sebastian Messmer 9fdefaa4e0 Remove BlockStoreWithRandomKeys 2017-09-18 20:42:07 +01:00
Sebastian Messmer a6592ae299 Fix clang build broken in last commit 2017-09-17 02:24:36 +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 e4acf4e9a8 Merge from develop 2017-09-16 17:14:51 +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 666d24e7b8 Fix no-compatibility mode 2017-09-16 00:52:23 +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 82587ca185 Workaround bug in gcc 6/7 for building unit tests 2017-09-12 22:12:01 +01:00
Sebastian Messmer 0af7dea095 Fix tests on osx 2017-09-12 00:58:33 +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 a584cddb86 Merge branch 'next' of github.com:cryfs/cryfs into next 2017-09-09 14:45:30 +01:00
Sebastian Messmer fe1383b4ff Fix build 2017-09-09 14:44:01 +01:00
Sebastian Messmer 51e9ac39d2 GCC bug workaround 2017-09-09 14:40:34 +01:00
Christoph Gysin d963424630 fix pessimizing move warnings (#170)
This fixes warnings emitted by clang:

src/cpp-utils/data/Data.cpp:37:10:
warning: moving a local object in a return statement prevents copy elision [-Wpessimizing-move]
        return std::move(result);
               ^
src/blockstore/implementations/ondisk/OnDiskBlockStore.cpp:61:17:
warning: moving a temporary object prevents copy elision [-Wpessimizing-move]
        auto result = std::move(OnDiskBlock::CreateOnDisk(_rootdir, key, std::move(data)));
                      ^
src/blobstore/implementations/onblocks/datatreestore/DataTree.cpp:249:10:
warning: moving a local object in a return statement prevents copy elision [-Wpessimizing-move]
        return std::move(chain);
               ^

See also:
http://vmpstr.blogspot.ch/2015/12/redundant-stdmove.html
2017-09-06 17:26:27 +01:00
Mouse 977a381740 Fix compatibility with Crypto++ 6.0 (#169)
* Fix compatibility with Crypto++ 6.0 in a newly-introduced file EncryptedBlockStore2.h

* Convert fix to how it was done in "develop" branch
2017-09-05 21:51:24 +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 3aa8b74fd9 Fix fsstat on osx 2017-08-31 23:40:25 +01:00
Sebastian Messmer 4da81fdbef Fix build on Mac OS X 2017-08-24 21:28:59 +01:00
Sebastian Messmer fc21b0882a Fix relatime performance 2017-08-24 08:19:16 +01:00
Sebastian Messmer 5fb4098c8b Implement relatime behavior for performance 2017-08-23 20:32:36 +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 30cec27bd8 Improve remove handling in cache 2017-08-21 23:43:11 +01:00
Sebastian Messmer 9d298bad6c Switch to new caching block store 2017-08-21 23:11:45 +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 36c29f19cf Fix LowToHighLevelBlock 2017-07-18 16:59:48 -07:00
Sebastian Messmer acf01ec4ff Actually wire up CryDevice to use new block stores 2017-07-18 14:49:51 -07:00
Sebastian Messmer 872c94865c Use using for shorter code 2017-07-13 02:13:13 -05:00
Sebastian Messmer 534968484c Use using for shorter code 2017-07-13 01:33:35 -05:00
Sebastian Messmer fbcab0abcc Move stuff to .cpp files 2017-07-13 01:07:07 -05: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 0942275d8c TODOs 2017-07-07 18:09:29 +02:00
Sebastian Messmer d6c27e92c5 Add VersionCountingBlockStore2 to build 2017-07-07 17:35:38 +02:00
Sebastian Messmer 6bdefc56a4 Simplify VersionCountingBlockStore::store() 2017-07-07 17:21:52 +02:00
Sebastian Messmer f22a9b2f0a Merge branch 'next' into newblockstore 2017-07-07 15:48:24 +02:00
Sebastian Messmer ec3bec07ff Assert that unique_ref is always defined and not nullptr 2017-04-10 15:14:02 -07: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 d8efcbb144 Merge branch 'develop' into next 2017-04-06 01:02:13 +01:00
Sebastian Messmer 3d56b97052 Make unique_ref constructor explicit 2017-04-05 21:02:03 +01:00
Sebastian Messmer 636ed437aa Improve unique_ref tests 2017-04-05 20:48:00 +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 590cd92de5 Install man page 2017-03-26 14:08:47 +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 d84e65ad76 Merge from develop 2017-02-18 13:22:43 +00:00
Sebastian Messmer 19bfe97d52 du reports correct space usage 2017-02-18 13:21:54 +00:00
Sebastian Messmer 70bfc47a2f Start implementing new blockstore 2017-02-14 08:16:38 +00:00
Sebastian Messmer 1ec5df98d6 Compile cryfs-stats executable 2017-02-14 08:15:11 +00:00
Sebastian Messmer 5350a14a4a Add stats tool to build 2017-02-11 13:28:34 +00:00
Sebastian Messmer cab1c71cac Merge from develop 2017-02-04 19:18:00 +00:00
Sebastian Messmer 59afd50c28 Fix clang build 2017-02-04 19:17:17 +00:00
Sebastian Messmer 54e0ffce2e Merge branch 'develop' of github.com:cryfs/cryfs into develop 2017-02-04 19:03:32 +00:00
Sebastian Messmer 9a304fc52b Upgrade spdlog to 0.11.0 2017-02-04 19:03:20 +00:00
Sebastian Messmer 596d9d0426 Merge from develop 2017-02-04 14:38:14 +00:00
Sebastian Messmer 7267bb5be4 Fix buid on Mac OS X 2017-02-04 14:21:00 +00:00
Nicolas Schneider ffc2fe8eef print defaults for cipher and blocksize in cli help (#124)
Closes #94.
2017-01-23 00:23:51 +00:00
Sebastian Messmer 92776fe507 Merge branch 'develop' into next 2017-01-22 21:24:46 +00:00
Sebastian Meßmer 013be34150 Remove unneeded method 2017-01-22 19:46:47 +00:00
Sebastian Messmer af24fa5402 Merge branch 'develop' into next 2017-01-22 01:11:36 +00:00
Sebastian Messmer bbdfc5c234 Simplify FsppNodeTest 2017-01-22 01:11:26 +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 8c9cea6413 Fix nullversion recognition in gitversion 2016-12-31 16:22:57 +01:00
Sebastian Messmer 681f415272 Use curl_global_init/curl_global_cleanup for cleaner shutdown of executable 2016-10-26 13:50:20 -07:00
Sebastian Messmer abae027538 Fix compiler error on FreeBSD 2016-10-20 10:35:29 +02:00
Sebastian Messmer fb123f8fd0 Removed fixed TODOs 2016-10-14 12:34:42 +02:00
Sebastian Messmer 9d05b8571c Merge from develop 2016-10-13 18:30:27 +02:00
Sebastian Messmer bd74a5b762 More detailed error reporting if key derivation fails 2016-10-02 11:01:14 +02:00
Sebastian Messmer ce218f264a Silence a static analysis warning 2016-09-25 20:36:35 +02:00
Sebastian Messmer 58d6a454d7 Merge branch 'develop' into next 2016-09-25 11:41:33 +02:00
Sebastian Messmer 6464bfb4b7 Disable update checks in noninteractive mode 2016-09-25 11:40:01 +02:00
Sebastian Messmer e009040264 Merge from develop 2016-09-25 02:53:35 +02:00
Sebastian Messmer 443298844e Fix test cases 2016-09-25 02:50:28 +02:00
Sebastian Messmer b027f8c007 Merge from develop 2016-09-24 20:43:54 +02:00
Sebastian Messmer 1e9fdc9aa7 Refactor noninteractive mode. All yes/no questions are forced to define a default that will be used in noninteractive mode. 2016-09-24 20:28:56 +02:00
Sebastian Messmer 1cf52b307d Fix locking in LockPool 2016-09-24 17:02:23 +02:00
Sebastian Messmer 11a85ed29f Allow building with -DCRYFS_UPDATE_CHECKS=off, which will create an executable with disabled update checks (the alternative to disable them in the environment also still works). 2016-09-24 13:16:26 +02:00
Sebastian Messmer 1c34c88709 Remove warning that CryFS is experimental 2016-09-24 12:33:22 +02:00
Sebastian Messmer 789bfc7527 Fix warning from static analysis tool about std::moving a large CryConfig object 2016-09-24 11:42:57 +02:00
Sebastian Messmer 46a2251e9d Fix potential (although improbable) deadlock 2016-09-24 11:01:22 +02:00
Sebastian Messmer b4a609459b When an exception escalates to main, exit with an error code 2016-09-24 09:52:19 +02:00
Sebastian Messmer a1c3079a68 Catch exceptions from main 2016-09-24 09:51:29 +02:00
Sebastian Messmer e30656797b Add compatibility with Crypto++ 5.6.4 2016-09-24 09:39:37 +02:00
Sebastian Messmer 46183976ee Fix missing virtual destructor and potential integer overflow 2016-09-21 20:07:20 +02:00
Sebastian Meßmer e414f0a20f Switch to LGPL 2016-09-13 19:23:08 +02:00
Sebastian Messmer 32f06f288a Fix tree traversal and add test case for it 2016-09-07 22:25:18 +02:00
Sebastian Messmer 904e3dd7a1 Merge 2016-09-07 22:07:56 +02:00
Sebastian Messmer ea349cf79b Fix traversal bug and add test case for it 2016-09-07 19:02:41 +02:00
Sebastian Messmer 0cbb13ffbe Compatibility with older libcurl versions 2016-08-27 13:23:25 +02:00
Sebastian Messmer b315154f08 Merge from develop 2016-07-23 10:17:42 +02:00
Sebastian Messmer 6360d452fe Make compatible with libcurl >= 7.50 2016-07-23 09:04:50 +02:00
Sebastian Messmer d2cecb4ecc Disable large_read fuse option, since it's not used in new fuse versions anyhow and makes problems when fuse is run in user mode linux. 2016-07-22 20:44:06 +02:00
Sebastian Messmer a4ce49aef4 Fix unique_ref test cases 2016-07-22 14:07:06 +02:00
Sebastian Messmer 64d26c2f6e Fix compiler error on older gcc 2016-07-22 12:58:59 +02:00
Sebastian Messmer f069733650 Fix warning on older gcc versions 2016-07-22 02:57:03 +02:00
Sebastian Messmer e38c0f1e8b Fix isRightBorderNode when growing trees 2016-07-17 10:32:59 +02:00
Sebastian Messmer bbdd8a548b Special case treatment for traversals until exactly the last leaf has to load the last leaf to grow it. Before this commit, we just always loaded the last traversed leaf and checked its size. Now we only do so if it's the right border leaf. This saves us loading some leaves. 2016-07-17 10:16:09 +02:00
Sebastian Messmer b339261924 Merge branch 'next' into lessio 2016-07-16 17:14:07 +02:00
Sebastian Messmer f6141f515b TODOs 2016-07-16 17:08:53 +02:00
Sebastian Messmer dc40d61595 Merge branch 'next' into lessio 2016-07-16 16:47:36 +02:00
Sebastian Messmer e3690e2f6b Add comment 2016-07-16 16:47:27 +02:00
Sebastian Messmer 9c42703c70 Merge branch 'next' into lessio 2016-07-16 16:10:03 +02:00
Sebastian Messmer 143c3b3b4f Use large reads and large write 2016-07-16 16:09:47 +02:00
Sebastian Messmer eab7cb1df4 Implement BlockStore::overwrite(). This is the last step in ensuring that the write() call doen't have to load leaves if they're only overwritten anyhow. 2016-07-16 11:42:06 +02:00
Sebastian Messmer eb792daefc More preparations for not loading blocks in write() calls 2016-07-15 21:06:41 +02:00
Sebastian Messmer d80b95514e Traversal doesn't load leaves, but returns the key. This way, the write() call can (after a future commit) write to full leaves without loading them beforehand. 2016-07-15 20:12:24 +02:00
Sebastian Messmer 582917c1f5 Improve code decreasing tree depth 2016-07-15 16:23:00 +02:00