Francis Banyikwa
002dc6ca17
solve issue number 24
2016-06-01 13:37:44 +03:00
Francis Banyikwa
2cf4a2e087
use project name as the first argument to fuse
2016-06-01 11:55:48 +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
54ec08bc9d
TODOs
2016-05-27 17:47:14 -07:00
Sebastian Messmer
514de8794e
Add test cases that fspp::Node operations correctly modify the timestamps
2016-05-27 17:26:53 -07:00
Sebastian Messmer
183b9cf74b
Fix utimens() behavior: It now updates ctime as well.
2016-05-27 17:26:23 -07:00
Sebastian Messmer
3b98fc0390
Offer timespec comparison operators
2016-05-27 16:35:45 -07:00
Sebastian Messmer
f6545bbcc3
Move fsblobstore::now() to cpputils
2016-05-27 15:46:05 -07:00
Sebastian Messmer
40c64a879c
Hide fuse quirks inside the Fuse class.
...
fuse_main needs the program arguments as char ** instead of const char ** or (even better) vector<string>.
With this commit, we hide that inside the Fuse class. Everything outside handles these arguments as vector<string> and passes it as such to the Fuse class.
2016-05-09 16:07:02 -07:00
Sebastian Messmer
652cf90255
Merge branch 'develop' of github.com:cryfs/cryfs into develop
2016-05-03 22:23:38 -07:00
Sebastian Messmer
285dd05072
When counting blocks, ignore cryfs.config. This already worked on Linux, but not on Mac. After this commit, it is also fixed for Mac.
2016-05-03 22:21:28 -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
5aaba511bd
Fix migration step for new ciphertext layout
2016-04-29 12:35:17 -07:00
Sebastian Messmer
9ed7bd0b41
Ciphertext blocks are split into subdirectories (before, all were on top level) to reduce number of files per directory. Some unix tools don't work well with directories with too many entries.
2016-04-29 12:21:02 -07:00
Sebastian Messmer
4829f4bcec
Extend test cases for rename with overwrite
2016-04-29 11:07:47 -07:00
Sebastian Messmer
33644af64d
Extend test cases for trying to rename a file to an existing directory or the other way round
2016-04-28 23:14:33 -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
c403ec6b48
Fix a potential deadlock in the cache
2016-04-26 18:09:42 -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
f0d11bb5a7
Fail build if gitversion cannot be found
2016-04-01 11:39:28 +02:00
Sebastian Messmer
4627666788
Generalize stat() tests in FsppFileTest for all node types
2016-03-31 23:48:43 +08:00
Sebastian Messmer
e7c4f8150e
Factor out FsppNodeTest to allow using its mechanisms for other test cases and not only for rename
2016-03-31 21:45:41 +08:00
Sebastian Messmer
f5305aa95d
Better error messages when parsing version information fails
2016-03-31 21:18:39 +08:00
Sebastian Messmer
4069358b31
Fix VersionCompare for stable versions vs tag versions
2016-03-29 11:07:00 +08:00
Sebastian Messmer
03f59b69da
Since 0.9.3-alpha set the config value cryfs.blocksizeBytes wrongly to 32768 (but didn't use the value), we have to add a workaround.
2016-03-26 23:56:56 +08:00
Sebastian Messmer
b9ac810414
- The version field in the config file is updated when the file system is opened with a newer CryFS version (i.e. it is migrated to the newer version).
...
- We introduced a CreatedWithVersion field instead which gets the semantics the version field had before (i.e. which version of CryFS was the file system originally created with)
- Move VersionCompare to gitversion package
2016-03-27 00:09:07 +08:00
Sebastian Messmer
7b5970a94e
TODOs
2016-03-24 07:57:19 +00:00
Sebastian Messmer
67c5495db7
TODOs
2016-03-24 07:56:41 +00:00
Sebastian Messmer
99aa86720c
TODOs
2016-03-24 07:55:37 +00:00
Sebastian Messmer
18d05d165e
Use --blocksize instead of --blocksize-bytes, so we can (later) allow users to write "--blocksize 2M"
2016-03-24 06:45: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
037b59634e
Implemented BlockStore::blockSizeFromPhysicalBlockSize. This will be used to let the user configure physical block size instead of virtual block size.
2016-03-16 18:56:06 +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
e4ff7e17f1
Add test cases to fstest::FileTest
2016-03-16 15:31:59 +00:00
Sebastian Messmer
52d85f4de3
Refactor DirEntries
2016-03-16 15:29:26 +00:00
Sebastian Messmer
5f8bf4cea4
Fix version number mentioned in comment
2016-03-09 00:23:11 +01:00
Sebastian Messmer
1ee3a8df86
Use uint64_t for block size
2016-03-09 00:20:04 +01:00
Sebastian Messmer
08c1d206af
Fix compiler error
2016-03-09 00:13:18 +01: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
526b749d1d
Add a command line option for blocksize
2016-03-04 23:12:41 +01:00
Sebastian Messmer
61611d03b2
Don't use <regex>, because it causes problems on GCC 4.8
2016-03-03 11:49:23 +01:00
Sebastian Messmer
5736a5ea37
Output warning to stderr, not stdout
2016-03-02 21:22:11 +01:00
Sebastian Messmer
5579270108
Handle fallback version "0+unknown" correctly
2016-03-02 14:39:30 +01:00
Sebastian Messmer
aac661d292
Recognize git version from tarball name if everything else fails
2016-03-02 14:18:47 +01:00
Sebastian Messmer
3f66c7ceda
Recognize git version from tarball name if everything else fails
2016-03-02 14:13:43 +01:00
Sebastian Messmer
3826064d1d
Recognize git version from tarball name if everything else fails
2016-03-02 14:08:51 +01:00
Sebastian Messmer
20e6920a7b
Recognize git version from tarball name if everything else fails
2016-03-02 14:08:10 +01:00
Sebastian Messmer
092edd6f1d
Removed unimportant file
2016-03-02 14:00:54 +01:00
Sebastian Messmer
59c341628c
Merge branch 'archive' into develop
2016-03-02 13:57:49 +01:00
Sebastian Messmer
5753e4f71c
Switch to new git version number recognition
2016-03-02 13:53:37 +01:00
Sebastian Messmer
d2cd75de15
TODOs
2016-03-02 01:36:04 +01:00
Sebastian Messmer
3254220987
Filesystems have a blocksizeBytes configuration option
2016-03-01 17:45:48 +01:00
Sebastian Messmer
35ae3b9c24
Make clock_gettime adapter work if used multiple time
2016-02-26 12:37:37 +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
e48188f470
Restructure project to allow factoring out a library
2016-02-23 21:07:23 +01:00
Sebastian Messmer
f92c4a4f71
Show a message when update checking is disabled
2016-02-22 15:52:41 +01:00
Sebastian Messmer
5f67378bc9
Fix compiler error for older gcc versions
2016-02-22 11:44:59 +01:00
Sebastian Messmer
d5a0b725fe
Refactor interface for key derivation functions. This allows easily adding new (password based) key derivation functions.
2016-02-22 02:38:06 +01:00
Sebastian Messmer
7d9d72d82a
Improve help output
2016-02-21 22:33:36 +01:00
Sebastian Messmer
54d2fc516f
Add environment variables to help output
2016-02-21 22:28:29 +01:00
Sebastian Messmer
d95cc33a58
You can disable the automatic update check by setting CRYFS_NO_UPDATE_CHECK=true in your environment.
2016-02-21 22:15:27 +01:00
Sebastian Messmer
9c83d3b2a4
If CRYFS_FRONTEND=noninteractive is set in the environment, assume we're used by a tool and:
...
- Don't ask for config. Use default settings for everything that is not specified as command line parameter.
- Don't ask for password confirmation. Password only has to be passed in once to stdin.
2016-02-21 01:36:14 +01:00
Sebastian Messmer
346baf8e9b
Only show update check warning if version on server is actually newer
2016-02-20 18:23:46 +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
014b5703e0
Instead of modifying include paths, include osxfuse header from the right location
2016-02-17 22:30:28 +01:00
Sebastian Messmer
980f560f04
Fix build
2016-02-17 21:40:03 +01:00
Sebastian Messmer
237abf61c7
TODOs
2016-02-17 13:13:03 +01:00
Sebastian Messmer
80f63969c7
Add TODOs
2016-02-17 13:09:03 +01:00
Sebastian Messmer
25b93ebe41
When deleting a block fails, log the error but don't crash (i.e. continue to delete other blocks of the same blob on a best-effort basis)
2016-02-17 13:01:12 +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
bb54c2f879
When removing a block, check whether it was successful
2016-02-17 11:03:06 +01:00
Sebastian Messmer
b8fdd2e941
Fix includes on Mac
2016-02-17 08:51:48 +01:00
Sebastian Messmer
35f4723b65
Fix compiler error
2016-02-17 00:24:40 +01:00
Sebastian Messmer
74288c81e4
Replace sysctl on Mac with a syscall that is supported in all kernels
2016-02-16 23:24:11 +01:00
Sebastian Messmer
a05f51ee08
Replace sysctl on Mac with a syscall that is supported in all kernels
2016-02-16 22:27:07 +01:00
Sebastian Messmer
7f1493ab92
Increase scrypt KDF effort for generating the config file key from the password
2016-02-16 20:35:51 +01:00
Sebastian Messmer
8a83827042
Fix linux build
2016-02-16 20:12:04 +01:00
Sebastian Messmer
c889366619
Add some default search paths for libraries on Mac OS X
2016-02-15 20:01:13 +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
5651a86b78
Improve CLI usage line and README
2016-02-15 02:40:56 +01:00
Sebastian Messmer
63d0b2b29d
Fix compiling test cases on Debian
2016-02-14 18:17:37 +01:00
Sebastian Messmer
e44c44334f
Fix compile on Debian 8 (link it to a library it wants)
2016-02-14 16:54:29 +01:00
Sebastian Messmer
31bf927e07
Fix compile on Debian 8 (link it to a library it wants)
2016-02-14 16:35:37 +01:00
Sebastian Messmer
ccc2f74e63
Fix compile on Debian 8 (link it to a library it wants)
2016-02-14 16:34:50 +01:00
Sebastian Messmer
1e975f64f7
Improve error messages when libraries aren't found
2016-02-14 15:55:54 +01:00
Sebastian Messmer
26929b4354
Merge
2016-02-14 04:19:32 +01:00
Sebastian Messmer
cc2101af9c
Link osxfuse C++ library, not C# framework
2016-02-14 04:17:35 +01:00
Sebastian Messmer
0286f36cf6
Allow setting library locations using CMake parameters
2016-02-14 03:13:50 +01:00