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
|
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
|
f29e398e51
|
Rename --no-integrity-checks to --allow-integrity-violations
|
2018-04-29 13:41:21 -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
|
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
|
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
|
05f3726ec3
|
Merge from develop
|
2018-02-01 11:21:26 -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
|
f439bf9d0f
|
Remove c style casts and unaligned memory accesses
|
2017-12-03 19:01:41 +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
|
76e7f7da72
|
Introduce clang-tidy and fix corresponding warnings
|
2017-10-27 04:02:51 +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
|
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 |
|
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 |
|
Sebastian Messmer
|
26b3b366c9
|
Use local state file instead of myClientId file
|
2017-09-23 20:17:05 +01:00 |
|
Sebastian Messmer
|
556d9cf452
|
New default block size: 16KB
|
2017-09-19 11:20:28 +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
|
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
|
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
|
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
|
9d298bad6c
|
Switch to new caching block store
|
2017-08-21 23:11:45 +01:00 |
|
Sebastian Messmer
|
4a602ce7a5
|
Remove old blockstore implementations
|
2017-07-20 19:32:42 -07:00 |
|
Sebastian Messmer
|
acf01ec4ff
|
Actually wire up CryDevice to use new block stores
|
2017-07-18 14:49:51 -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
|
9ada10db4d
|
Improve unique_ref
|
2017-04-03 14:43:32 +01: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
|
cab1c71cac
|
Merge from develop
|
2017-02-04 19:18:00 +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 |
|
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
|
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
|
789bfc7527
|
Fix warning from static analysis tool about std::moving a large CryConfig object
|
2016-09-24 11:42:57 +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 Messmer
|
457ca52eb3
|
Add assertions to unique_ref
|
2016-07-14 16:29:02 +02:00 |
|
Sebastian Messmer
|
9e9369b9ed
|
Performance optimization: When removing or shrinking a tree, we don't load/read leaves anymore. Loading inner nodes is enough to get all block IDs and then we can delete the leaves from their IDs without loading them.
|
2016-07-13 11:27:31 +02:00 |
|
Sebastian Messmer
|
b7b5dfba2a
|
Fix generation of new file systems
|
2016-06-27 22:31:06 -07:00 |
|
Sebastian Messmer
|
3425760daf
|
Implement migration for old filesystems that don't have parent pointers.
|
2016-06-27 20:03:44 -07:00 |
|
Sebastian Messmer
|
397de9372f
|
Each blob stores a parent pointer (i.e. the ID of the directory that contains this blob). This stores the directory structure in a conflict-proof way and can be used to resolve such conflicts.
|
2016-06-27 18:22:13 -07:00 |
|
Sebastian Messmer
|
a7f13ad7c1
|
When creating a file system, the user can choose whether to choose missing blocks as integrity violations.
|
2016-06-26 23:24:32 -07:00 |
|
Sebastian Messmer
|
be8dffb24d
|
MyClientId is generated outside of CryDevice to give the CryConfigCreator access to it.
|
2016-06-26 22:15:52 -07:00 |
|
Sebastian Messmer
|
7b56706c1a
|
Be explicit about types stored in config file
|
2016-06-26 22:15:52 -07:00 |
|
Sebastian Messmer
|
b838046246
|
Add a 'exclusive client' option to the config file
|
2016-06-26 22:15:52 -07:00 |
|
Sebastian Messmer
|
514dbcb6c7
|
ClientId is not loaded/generated inside of KnownBlockVersions, but in CryDevice. This way, CryDevice also has access to the ClientID. This is later needed to recognize whether we're in a single-client or in a multi-client setting.
|
2016-06-26 22:15:52 -07:00 |
|
Sebastian Messmer
|
839a511c4d
|
When an integrity violation is detected, any further access to the file system is blocked. This ensures that the user notices the integrity violation.
|
2016-06-26 22:15:52 -07:00 |
|
Sebastian Messmer
|
c84a230afd
|
VersionCountingBlockStore is initialized with a flag, saying whether missing blocks are integrity errors. This flag is meant to be activated in a single-client scenario to have this additional integrity check.
|
2016-06-26 22:15:52 -07:00 |
|
Sebastian Messmer
|
86c2144a37
|
Implement migration from file systems without version numbers
|
2016-06-26 22:15:52 -07:00 |
|
Sebastian Messmer
|
389273a24f
|
Test cases use a fake home directory for their configuration, so they don't clutter the actual home directory.
|
2016-06-26 22:15:52 -07:00 |
|
Sebastian Messmer
|
a5391a854d
|
Use VersionCountingBlockStore
|
2016-06-26 22:15:52 -07:00 |
|
Sebastian Messmer
|
0a61987594
|
Be explicit about types stored in config file
|
2016-06-26 15:34:53 -07:00 |
|
Sebastian Messmer
|
f6a80a4651
|
Remove default config values for mandatory values
|
2016-06-26 15:26:05 -07:00 |
|
Sebastian Messmer
|
e4501d51e5
|
Each file system gets a unique ID. This ID will later be used to store local configuration of a client for that file system.
|
2016-06-20 16:14:07 -07:00 |
|
Sebastian Messmer
|
c5ccd9c2d1
|
Set cache entry to dirty when timestamps are changed. Otherwise, it wouldn't be written back.
|
2016-06-09 17:32:35 -07:00 |
|
Sebastian Messmer
|
e8ad454e47
|
TODOs
|
2016-06-08 12:35:56 -07:00 |
|
Sebastian Messmer
|
e2ec72edde
|
Remove unused function
|
2016-06-08 12:29:28 -07:00 |
|
Sebastian Messmer
|
5aff394a16
|
Directory timestamps are updated correctly. Also added test cases for this.
|
2016-06-08 12:21:57 -07:00 |
|
Sebastian Messmer
|
5a5037c992
|
Symlinks update atime correctly. Also added a test case for this.
|
2016-06-07 21:47:23 -07:00 |
|
Sebastian Messmer
|
69f4c7976e
|
File::truncate() updates timestamps correctly. Also added test cases for this.
|
2016-06-07 21:30:57 -07:00 |
|
Sebastian Messmer
|
6448110975
|
OpenFile updates timestamps correctly, i.e. on read(), write() and truncate(). Also added test cases for it.
|
2016-06-07 21:25:02 -07:00 |
|
Sebastian Messmer
|
9bb2e2e89a
|
Implement fsync() and fdatasync() syscalls for flushing open files
|
2016-06-07 18:36:59 -07:00 |
|
Sebastian Messmer
|
2642507344
|
Allow loading file systems from future cryfs versions if user specifically asks for it
|
2016-06-06 15:31:09 -07:00 |
|
Sebastian Messmer
|
93927e76d6
|
TODOs
|
2016-06-02 20:25:14 -07:00 |
|
Sebastian Meßmer
|
3894157589
|
Merge pull request #61 from mhogomchungu/develop
remove compiler warnings
|
2016-06-02 20:21:54 -07:00 |
|
Sebastian Messmer
|
1402f54fec
|
Factor out platform inconsistency between Mac and Linux (stat.st_atim vs stat.st_atimespec)
|
2016-06-02 20:08:51 -07:00 |
|
Francis Banyikwa
|
c5a6f16cd5
|
use a macro to silence compiler warnings
|
2016-06-02 09:54:39 +03:00 |
|
Francis Banyikwa
|
de6462e548
|
remove compiler warnings
|
2016-06-01 11:34:19 +03:00 |
|
Sebastian Messmer
|
61e56cfeab
|
Fix small rename corner case and add test cases for timestamps in many rename corner cases
|
2016-05-27 21:19:04 -07:00 |
|
Sebastian Messmer
|
183b9cf74b
|
Fix utimens() behavior: It now updates ctime as well.
|
2016-05-27 17:26:23 -07:00 |
|
Sebastian Messmer
|
f6545bbcc3
|
Move fsblobstore::now() to cpputils
|
2016-05-27 15:46:05 -07:00 |
|
Sebastian Messmer
|
9a0b0a0c36
|
Ask before migrating an old CryFS file system to a new version.
|
2016-05-03 20:34:30 -07:00 |
|
Sebastian Messmer
|
257b028511
|
Prevent opening file systems that were created with newer versions of CryFS
|
2016-04-29 12:46:14 -07:00 |
|
Sebastian Messmer
|
2fbed11431
|
Remove debug output
|
2016-04-29 12:38:53 -07:00 |
|
Sebastian Messmer
|
bfba538818
|
Fix rename corner cases: Overwriting an existing directory with a file or the other way round
|
2016-04-28 22:49:57 -07:00 |
|
Sebastian Messmer
|
66b52b6434
|
Fix rename corner case: Renaming element to its old name
|
2016-04-28 22:36:53 -07:00 |
|