Commit Graph

400 Commits

Author SHA1 Message Date
Sebastian Messmer
16bdbcc2ca Refactor CryConfigCreator (factor out CryConfigConsole). This is preparation for adding a 'use default config' question. 2016-01-17 14:57:40 +01:00
Sebastian Messmer
199552f42d If joining FuseThread fails, don't hang but fail an assertion 2015-12-16 00:20:38 +01:00
Sebastian Messmer
19f4d8bae5 Fix warning on 32bit compilers 2015-12-14 19:26:19 +01:00
Sebastian Messmer
1337e2db4b Reduce memory consumption of BibBlogsTest further 2015-12-14 18:48:11 +01:00
Sebastian Messmer
1d8fdfa0e2 Since the memory issue is fixed now (using a compressed block store), we can re-enable the test cases 2015-12-14 18:19:40 +01:00
Sebastian Messmer
7a43c41787 Use a compressing blockstore for BigBlobsTest. This way, we don't need that much RAM for running it (the big blobs created by the test case are mostly just zero and some few non-zero data areas) 2015-12-14 17:18:12 +01:00
Sebastian Messmer
b8a017b09c Add CompressingBlockStore 2015-12-14 17:17:16 +01:00
Sebastian Messmer
337c338c61 Add Block::resize() 2015-12-14 17:16:54 +01:00
Sebastian Messmer
1cdaf8e08d Fixed compiler error on 32bit platforms 2015-12-13 13:30:05 +01:00
Sebastian Messmer
ff812abf79 Removed nonsensical std::log() testcase 2015-12-11 12:44:20 +01:00
Sebastian Messmer
a68446f983 Comment out failing test cases instead of DISABLING them. Disabling is reserved for working, but slow tests 2015-12-11 12:31:57 +01:00
Sebastian Messmer
1ecabdabeb Disabled BigBlob tests, because they need a lot of time and space 2015-12-11 12:31:09 +01:00
Sebastian Messmer
1121467b31 Fix test cases 2015-12-11 00:46:24 +01:00
Sebastian Messmer
38c56f6764 Support blob sizes >4GB and add test cases for it 2015-12-11 00:18:17 +01:00
Sebastian Messmer
afd900944a Compiles on Mac OS X 2015-11-30 13:52:26 +01:00
Sebastian Messmer
c6658839e0 Test cases run successfully on Mac OS X 2015-11-30 03:17:19 +01:00
Sebastian Messmer
741be2b08f Reduce memory usage of tests 2015-11-29 21:32:12 +01:00
Sebastian Messmer
f670b0f80c Specify "override" when function is override 2015-11-28 16:50:25 +01:00
Sebastian Messmer
31d8dc04f4 Remove strange self-initialization in test case 2015-11-28 16:44:14 +01:00
Sebastian Messmer
f8260ce45f Make CallAfterTimeoutTest less flaky 2015-11-27 22:27:20 +01:00
Sebastian Messmer
5eab16b360 Reduce memory usage of test cases to make it run on travis correctly 2015-11-27 20:59:11 +01:00
Sebastian Messmer
1222cd8de6 Fix test cases for older libfuse versions 2015-11-27 17:43:21 +01:00
Sebastian Messmer
e542529104 Fix test cases 2015-11-27 15:18:33 +01:00
Sebastian Messmer
6227764858 Make classes final if they're not meant to be derived from 2015-11-27 14:05:48 +01:00
Sebastian Messmer
347e3584ee Make CallAfterTimeoutTest less flaky 2015-11-26 16:40:45 +01:00
Sebastian Messmer
ee89bb7ffb Add larger margins to CallAfterTimeoutTest 2015-11-25 22:43:13 +01:00
Sebastian Messmer
38d24bd689 Compatibility with 32bit systems 2015-11-25 16:36:57 +01:00
Sebastian Messmer
83cac1e32d Compatibility with 32bit systems 2015-11-25 15:39:52 +01:00
Sebastian Messmer
529b888048 Code is compatible with gcc 4.8 2015-11-24 14:42:20 +01:00
Sebastian Messmer
fb733929d8 Code is compatible with gcc 4.8 2015-11-24 14:39:41 +01:00
Sebastian Messmer
c646bb848d Code is compatible with GCC 4.8 2015-11-24 14:33:17 +01:00
Sebastian Messmer
68675c6212 - Move HttpClient to cpputils
- Fix VersionChecker behaviour when the returned json is invalid
- Add test cases for VersionChecker
2015-11-24 08:08:11 +01:00
Sebastian Messmer
feb806b392 Add HttpClient 2015-11-24 07:47:29 +01:00
Sebastian Messmer
5b76a11388 When creating a new filesystem, ask password twice (second time for confirmation) 2015-11-19 10:08:09 +01:00
Sebastian Messmer
a4c92848be Fix handling of relative paths and add test cases 2015-11-18 11:01:48 +01:00
Sebastian Messmer
90ea7be899 Make timing test cases more lenient 2015-11-12 15:39:52 -08:00
Sebastian Messmer
1e52e78251 Fix compiler error in test cases 2015-11-12 15:31:11 -08:00
Sebastian Messmer
978e7dbc46 --unmount-idle x automatically unmounts the filesystem after x minutes without a filesystem operation. 2015-11-12 15:06:53 -08:00
Sebastian Messmer
4dab8c7426 Add a class that runs a callback after a (resettable) timeout. This will be used later for unmounting after a certain idle time 2015-11-12 13:08:43 -08:00
Sebastian Messmer
938528840b Added --unmount-idle command line option (without functionality yet)
And refactor cli (group Cli class and program_options in cli subfolder)
2015-11-12 11:43:39 -08:00
Sebastian Messmer
30ae2fc45c Added test cases 2015-11-12 10:59:38 -08:00
Sebastian Messmer
09f6b48710 Add a compatibility test ensuring that it can load config files from version 0.8.1 in future 2015-11-11 18:10:56 -08:00
Sebastian Messmer
9793b0e870 Added test cases for CryConfigEncryptorFactory 2015-11-11 17:10:02 -08:00
Sebastian Messmer
10cbb06a4b Added test cases for CryConfigEncryptor 2015-11-11 14:33:39 -08:00
Sebastian Messmer
f90196826b Added test cases for outer config file encryption 2015-11-11 11:58:09 -08:00
Sebastian Messmer
923cd40acf Add a test case that loading a filesystem doesn't modify the config file 2015-11-11 11:22:46 -08:00
Sebastian Messmer
d003b7f0c5 Added test cases for inner config file encryption 2015-11-11 11:03:05 -08:00
Sebastian Messmer
669e71c056 Inner encryption of configuration file uses the cipher specified by the user 2015-11-11 01:19:47 -08:00
Sebastian Messmer
0b7182f095 Make test cases faster by using SCrypt::TestSettings 2015-11-03 20:27:00 -08:00
Sebastian Messmer
5575509594 New way to configure SCrypt algorithm 2015-11-03 20:13:23 -08:00
Sebastian Messmer
2f5d28440e Hide output of fusermount in test cases 2015-11-03 13:10:56 -08:00
Sebastian Messmer
eeb92debe6 Make test cases non-interacative by using --extpass option 2015-11-03 13:02:04 -08:00
Sebastian Messmer
a5ff0f45d6 - Add --extpass command line option
- Make test cases faster by specifying key random generator to use pseudorandom
2015-11-03 12:22:35 -08:00
Sebastian Messmer
8b585c39fe Renamed daemon folder to process and added Subprocess class to it 2015-11-03 12:20:15 -08:00
Sebastian Messmer
9aee4b1657 Added success tests 2015-11-02 12:20:10 -08:00
Sebastian Messmer
4d6970837e Speedup test cases by using scrypt test config 2015-10-31 17:23:14 +01:00
Sebastian Messmer
d25d51f195 Fixed some issues in the not-yet-used success tests 2015-10-30 22:24:18 +01:00
Sebastian Messmer
6bbdc1be3d Add sanity checks for mount directory 2015-10-30 22:01:42 +01:00
Sebastian Messmer
fdf866a562 Since fork() issue with our threads is solved, use libFuse damonization again 2015-10-30 21:40:38 +01:00
Sebastian Messmer
030adc4b89 TODOs 2015-10-30 20:14:23 +01:00
Sebastian Messmer
bdb6de1c4a Add --cipher and --ciphers command line options 2015-10-30 19:53:15 +01:00
Sebastian Messmer
d731ecf6a6 On startup, check read/write permissions for base directory and fail if permissions missing 2015-10-30 18:28:33 +01:00
Sebastian Messmer
e46fb04c58 Removed debug output from test cases 2015-10-30 17:24:44 +01:00
Sebastian Messmer
a37c1af761 Check that base directory is not inside mount directory 2015-10-30 17:23:08 +01:00
Sebastian Messmer
b7af7ca2f2 Add a sanity check that mountdir can't be equal to rootdir 2015-10-29 20:17:52 +01:00
Sebastian Messmer
c572e7f353 Add a test configuration running cryfs in foreground 2015-10-29 20:00:59 +01:00
Sebastian Messmer
f42eefbc6b Refactor CliTest_WrongEnvironment into a parametrized test 2015-10-29 19:55:26 +01:00
Sebastian Messmer
a358ae859a Refactor Cli test cases 2015-10-29 19:35:22 +01:00
Sebastian Messmer
cdf0025b15 If basedir doesn't exist, immediately quit with error message. Also added test case for this behaviour. 2015-10-29 16:04:20 +01:00
Sebastian Messmer
49c2fe3902 Move Cli (command line interface) to own class and write first test case for it 2015-10-29 10:47:14 +01:00
Sebastian Messmer
dd4c9cbf4b Since our threads now work well with fork(), we can remove the workarounds 2015-10-28 15:27:30 +01:00
Sebastian Messmer
c4dfd55c39 Because LoopThread now works fine with fork(), we don't have to specify this a DeathTest 2015-10-28 15:20:55 +01:00
Sebastian Messmer
3e01c56ad4 Add Cipher::NAME to CipherConcept 2015-10-28 01:49:12 +01:00
Sebastian Messmer
926d1ce7a4 Allow Cipher::NAME (e.g. AES256_GCM::NAME) 2015-10-28 01:41:38 +01:00
Sebastian Messmer
0d5a7d9d10 Adapt to cpputils crypto library 2015-10-27 23:46:54 +01:00
Sebastian Messmer
22a3c90d54 Moved ciphers to cpputils 2015-10-27 23:27:40 +01:00
Sebastian Messmer
c50371d583 Add symmetric ciphers to crypto lib 2015-10-27 23:19:20 +01:00
Sebastian Messmer
1f86f83ca1 Fix test cases 2015-10-27 23:19:11 +01:00
Sebastian Messmer
340bbf842e Moved crypto classes to cpputils 2015-10-27 22:19:40 +01:00
Sebastian Messmer
7b269a1184 Added a crypto library with scrypt key derivation function and random padding 2015-10-27 22:19:06 +01:00
Sebastian Messmer
88262c3ef9 Make SCrypt config modifiable and speed up test cases by using a special test config 2015-10-27 13:28:42 +01:00
Sebastian Messmer
aceeb2644f Refactor folder structure and put classes in own files 2015-10-26 18:14:27 +01:00
Sebastian Messmer
fd184b45d2 Refactor CryConfigEncryptor: Store instance instead of static 2015-10-26 16:36:57 +01:00
Sebastian Messmer
248f0b0d61 FixedSizeData::take/drop() 2015-10-26 12:15:11 +01:00
Sebastian Messmer
90ecee252e Fix DeathTest 2015-10-25 19:13:33 +01:00
Sebastian Messmer
4164c2353e Graceful exiting when password is wrong 2015-10-25 19:00:30 +01:00
Sebastian Messmer
25db4064b7 Use EXPECT_EXIT instead of EXPECT_DEATH 2015-10-25 18:42:49 +01:00
Sebastian Messmer
daa4f0a7f3 CryConfigEncryptor more thoroughly uses Serializer/Deserializer interface 2015-10-25 17:01:28 +01:00
Sebastian Messmer
cde1a3b7b9 Refactor CryConfigEncryptor 2015-10-25 11:33:30 +01:00
Sebastian Messmer
868e12183a Fix Usage line when called with --help and fix test cases 2015-10-24 20:02:43 +02:00
Sebastian Messmer
61ca163339 If a configuration file is not specified on command line, it will be put into the base directory 2015-10-24 19:56:05 +02:00
Sebastian Messmer
371303ae6a Config file is AES256_GCM encrypted, the config file key is generated with scrypt 2015-10-24 19:35:37 +02:00
Sebastian Messmer
7988cc406d Added serialization/deserialization of DerivedKeyConfig 2015-10-24 12:25:49 +02:00
Sebastian Messmer
8741853eef Added key derivation function scrypt 2015-10-24 01:57:17 +02:00
Sebastian Messmer
20b0034ab1 - Refactor main()
- Added CryConfigLoaderTest
2015-10-23 12:16:23 +02:00
Sebastian Messmer
39c62ae185 Added test case for CryConfigFile 2015-10-23 00:04:03 +02:00
Sebastian Messmer
c936fca16a Added test cases for CryConfigCreator 2015-10-22 18:48:14 +02:00
Sebastian Messmer
9bf83a6fe7 Adapted to new key creation interface 2015-10-22 18:48:04 +02:00
Sebastian Messmer
caaf528031 Refactor key creation 2015-10-22 18:19:59 +02:00
Sebastian Messmer
62549eeae6 Adapt to new cpputils::Random interface 2015-10-22 17:41:43 +02:00