Sebastian Messmer
f433da7dc1
Remove --extpass parameter, because that encourages tool writers to do bad things like storing a password in a file and using --extpass="cat filename".
...
The password can now be passed in to stdin without problems, so tools should use that.
2016-02-13 10:46:05 +01:00
Sebastian Messmer
098f16a4fe
Since Mac OS X doesn't support clock_gettime, implement it if running on Mac.
2016-02-13 02:46:00 +01:00
Sebastian Messmer
f749ad66f1
Fix a compiler error on Mac OS X
2016-02-13 02:19:31 +01:00
Sebastian Messmer
3ff69b6a9f
Allow specifying osxfuse include directory on command line using "cmake -DCMAKE_CXX_FLAGS=-I/path/to/osxfuse/include/dir". Furthermore, add some setup instructions for installing the requirements on Mac OS X.
2016-02-13 02:07:19 +01:00
Sebastian Messmer
ff62ef1b88
Don't use libc getpass() for asking the password anymore. It is deprecated and doesn't play nice with tools that want to pass in the password on stdin. Now we just use stdin.
2016-02-12 23:18:13 +01:00
Sebastian Messmer
d05e3841bd
Mountdir has correct ownership and permissions set. Fixes https://github.com/cryfs/cryfs/issues/10
2016-02-12 12:21:39 +01:00
Sebastian Messmer
cfe2a48ebc
Merge branch 0.9 (pre-work for version 0.9)
2016-02-11 17:35:20 +01:00
Sebastian Messmer
fff5b4b6e9
Make CPack work with new repository layout
2016-02-11 17:34:08 +01:00
Sebastian Messmer
c6e8052d93
Merge all git repositories into one
2016-02-11 16:40:48 +01:00
Sebastian Messmer
31672e086c
Fix includes after merging repositories
2016-02-11 15:19:58 +01:00
Sebastian Messmer
31d52d3c8d
Merged blobstore repository
2016-02-11 14:50:18 +01:00
Sebastian Messmer
f3d614c633
Merged blockstore
2016-02-11 14:44:28 +01:00
Sebastian Messmer
4202e6be89
Merge parallelaccessstore repository
2016-02-11 14:22:18 +01:00
Sebastian Messmer
59474b10b6
Handle vendor libraries better in cmake
2016-02-11 14:01:59 +01:00
Sebastian Messmer
9088a3d366
Use lowercase for cmake function definitions and rename add_boost/enable_style_warnings/activate_cpp14 to target_add_boost/target_enable_style_warnings/target_activate_cpp14
2016-02-11 12:57:50 +01:00
Sebastian Messmer
1dcf36d38c
Move fspp to its own subdirectories
2016-02-11 12:53:42 +01:00
Sebastian Messmer
92cf6fa66d
Refactor directory layout to allow other modules in same repository
2016-02-11 12:04:49 +01:00
Sebastian Messmer
11e1b89e31
Define minimal needed boost version
2016-02-11 04:33:15 +01:00
Sebastian Messmer
a35e164ede
Add needed packages to travis
2016-02-11 04:23:46 +01:00
Sebastian Messmer
ee702471f0
Switch to plain cmake, no biicode anymore.
2016-02-10 00:58:03 +01:00
Sebastian Messmer
d23eb08854
Refactor dir blob serialization
2016-02-09 13:47:26 +01:00
Sebastian Messmer
d540adfdfa
Added assert and improved ordering of data in directory blobs
2016-02-09 13:05:16 +01:00
Sebastian Messmer
88e6164d35
Improve platform indepdendence of directory blobs
2016-02-09 12:37:30 +01:00
Sebastian Messmer
68c10afbda
Adding the file access times makes CryFS 0.9 incompatible with earlier versions. This commit adds a warning telling the user when they try to mount an old file system.
2016-02-09 10:55:28 +01:00
Sebastian Messmer
b0beb6b350
Fully support file access times
2016-02-09 09:51:35 +01:00
Sebastian Messmer
452519ed0b
Implement storing file access times.
...
Feature is not enabled yet, because this would break compatiblity with file systems from old CryFS versions (will be enabled in CryFS 0.9.0).
However, it already fixes https://github.com/cryfs/cryfs/issues/4 because it doesn't say 'operation not supported' anymore when modifying file times
2016-02-09 09:43:18 +01:00
Sebastian Messmer
029fb73218
Better error message when config file has wrong header
2016-02-09 09:14:02 +01:00
Sebastian Messmer
ddf6b00b64
Merge branch 'develop' of github.com:cryfs/cryfs into develop
2016-02-06 13:04:44 +01:00
Sebastian Messmer
3427cf71b3
Adapt to new fspp (which got the symlink fix in 8092bfef8e
)
2016-02-06 13:04:02 +01:00
Sebastian Messmer
9f94a88bef
Show "this might take some time" when generating the key
2016-01-28 20:40:56 +00:00
Sebastian Messmer
c4d975260e
When running tests, don't actually send http requests from version checker, but mock the http service.
2016-01-28 17:55:26 +00:00
Sebastian Messmer
80c00974e2
Use https for version checker
2016-01-28 17:55:02 +00:00
Sebastian Messmer
29065746c2
If the given base or mount directory doesn't exist, offer to create them
2016-01-25 15:01:34 +01:00
Sebastian Messmer
af4ef5d425
Offer a default configuration when creating new filesystems
2016-01-25 14:33:40 +01:00
Sebastian Messmer
33906947a8
Adapt to new Console from cpputils (we have to print the newline ourselves now, cpputils doesn't do it anymore)
2016-01-25 14:21:19 +01:00
Sebastian Messmer
e5a2cec5ea
Added test case for CryConfigConsole
2016-01-25 14:03:32 +01:00
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
1d7daf68e2
When installing .deb files, it will automatically add the software source for automatic updates. When uninstalling, the software source will be removed with it.
2015-12-17 19:48:56 +01:00
Sebastian Messmer
5319859700
Adapt to new blobstore which supports blobs >4GB
2015-12-11 00:27:26 +01:00
Sebastian Messmer
0959971b93
Adapt to new fspp interface
2015-12-07 12:14:06 +01:00
Sebastian Messmer
6786508148
Make classes final if they're not meant to be derived from
2015-11-27 14:06:17 +01:00
Sebastian Messmer
7af0bf8056
ChangeLog and TODOs
2015-11-25 15:46:44 +01:00
Sebastian Messmer
529b888048
Code is compatible with gcc 4.8
2015-11-24 14:42:20 +01:00
Sebastian Messmer
7126826eeb
Add a maximal timeout for version update checking
2015-11-24 08:24:37 +01:00
Sebastian Messmer
7664c3de8b
TODOs
2015-11-24 08:08:27 +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
2796915ffe
When there is a new CryFS version, ask the user to update. Furthermore, check if there is a security warning for the installed CryFS version.
2015-11-23 17:43:21 +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
52d3ac5efc
Depend on stable version of Crypto++
2015-11-17 20:17:30 +01:00
Sebastian Messmer
49b4a9b1c0
Allow specifying base and mount directory parameters as relative paths
2015-11-17 01:50:59 -08:00
Sebastian Messmer
3e7af232e7
Better error reporting when root directory is suddenly not accessible anymore
2015-11-16 22:05:25 -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
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
d003b7f0c5
Added test cases for inner config file encryption
2015-11-11 11:03:05 -08:00
Sebastian Messmer
f44ae98bf9
Removed unnecessary parameter
2015-11-11 11:02:01 -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
252a666a37
Refactor (de)serializing config files
2015-11-10 17:50:08 -08:00
Sebastian Messmer
4cedaa5bf4
Fixed failing test cases (was a fault in cpputils library and was fixed there)
2015-11-07 12:21:17 -08:00
Sebastian Messmer
0b7182f095
Make test cases faster by using SCrypt::TestSettings
2015-11-03 20:27:00 -08:00
Sebastian Messmer
eb0a27759c
Show more detailed error message when given arguments are invalid
2015-11-03 13:01:51 -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
9aee4b1657
Added success tests
2015-11-02 12:20:10 -08: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
057113df00
- Catch exceptions in initialization
...
- Show unmount command after successfully mounted
2015-10-30 20:32:25 +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
cdbbad8878
Remove debug output
2015-10-30 17:32:23 +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
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
dceeeecdd7
Improve console output on log creation
2015-10-28 15:27:58 +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
bac18cfbfc
Fix path bug when writing config file to rootdir
2015-10-28 13:44:39 +01:00
Sebastian Messmer
3a04c8697f
Config encryption uses cipher name provided by cipher instead of storing it itself
2015-10-28 01:58:01 +01:00
Sebastian Messmer
be1acba45f
Use cipher names provided by cipher
2015-10-28 01:49:33 +01:00
Sebastian Messmer
c8e6ed5d9f
Fix incompatibility with gcc 4.9
2015-10-28 00:42:49 +01:00
Sebastian Messmer
0d5a7d9d10
Adapt to cpputils crypto library
2015-10-27 23:46:54 +01:00
Sebastian Messmer
340bbf842e
Moved crypto classes to cpputils
2015-10-27 22:19:40 +01:00
Sebastian Messmer
d8ed751039
TODOs
2015-10-27 21:26:08 +01:00
Sebastian Messmer
bb507ce241
Add a header to the inner config encryption so we can change the inner format later without changing the outer format
2015-10-27 21:20:12 +01:00
Sebastian Messmer
0ae9bb7fca
TODOs
2015-10-27 19:01:45 +01:00
Sebastian Messmer
5a73042c63
Add a padding step between inner encryption and outer encryption to hide the size of the cipher name that is added inbetween
2015-10-27 19:00:24 +01:00
Sebastian Messmer
08e4ae8a2e
Config encryption: Prepend inner cipher name to the encrypted data before encrypting it with the outer cipher
2015-10-27 18:50:58 +01:00
Sebastian Messmer
d9eaac5f75
Encrypt config file twice - with an inner and an outer key
2015-10-27 17:33:31 +01:00
Sebastian Messmer
635349d636
Separate CryConfigEncryptor from InnerEncryptor. This is the first step to do two layers of encryption.
2015-10-27 15:28:11 +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
adad371114
Fix config loading
2015-10-26 20:15:04 +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
a840bbba47
Change config file header to contain version information
2015-10-26 12:35:22 +01:00
Sebastian Messmer
4164c2353e
Graceful exiting when password is wrong
2015-10-25 19:00:30 +01:00
Sebastian Messmer
daa4f0a7f3
CryConfigEncryptor more thoroughly uses Serializer/Deserializer interface
2015-10-25 17:01:28 +01:00