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
Sebastian Messmer
7cc2205bc4
Use cpputils::Serializer and cpputils::Deserializer instead of std::memcpy
2015-10-25 13:37: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
9bf83a6fe7
Adapted to new key creation interface
2015-10-22 18:48:04 +02:00
Sebastian Messmer
d8e0465954
Added test cases for CryCipher
2015-10-19 14:22:01 +02:00
Sebastian Messmer
fdc41ffb83
TODOs
2015-10-19 02:47:22 +02:00
Sebastian Messmer
2104a85e95
Refactor config file handling
2015-10-19 02:46:47 +02:00
Sebastian Meßmer
03ad5cbe45
Fix -Weffc++ warnings
2015-10-17 21:33:41 +02:00
Sebastian Meßmer
7b3dcb8260
Allow --logfile option
2015-10-17 18:31:17 +02:00
Sebastian Meßmer
451a84bebc
Pass daemon name to daemonize
2015-10-17 03:28:15 +02:00
Sebastian Meßmer
bb90bb19ba
Fix death tests in multithreading context
2015-10-16 04:06:00 +02:00
Sebastian Meßmer
20612fb245
Add TODOs
2015-10-16 03:29:26 +02:00
Sebastian Meßmer
1c29fecf3c
Added unstable warning and fixed daemonization
2015-10-16 02:38:34 +02:00
Sebastian Meßmer
5f9c2c0611
Unify (and fix) include guards
2015-10-15 13:06:51 +02:00
Sebastian Meßmer
daf330a07f
Fix daemonize() behaviour. CryFS now works correctly when called without '-f'
2015-10-15 03:38:44 +02:00
Sebastian Messmer
ff8eae5293
Added performance warning in debug builds
2015-10-15 00:16:00 +02:00
Sebastian Messmer
f5f8dc7939
Removed debug output
2015-10-14 15:38:57 +02:00
Sebastian Messmer
ba860a771d
Resolved TODOs (was a bug in the cpputils library, was fixed there)
2015-10-14 15:01:08 +02:00
Sebastian Messmer
1f2357ec56
Merge branch 'develop' of github.com:cryfs/cryfs into develop
2015-10-14 02:17:54 +02:00
Sebastian Messmer
f90e2edfef
TODOs
2015-10-14 02:17:50 +02:00
Sebastian Meßmer
d21fe18c39
TODO
2015-10-12 04:40:59 +02:00
Sebastian Messmer
66cd99b0ff
Use hinted linear search instead of binary search
2015-10-08 01:19:44 +02:00
Sebastian Messmer
bf3a028204
DirEntryList keeps its items sorted by key - this allows faster accesses
2015-10-07 21:41:00 +02:00
Sebastian Messmer
3f782a330f
Configure cache size for DirBlob cache
2015-10-07 17:24:28 +02:00
Sebastian Messmer
19c1c0e28e
Refactoring: Factor out a DirEntryList class from DirBlob
2015-10-07 13:45:17 +02:00
Sebastian Messmer
81e856fda2
Fix DirBlob::releaseBaseBlob()
2015-10-05 19:09:17 +02:00
Sebastian Messmer
e890222c77
Write back DirBlob when baseBlob is released
2015-10-05 18:54:51 +02:00
Sebastian Messmer
e5fcf6a9bc
Comments
2015-10-05 17:07:16 +02:00
Sebastian Messmer
44fb3011ed
Add a CachingFsBlobStore
2015-10-05 16:58:33 +02:00
Sebastian Messmer
d9821c2623
Directory Blobs store block keys in binary instead of string
2015-10-05 04:49:04 +02:00
Sebastian Messmer
abde844932
Fix includes
2015-10-05 03:56:37 +02:00
Sebastian Messmer
9c433209c2
Speed up DirBlob reads by using Blob::readAll()
2015-10-05 03:44:20 +02:00
Sebastian Messmer
7e54d284e1
Speed up writing back of DirBlobs by another factor of 3 (so 9 in total) by serializing the whole blob and writing it back with one write() call
2015-10-05 02:55:04 +02:00
Sebastian Messmer
af70891d27
Made writing back DirBlobs faster by writing whole entries at once (speedup factor of 3)
2015-10-05 02:35:06 +02:00
Sebastian Messmer
0367df004e
Added locks to avoid race conditions in FsBlobStore
2015-10-04 17:37:00 +02:00
Sebastian Messmer
1977a720df
Introduced ParallelAccessFsBlobStore to avoid race conditions when accessing the same FsBlob in parallel
2015-10-04 17:20:14 +02:00
Sebastian Messmer
37f7c764d1
Return better fuse errors
2015-09-30 14:27:29 +02:00
Sebastian Messmer
752be4415c
Protect from race conditions happening when the same FsBlob is open multiple times
2015-09-30 14:05:05 +02:00
Sebastian Messmer
e3d2fdb2fd
Refactor: Add fsblobstore layer
2015-09-30 13:21:07 +02:00
Sebastian Messmer
dd39f242a2
Show backtraces on sigsegv
2015-09-29 22:44:19 +02:00
Sebastian Messmer
bf02682734
Error reporting when blob to delete was not found
2015-09-29 18:47:57 +02:00
Sebastian Messmer
dfb030e51b
Config file is also configurable with an option
2015-09-29 14:39:10 +02:00
Sebastian Messmer
27d3ffc472
MountDir and BaseDir are configureable via command line
2015-09-29 14:29:10 +02:00
Sebastian Messmer
20f5d739b7
Small refactoring of main()
2015-09-28 13:41:23 +02:00
Sebastian Messmer
97028b134f
Adapt to new gitversion library
2015-09-19 01:02:42 +02:00
Sebastian Messmer
fe5ea5ab95
Output const_string directly, without toStdString()
2015-09-18 22:09:33 +02:00
Sebastian Messmer
12f1e7983b
Use messmer/gitversion instead of own version parser code
2015-09-18 21:16:42 +02:00
Sebastian Messmer
fc7316f06c
Show number of commits and git id in version number if it is a dev version
2015-09-18 17:34:56 +02:00
Sebastian Messmer
4cf1237bb8
Moved constexpr string manipulations to cpputils::const_string
2015-09-18 17:09:04 +02:00
Sebastian Messmer
3fd5cb7afc
Show version information on console and warn if it is a nonstable or dev version
2015-09-17 14:12:51 +02:00
Sebastian Messmer
6b50ccc14b
Show version information
2015-09-16 22:54:07 +02:00
Sebastian Messmer
8db80d5ebf
Refactor directory structure
2015-09-12 20:16:13 +02:00
Sebastian Messmer
117930fad2
Print a newline around user interactions
2015-09-04 16:09:37 +02:00
Sebastian Messmer
a665e6cdd7
CryFS asks back if a cipher without integrity is chosen
2015-09-04 16:02:55 +02:00
Sebastian Messmer
a9a5a5d04d
Console class supports askYesNo(question)
2015-09-04 16:00:41 +02:00
Sebastian Messmer
218463cf91
Add more encryption ciphers
2015-09-01 00:25:14 +02:00
Sebastian Messmer
84cd362d48
CryFS uses the cipher specified in the configuration file
2015-07-29 12:08:39 +02:00
Sebastian Messmer
a31b5160c9
Fix output
2015-07-26 14:42:43 +02:00
Sebastian Messmer
5607a51594
Added testcase for Console.print()
2015-07-26 13:13:36 +02:00
Sebastian Messmer
fd11436fb9
Test cases don't need user interaction anymore
2015-07-26 13:09:55 +02:00
Sebastian Messmer
fa4a50b7b6
Use assert instead of exception on load error
2015-07-24 20:28:37 +02:00
Sebastian Messmer
bfa07cba69
Use the new assert that doesn't crash the program in a release build
2015-07-22 13:47:19 +02:00
Sebastian Messmer
013d50d8b6
Fix missing using statement in main.cpp
2015-07-21 18:32:40 +02:00
Sebastian Messmer
492caeb418
Migrate from unique_ptr to unique_ref
2015-07-21 18:22:03 +02:00
Sebastian Messmer
43d8174fd4
TODOs
2015-07-20 17:56:20 +02:00
Sebastian Messmer
67c56648e3
CryConfigLoader asks for cipher to use when creating a new config
2015-07-01 14:33:18 +02:00
Sebastian Messmer
337d2c055b
Implemented Console class to interact with the user
2015-07-01 14:32:26 +02:00
Sebastian Messmer
04b18ed768
Adapt to new blobstore
2015-06-26 16:03:24 +02:00
Sebastian Messmer
a1e0358d4c
Adapt to new cpp-utils
2015-06-21 17:44:45 +02:00
Sebastian Meßmer
07689c8bd1
Removed unneeded includes/usings
2015-06-18 19:40:26 +02:00
Sebastian Meßmer
2f22cbc9a8
Adapt to new fspp interface using unique_ref instead of unique_ptr
2015-06-18 19:36:05 +02:00
Sebastian Meßmer
e883bc5747
More use of unique_ref instead of unique_ptr
2015-06-18 13:45:08 +02:00
Sebastian Meßmer
f4d925aa9d
More use of unique_ref instead of unique_ptr
2015-06-18 13:14:43 +02:00
Sebastian Meßmer
b2e661a328
Adapt to new blobstore - having unique_ref<Blob> instead of unique_ptr<Blob>
2015-06-18 12:47:08 +02:00
Sebastian Meßmer
09f89327da
Fix test cases
2015-06-17 12:28:18 +02:00
Sebastian Messmer
aed30a0ec1
Refactored creation of new config files - this happens in a CryConfigLoader now
2015-06-16 18:20:31 +02:00
Sebastian Messmer
fbb16915d3
Encryption keys are drawn using OS randomness
2015-06-16 16:53:58 +02:00
Sebastian Messmer
01f4a5fc28
Fix for clang compiler
2015-06-10 17:19:56 +02:00
Sebastian Messmer
7beb7f1198
Enable extended compiler warnings and resolve occurring ones
2015-05-08 02:11:34 +02:00
Sebastian Messmer
30f7791af7
Make constructors explicit where adequate
2015-04-27 18:20:07 +02:00
Sebastian Messmer
fa4e23ceb4
Fix loading encryption keys from config file
2015-04-27 18:00:11 +02:00
Sebastian Messmer
8f7853f01a
Add basic test case for cryfs
2015-04-27 16:38:09 +02:00
Sebastian Messmer
74e9ffb9f4
Use cpputils::TempFile and cpputils::Data instead of blockstore::TempFile and blockstore::Data
2015-04-25 03:37:25 +02:00
Sebastian Messmer
eeaa6678cd
Switch to authenticated cipher
2015-04-24 23:58:55 +02:00
Sebastian Messmer
22323a0a03
Adapt to new EncryptedBlockStore
2015-04-24 18:14:53 +02:00
Sebastian Meßmer
89a9f1e3d2
Don't crash when trying to chmod/chown the root directory
2015-04-23 09:24:52 +02:00
Sebastian Meßmer
6821684654
Support symlinks
2015-04-23 09:18:30 +02:00
Sebastian Messmer
935549f822
- Adapt to new fspp (symlink support), but don't support symlinks yet
2015-04-22 16:02:23 +02:00
Sebastian Messmer
5c63e1c277
Removed debug output
2015-04-22 14:53:15 +02:00
Sebastian Messmer
12e802fb7b
Create files/dirs owned by the caller
2015-04-22 14:32:03 +02:00
Sebastian Messmer
27e376c121
TODOs
2015-04-21 23:20:54 +02:00
Sebastian Messmer
b96cc48639
Implemented chmod/chown and fixed some minor details
2015-04-21 23:18:50 +02:00
Sebastian Messmer
7b40e22279
Adapt to new blockstore
2015-04-16 14:11:07 +02:00
Sebastian Messmer
54e0bbc7d3
Use block caching and increase block size
2015-04-15 20:42:14 +02:00
Sebastian Messmer
7d4618229b
Implement renaming
2015-04-11 01:42:20 +02:00
Sebastian Messmer
0b2bf1d7b3
Work with new fspp
2015-04-10 23:29:16 +02:00
Sebastian Messmer
de8c697dfc
Experimented a bit with block size
2015-04-10 23:17:23 +02:00
Sebastian Messmer
9ecbe437ab
- Refactor DirBlob: Keep an in-memory vector of the dir entries instead of regularly parsing it
...
- Implement file deletion and dir deletion
2015-04-10 00:52:00 +02:00
Sebastian Messmer
c43612fae6
Implement CryOpenFile::flush
2015-04-09 23:42:04 +02:00
Sebastian Messmer
5596544365
CryFS uses an encrypted blockstore
2015-04-09 21:17:52 +02:00
Sebastian Meßmer
354de197ff
Add some asserts
2015-04-08 14:15:11 +02:00
Sebastian Meßmer
f1a992d187
A CryDir returns . and .. as children
2015-03-19 03:53:21 +01:00
Sebastian Meßmer
56928e68a8
Adapt to new fspp interface
2015-03-18 02:46:06 +01:00
Sebastian Meßmer
4d113613d9
Return error if trying to add an already existing entry to a directory
2015-03-18 02:11:10 +01:00
Sebastian Meßmer
26bdd6ff3a
Move source to src directory
2015-03-16 01:42:50 +01:00
Sebastian Messmer
b59ee2d1e2
Switch to biicode
2015-02-17 01:02:15 +01:00
Sebastian Messmer
3350e9368a
Switch to biicode
2015-02-17 00:40:34 +01:00
Sebastian Messmer
0c851fa452
Switch to biicode
2015-02-17 00:23:33 +01:00
Sebastian Messmer
424c4085a3
TODOs
2015-02-09 19:25:07 +01:00
Sebastian Messmer
7a2e2ec8a6
Written some test cases that the data isn't lost when growing a tree
2015-02-09 18:35:33 +01:00
Sebastian Messmer
b51588670c
Refactor test
2015-01-28 01:11:30 +01:00
Sebastian Messmer
f115e10f6d
Implemented more tests for DataTreeTest
2015-01-28 01:02:32 +01:00
Sebastian Messmer
1b15af4a3c
Add some tests to DataTree
2015-01-27 16:54:46 +01:00
Sebastian Messmer
95e4a7a335
Added a DataTree test case and some TODOs
2015-01-27 00:58:06 +01:00
Sebastian Messmer
77b288a20a
Written some first test cases for DataTree
2015-01-27 00:54:25 +01:00
Sebastian Messmer
a61195642f
Added comment
2015-01-26 00:40:46 +01:00
Sebastian Messmer
58ccf0495e
Source out GetLowestRightBorderNodeWithLessThanKChildrenOrNull and write test cases for it
2015-01-26 00:39:15 +01:00
Sebastian Messmer
03867bb8a2
Write test cases for DataInnerNode::LastChild
2015-01-25 23:54:23 +01:00
Sebastian Messmer
273035cf08
Since blocks now store their keys, we don't need to store it somewhere else.
2015-01-24 22:27:14 +01:00
Sebastian Messmer
76b3724da4
Since blocks now store their keys, we don't need to store it somewhere else.
2015-01-24 22:27:14 +01:00
Sebastian Messmer
dd2c96e363
Since blocks now store their keys, we don't need to store it somewhere else.
2015-01-24 22:27:14 +01:00
Sebastian Messmer
196b543cbb
A block stores its key
2015-01-24 22:08:41 +01:00
Sebastian Messmer
03e10cabf5
Implement copying DataNode blocks and finish DataTree::addDataLeaf implementation
2015-01-24 01:59:42 +01:00
Sebastian Messmer
f4398dfeec
Implemented copying of blocks
2015-01-24 01:24:37 +01:00
Sebastian Messmer
d442016d16
Implemented converting any node into a inner node and wrote test cases. Furthermore, implemented DataTree::addDataLeafToFullTree()
2015-01-24 00:58:40 +01:00
Sebastian Messmer
fcccbcf2e0
Fix some issues in DataTree using OptionalOwnershipPointer
2015-01-23 18:32:26 +01:00
Sebastian Messmer
753c5aab27
Start with DataTreeStore
2015-01-23 04:39:36 +01:00
Sebastian Messmer
dabe6e2567
Written more test cases for DataInnerNode and refactored them a bit
2015-01-23 03:05:55 +01:00
Sebastian Messmer
a427b0e677
Allow adding children to DataInnerNode and write some test cases
2015-01-23 02:41:55 +01:00
Sebastian Messmer
17440ec52d
Changed TODOs
2015-01-22 23:45:37 +01:00
Sebastian Messmer
2eb58ded2a
Added TODO
2015-01-22 23:39:01 +01:00
Sebastian Messmer
99c2e353a4
Restrict datanodestore abstraction to a simple node store without tree operations like resizing
2015-01-22 23:37:36 +01:00
Sebastian Messmer
3e9e46f706
Removed resolved TODOs
2015-01-22 21:57:56 +01:00
Sebastian Messmer
fbec747427
Removed resolved TODOs
2015-01-22 21:57:56 +01:00
Sebastian Messmer
fa604a7fc4
Move datanodestore classes into own c++ package and adapt BlobStoreOnBlocks to it
2014-12-13 19:17:08 +01:00
Sebastian Messmer
7490e55d00
Added some test cases for DataLeafNodeTest
2014-12-13 18:47:31 +01:00
Sebastian Messmer
517ed6929d
Add testcases to DataLeafNodeTest
2014-12-13 17:58:11 +01:00
Sebastian Messmer
059629cd8a
Rename test cases
2014-12-13 17:49:54 +01:00
Sebastian Messmer
de5eb0fa81
Create own module for datanodestore
2014-12-13 17:48:02 +01:00
Sebastian Messmer
1bbe0532dc
Introduce DataNodeStore and refactor DataNode
2014-12-13 17:43:02 +01:00
Sebastian Messmer
9ccb583b4b
Introduce DataNodeStore and refactor DataNode
2014-12-13 17:43:02 +01:00
Sebastian Messmer
3ab2302650
Refactor KeyTest
2014-12-13 12:31:24 +01:00
Sebastian Messmer
a97eb08224
Replace magic number in DataNodeView with a depth field
2014-12-13 12:00:19 +01:00
Sebastian Messmer
961fdd1d0b
Add Key::ToBinary, Key::FromBinary and more test cases for Key
2014-12-13 11:59:48 +01:00
Sebastian Messmer
c5d0e2c245
Add Key::ToBinary, Key::FromBinary and more test cases for Key
2014-12-13 11:59:48 +01:00
Sebastian Messmer
0d6dcd5b8b
Introduce Data::copy() and test case for it, refactor FakeBlobStore using Data::copy()
2014-12-11 01:41:08 +01:00
Sebastian Messmer
fb2b511d06
Create a FakeBlockStore and use it instead of InMemoryBlockStore in tests
2014-12-11 01:31:21 +01:00
Sebastian Messmer
15b10feeaf
Create a FakeBlockStore and use it instead of InMemoryBlockStore in tests
2014-12-11 01:31:21 +01:00
Sebastian Messmer
eaf9277d81
Make read-only functions of DataNode const
2014-12-11 00:24:50 +01:00
Sebastian Messmer
d1a7712aee
Comments & TODOs
2014-12-11 00:21:34 +01:00
Sebastian Messmer
c3d543619e
When shrinking a data node, the old space is overwritten with zeroes
2014-12-11 00:20:23 +01:00
Sebastian Messmer
24c81dd0b0
Implement DataLeafNode::resize and test cases for it
2014-12-10 23:34:36 +01:00
Sebastian Messmer
eebe8a4b75
Write factory methods in DataNode and write more test cases
2014-12-10 22:55:02 +01:00
Sebastian Messmer
1201823b68
Created some test cases for DataLeafNode
2014-12-10 17:59:45 +01:00
Sebastian Messmer
c6867b596e
TODOs
2014-12-10 17:28:21 +01:00
Sebastian Messmer
85b100ac9d
Written test cases for DataNodeView
2014-12-10 17:26:49 +01:00
Sebastian Messmer
b33cf908fa
Redesign DataNodes
2014-12-10 16:48:00 +01:00
Sebastian Messmer
1924c936a4
Remove Key::CreateDummyKey()
2014-12-09 20:57:10 +01:00
Sebastian Messmer
fa5058c8e3
Added some more test cases to key
2014-12-09 20:47:49 +01:00
Sebastian Messmer
77ff3320c0
Added some more test cases to key
2014-12-09 20:46:34 +01:00
Sebastian Messmer
83fad1ca53
Create dedicated Key class for addressing blocks
2014-12-09 20:36:32 +01:00
Sebastian Messmer
0b2b527b4d
Create dedicated Key class for addressing blocks
2014-12-09 20:36:32 +01:00
Sebastian Messmer
e7aea38f83
Create dedicated Key class for addressing blocks
2014-12-09 20:36:32 +01:00
Sebastian Messmer
48cc8eeff0
Write a test case that we reject invalid magic numbers
2014-12-09 18:56:45 +01:00
Sebastian Messmer
ec65b31c8e
Add DataNode/DataInnerNode/DataLeafNode to blobstore and write testcases for their magic numbers
2014-12-09 18:53:11 +01:00
Sebastian Messmer
5fee5e862a
BlobStoreOnBlocks mirrors BlockStore
2014-12-09 17:56:48 +01:00
Sebastian Messmer
532431f8e3
Created basic class structure for blobstore
2014-12-09 17:45:33 +01:00
Sebastian Messmer
e757da0ad3
Rename blobstore to blockstore
2014-12-09 17:19:59 +01:00
Sebastian Messmer
868c06a5f1
Rename blobstore to blockstore
2014-12-09 17:19:59 +01:00
Sebastian Messmer
93a624b228
Rename blobstore to blockstore
2014-12-09 17:19:59 +01:00
Sebastian Messmer
ebc70cff53
Allow creating files
2014-12-09 16:34:34 +01:00
Sebastian Messmer
79455cf01f
Implemented basic FileBlob
2014-12-09 11:28:52 +01:00
Sebastian Messmer
9a97287a96
A dir stores a magic number
2014-12-09 11:13:50 +01:00
Sebastian Messmer
b275d47dd9
Renamed VirtualTestFile to DataBlockFixture
2014-12-09 11:01:32 +01:00
Sebastian Messmer
c306d8be66
Renamed VirtualTestFile to DataBlockFixture
2014-12-09 11:01:32 +01:00
Sebastian Messmer
5413384ee3
TODOs
2014-12-07 22:38:48 +01:00
Sebastian Messmer
32d28665a0
TODOs
2014-12-07 22:38:48 +01:00
Sebastian Messmer
2d74935034
CryConfig: DISALLOW_COPY_AND_ASSIGN
2014-12-07 22:29:24 +01:00
Sebastian Messmer
fcc22fe054
CryFS stores root blob key in config file!
2014-12-07 22:26:16 +01:00
Sebastian Messmer
30ac3ab3cb
Created a simple mkdir/lsdir for cryfs, backed by blocks
2014-12-07 10:42:16 +01:00
Sebastian Messmer
51bcc2f191
Remove Cryfs Implementation
2014-12-07 08:57:23 +01:00
Sebastian Messmer
2c295ace62
Specify that BlobWithKey takes ownership of the contained blob
2014-12-07 08:57:04 +01:00
Sebastian Messmer
39ab086bb6
Copy current CryFS implementation (which rather was CopyFS) to a copyfs directory
2014-12-07 08:33:47 +01:00
Sebastian Messmer
6d0815915c
Redefined error behavior in blob loading when blob key doesn't exist
2014-12-07 00:58:56 +01:00
Sebastian Messmer
aed2148f17
Redefine error behavior in BlobStoreWithRandomKeys when key already exists and write test cases for it
2014-12-07 00:09:44 +01:00
Sebastian Messmer
9125e7a3ce
Factor out BlobStoreWithRandomKeys
2014-12-06 22:28:57 +01:00
Sebastian Messmer
2b112c7fdb
Generalized BlobStoreTest, added more test cases there
2014-12-06 21:28:03 +01:00
Sebastian Messmer
5355d0ca18
BlobStoreTest is a type parameterized test and is instantiated as InMemoryBlobStoreTest and OnDiskBlobStoreTest
2014-12-06 19:46:42 +01:00
Sebastian Messmer
03c490d5b3
Moved test files to correct package
2014-12-06 16:15:33 +01:00
Sebastian Messmer
a116a8330c
Implemented an in-memory blobstore
2014-12-06 16:14:22 +01:00
Sebastian Messmer
e0e9129099
Also move RandomKeyGenerator to utils package
2014-12-06 15:50:37 +01:00
Sebastian Messmer
abcc766375
Moved Data class to an own utils package in blobstore
2014-12-06 15:48:32 +01:00
Sebastian Messmer
1151d4db47
Written Testcases for OnDiskBlobStore
2014-12-06 11:51:57 +01:00
Sebastian Messmer
2d3f329b6a
Block-Keys are created randomly
2014-12-06 11:22:34 +01:00
Sebastian Messmer
11b74dd035
Renamed test cases
2014-12-06 11:21:41 +01:00
Sebastian Messmer
b64d352a8c
BlobStore also returns BlobKey
2014-12-05 15:37:35 +01:00
Sebastian Messmer
24e2d42380
Added test cases for Data::LoadFromFile and Data.StoreToFile
2014-12-05 15:18:43 +01:00
Sebastian Messmer
a489914f80
Added test case for Data.FillWithZeroes()
2014-12-05 12:31:49 +01:00
Sebastian Messmer
b9c2f43afb
Test loading a not existing blob (and fix behaviour for that case)
2014-12-05 12:00:05 +01:00
Sebastian Messmer
2d45783414
Added test cases for OnDiskBlob that load and compare data
2014-12-05 11:50:24 +01:00
Sebastian Messmer
155bbeaba3
Added test cases for OnDiskBlob that load and compare data
2014-12-05 11:50:24 +01:00
Sebastian Messmer
dc8a81eef5
Added test cases that blobs are actually initialized with zeroes
2014-12-05 11:36:14 +01:00
Sebastian Messmer
edd2125685
Rename test case
2014-12-05 11:23:47 +01:00
Sebastian Messmer
a34b5a316f
Added Blob::flush() and test cases for it
2014-12-05 11:22:44 +01:00
Sebastian Messmer
a699350e19
Simplify Data::LoadFromFile and use DISALLOW_COPY_AND_ASSIGN for OnDiskBlob and OnDiskBlobStore
2014-12-05 08:14:19 +01:00
Sebastian Messmer
c20b09030d
Move load from file functionality to Data class
2014-12-05 08:08:45 +01:00
Sebastian Messmer
e32a84eb8e
Add Data::StoreToFile
2014-12-05 07:42:39 +01:00
Sebastian Messmer
e585d12511
Written a test case to test size on loading
2014-12-05 07:22:41 +01:00
Sebastian Messmer
e52da598f4
Write some test cases for OnDiskBlob and also change implementation to adapt them
2014-12-05 07:16:35 +01:00
Sebastian Messmer
ab3b5d906c
Written a ondisk blobstore implementation and started with test cases
2014-12-05 06:20:38 +01:00
Sebastian Messmer
a43359c3b0
Added size parameters to blobstore interface
2014-12-05 06:06:05 +01:00
Sebastian Messmer
90c49dabc6
Written first version of the blobstore interface
2014-12-05 04:50:50 +01:00
Sebastian Messmer
3af17f24d9
Refactor: Move Filesystem.h and FuseErrnoException.h to fuse package
2014-11-28 14:46:45 +01:00
Sebastian Messmer
47a35c94b4
Added write() test cases
2014-11-27 16:40:22 +01:00
Sebastian Messmer
22c1dff622
Refactor FuseReadReturnedDataTest to make VirtualTestFile reusable for the upcoming write tests
2014-11-27 15:23:51 +01:00
Sebastian Messmer
74cf914f1e
Implement flush()
2014-11-21 01:11:24 +01:00
Sebastian Messmer
51cc539f99
Delete dummy test
2014-11-19 00:15:00 +01:00
Sebastian Messmer
6aeaae5436
Make test cases run fuse in a parallel thread. For now, test cases don't use mock fs implementation, but real cryfs. This is to be changed soon.
2014-11-18 00:14:33 +01:00
Sebastian Messmer
c495e6b475
Written a test case setting up a file system and tearing it down again afterwards
2014-11-17 21:13:58 +01:00
Sebastian Messmer
193b2b1b88
Finished renaming fusepp -> fspp
2014-11-16 00:10:29 +01:00
Sebastian Messmer
f5a6f79e09
Finished renaming fusepp -> fspp
2014-11-16 00:10:29 +01:00
Sebastian Messmer
e863e5b6ce
Rename namespace fusepp -> fspp
2014-11-16 00:05:28 +01:00
Sebastian Messmer
d14e825cee
Rename namespace fusepp -> fspp
2014-11-16 00:05:28 +01:00
Sebastian Messmer
3f318281ec
Rename FuseFile -> File and so on
2014-11-15 23:47:38 +01:00
Sebastian Messmer
c730fb5ebf
Rename FuseFile -> File and so on
2014-11-15 23:47:38 +01:00
Sebastian Messmer
6dce6ffd80
Put fuse bindings in their own directory
2014-11-15 17:24:07 +01:00
Sebastian Messmer
749239ad0f
Put fuse bindings in their own directory
2014-11-15 17:24:07 +01:00
Sebastian Messmer
382a7b89f1
Created a CryFs implementation based on the Fuse classes
2014-11-15 16:33:24 +01:00
Sebastian Messmer
272456e187
Created a CryFs implementation based on the Fuse classes
2014-11-15 16:33:24 +01:00
Sebastian Messmer
d088995178
Renamed cryfs::CryXXX classes to fusepp::FuseXXX classes
2014-11-15 15:16:18 +01:00
Sebastian Messmer
da7debdf9d
Renamed cryfs::CryXXX classes to fusepp::FuseXXX classes
2014-11-15 15:16:18 +01:00
Sebastian Messmer
1cd2364b7f
Simplify readdir
2014-11-13 00:03:03 +01:00
Sebastian Messmer
9af5f72665
Simplify readdir
2014-11-13 00:03:03 +01:00
Sebastian Messmer
27057f8c82
Fix creat
2014-11-12 23:13:00 +01:00
Sebastian Messmer
d8d35ae462
Resolve TODO2
2014-11-12 22:50:40 +01:00
Sebastian Messmer
b265dd9313
Resolve TODO2
2014-11-12 22:50:40 +01:00
Sebastian Messmer
35d997779a
Removed todo
2014-11-12 22:47:20 +01:00
Sebastian Messmer
9dabea5e5d
Removed todo
2014-11-12 22:47:20 +01:00
Sebastian Messmer
009b09df70
Fix error code
2014-11-12 22:40:47 +01:00
Sebastian Messmer
1fba488a07
Fix error code
2014-11-12 22:40:47 +01:00
Sebastian Messmer
3b376aa048
Fix IdList and implement statfs()
2014-11-12 22:38:12 +01:00
Sebastian Messmer
df80fdfb74
Fix IdList and implement statfs()
2014-11-12 22:38:12 +01:00
Sebastian Messmer
708ca7b1d6
utimens
2014-11-12 21:55:34 +01:00
Sebastian Messmer
31aa6228bb
utimens
2014-11-12 21:55:34 +01:00
Sebastian Messmer
0dc7fe2bb8
Fix unimplemented utimens
2014-11-12 15:42:47 +01:00
Sebastian Messmer
7ddf6d0672
Fix unimplemented utimens
2014-11-12 15:42:47 +01:00
Sebastian Messmer
bedf079af2
fix readdir
2014-11-12 15:41:26 +01:00
Sebastian Messmer
194f1cba48
opendir/readdir/releasedir
2014-11-12 15:34:01 +01:00
Sebastian Messmer
3b2de412c8
opendir/readdir/releasedir
2014-11-12 15:34:01 +01:00
Sebastian Messmer
d2cba6cfe6
Implemented CryDir opening
2014-11-12 15:19:32 +01:00
Sebastian Messmer
abc8811e17
Generalized IdList
2014-11-12 15:19:04 +01:00
Sebastian Messmer
c1ef981368
Make some functions not-implemented
2014-11-12 13:54:29 +01:00
Sebastian Messmer
9db97ff258
Make some functions not-implemented
2014-11-12 13:54:29 +01:00
Sebastian Messmer
e3259d68f9
rename
2014-11-12 12:43:49 +01:00
Sebastian Messmer
e561f52dd5
rename
2014-11-12 12:43:49 +01:00
Sebastian Messmer
a0a30e3c75
fix compiler warnings
2014-11-12 12:36:04 +01:00
Sebastian Messmer
b85da9a688
rmdir
2014-11-12 12:34:35 +01:00
Sebastian Messmer
8561d90de0
rmdir
2014-11-12 12:34:35 +01:00
Sebastian Messmer
3727dd8b74
unlink
2014-11-12 12:31:38 +01:00
Sebastian Messmer
afd4066ef7
unlink
2014-11-12 12:31:38 +01:00
Sebastian Messmer
c5e8c37588
mkdir
2014-11-12 12:27:23 +01:00
Sebastian Messmer
c112def985
mkdir
2014-11-12 12:27:23 +01:00
Sebastian Messmer
8182a45d65
Fix create!
2014-11-11 00:38:33 +01:00
Sebastian Messmer
bfd7d20c8b
Fix file reading
2014-11-11 00:18:24 +01:00
Sebastian Messmer
a8604d7b58
Fix file reading
2014-11-11 00:18:24 +01:00
Sebastian Messmer
f86db75948
Refactor
2014-11-10 23:51:45 +01:00
Sebastian Messmer
2e06e0a3b0
Refactor
2014-11-10 23:51:45 +01:00
Sebastian Messmer
6b8c205916
Implemented file operations using our class hierarchy
2014-11-10 23:47:41 +01:00
Sebastian Messmer
ca745bb3da
Implemented file operations using our class hierarchy
2014-11-10 23:47:41 +01:00
Sebastian Messmer
80d708d62d
Implement CryOpenFile and infrastructure around it
2014-11-10 22:42:17 +01:00
Sebastian Messmer
21f1a294ab
Implement CryOpenFile and infrastructure around it
2014-11-10 22:42:17 +01:00
Sebastian Messmer
91dd8a7395
Better test handling
2014-11-06 23:14:20 +01:00
Sebastian Messmer
3c34cfd6d2
Added gtest framework and fixed compiler warnings
2014-11-06 22:50:50 +01:00
Sebastian Messmer
df0ac39ec9
Added gtest framework and fixed compiler warnings
2014-11-06 22:50:50 +01:00
Sebastian Messmer
a6b664063c
Fix some stuff and make getattr go through our class structure
2014-11-05 01:35:41 +01:00
Sebastian Messmer
9981b5aeae
Fix some stuff and make getattr go through our class structure
2014-11-05 01:35:41 +01:00
Sebastian Messmer
f9fe4f579c
Reorder folder structure
2014-11-04 22:33:43 +01:00
Sebastian Messmer
fd07c4892d
Reorder folder structure
2014-11-04 22:33:43 +01:00
Sebastian Messmer
944a8b201f
Remove leftover comment
2014-11-04 22:23:34 +01:00
Sebastian Messmer
a97261d02f
Removed debug output
2014-11-04 22:23:16 +01:00
Sebastian Messmer
6230d19750
Implemented a final, copy file system
2014-11-04 22:08:13 +01:00
Sebastian Messmer
154de4c74d
Implement some of the fuse functions
2014-11-04 21:17:02 +01:00
Sebastian Messmer
728d97e9e8
CryDevice stores root path to which we work relatively
2014-11-04 21:03:04 +01:00
Sebastian Messmer
560d304fb8
Rename functions to avoid name clashes
2014-11-04 20:50:42 +01:00
Sebastian Messmer
d38480b234
Use boost::filesystem::path
2014-11-04 19:54:35 +01:00
Sebastian Messmer
24b81dab7b
Refine interface
2014-11-04 18:34:33 +01:00
Sebastian Messmer
a5f293e0f8
Code style
2014-11-04 18:14:21 +01:00
Sebastian Messmer
ec6955ec25
Separated fuse implementation from fuse interface
2014-11-04 18:03:59 +01:00
Sebastian Messmer
6e44f4a326
Implemented basic fuse interface
2014-11-04 17:40:31 +01:00
Sebastian Messmer
08c3ab0b38
Created a cryfs_lib directory for the main source code
2014-11-04 02:54:23 +01:00
Sebastian Messmer
e8b1b51cdb
Initiate CMake
2014-11-04 02:32:06 +01:00