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
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
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
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
Sebastian Messmer
a03ab91aba
Fix rename when overwriting an existing file in the same directory
2016-04-28 13:27:54 -07:00
Sebastian Messmer
811c163bfa
Fix rename() when overwriting an existing file: (a) Keep the invariant that the list of directory entries is sorted and (b) delete the blob of the overwritten file
2016-04-25 17:42:17 -07:00
Sebastian Messmer
67c5495db7
TODOs
2016-03-24 07:56:41 +00:00
Sebastian Messmer
6e7004d485
Rename operation allows overwriting existing files.
2016-03-24 02:47:50 +00:00
Sebastian Messmer
03ccead85b
Add test cases for rename
2016-03-24 01:45:53 +00:00
Sebastian Messmer
2ac47f480b
- Fix rename bug: When trying to rename a file to a name that already exists, it was deleted instead. This is now fixed.
...
- Additional test cases for rename
2016-03-23 18:03:30 +00:00
Sebastian Messmer
db53b597d4
Handle renaming root directory correctly
2016-03-23 16:07:08 +00:00
Sebastian Messmer
1c0199e147
When the user specifies a block size for the file system, this is taken as the physical block size, not virtual block size.
2016-03-16 19:30:26 +00:00
Sebastian Messmer
0cdfb8ba2e
Fix fstat (a bug in the fstat implementation caused problems with some text editors (e.g. nano) falsely thinking a file changed since they opened it).
2016-03-16 17:03:53 +00:00
Sebastian Messmer
52d85f4de3
Refactor DirEntries
2016-03-16 15:29:26 +00:00
Sebastian Messmer
d7f34c0dfb
Make blocksize configurable
2016-03-08 23:57:34 +01:00
Sebastian Messmer
4dbb380263
Decouple DirBlob from CryDevice
2016-03-08 23:47:31 +01:00
Sebastian Messmer
ab5eb920a5
Show current time as modification time for mountdir. This probably confuses people less than if we show timestamp zero.
2016-02-26 10:47:47 +01:00
Sebastian Messmer
d00e097954
Do a sanity check when mounting the file system and fail if the root blob is not available.
2016-02-19 02:10:10 +01:00
Sebastian Messmer
df041ac845
Fix a bug where deleting a directory could leave over some blocks.
...
Details: Before, we allowed removing non-empty directories. Seems 'rm -rf' is trying to do that. Now, we return the correct error code ENOTEMPTY in this case, which causes that 'rm -rf' deletes the entries first.
2016-02-17 12:52:01 +01:00
Sebastian Messmer
68acc27e88
Report file system statistics (like free space) to operating system
2016-02-15 14:20:21 +01:00
Sebastian Messmer
6fb46c7e73
Use inline for short functions
2016-02-15 13:22:21 +01:00
Sebastian Messmer
456b240e21
Add TODOs
2016-02-15 03:45:09 +01:00
Sebastian Messmer
7453e83732
Fix crash on mac os X due to unimplemented statfs()
2016-02-13 20:47:15 +01:00
Sebastian Messmer
2b9469cd20
Fix compiler error on Mac OS X
2016-02-13 16:13:25 +01:00
Sebastian Messmer
636445cd82
Introduce version flags for file system entities to allow future CryFS versions to be backwards-compatible even if the format changes.
2016-02-13 15:06:28 +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
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
c6e8052d93
Merge all git repositories into one
2016-02-11 16:40:48 +01:00