Jakob Unterwurzacher
51fcf61630
Use new arg "-notifypid" for more robust daemonization
...
No more string matching on the parent command line!
2015-11-09 23:33:35 +01:00
Jakob Unterwurzacher
273d8086ae
cli: Create our own FlagSet so we can set the policy to ExitOnError
2015-11-09 23:33:29 +01:00
Jakob Unterwurzacher
99dfc84992
Add "-q" (quiet) flag
2015-11-09 22:33:42 +01:00
Jakob Unterwurzacher
765411cc70
tests: check that the filename encryption is working as expected
...
Also check that the "gocryptfs.conf" path filtering is working
as expected
2015-11-03 22:27:11 +01:00
Jakob Unterwurzacher
3e367b29b0
config: Introduce ext4-style feature flags
...
// List of feature flags this filesystem has enabled.
// If gocryptfs encounters a feature flag it does not support, it will refuse
// mounting. This mechanism is analogous to the ext4 feature flags that are
// stored in the superblock.
FeatureFlags []string
2015-11-03 21:05:47 +01:00
Jakob Unterwurzacher
1ec0fa388d
Update USAGE.txt
...
Also run go fmt
2015-11-03 00:06:04 +01:00
Jakob Unterwurzacher
de56fe9e35
Implement PlainTextNames mode
...
Also, forbid access to "gocryptfs.conf" in the root dir.
2015-11-03 00:00:13 +01:00
Jakob Unterwurzacher
0ec17c3939
Add "--plaintextnames" option
...
Also, gather all the command line arguments into an anonymous struct
"args".
2015-11-02 23:09:51 +01:00
Jakob Unterwurzacher
a324407082
Fix three "golint" nitpicks
2015-11-02 22:51:12 +01:00
Jakob Unterwurzacher
c272e3042f
Fix daemonization regression
...
Commit af923d2d16
broke daemonization.
Revert the change but get rid of the warning message when running
in the foreground.
2015-11-01 15:21:34 +01:00
Jakob Unterwurzacher
3f490d4d86
Bake version string into binary, add "--version" switch
...
Example:
./gocryptfs -version
gocryptfs v0.2-20-gabcef9e-dirty; on-disk format 1
Note that you MUST compile using "./build.bash" for this to work.
2015-11-01 14:04:29 +01:00
Jakob Unterwurzacher
af923d2d16
Automatically lazy-unmount when we get SIGINT or SIGTERM
...
This hides the dangling "Transport endpoint is not connected"
mountpoint for everyone but processes that have file open inside
the mountpoint.
2015-11-01 13:28:58 +01:00
Jakob Unterwurzacher
e31d319c39
Remove code detected by "deadcode"
...
go get github.com/remyoudompheng/go-misc/deadcode
2015-11-01 12:32:10 +01:00
Jakob Unterwurzacher
242fcd0736
Run gofmt
2015-10-11 18:51:56 +02:00
Jakob Unterwurzacher
d1d444435c
main: check directories for existence early
...
This prevents that the user enters the password only to get an error
later.
2015-10-11 18:33:28 +02:00
Jakob Unterwurzacher
14115b061b
Add native daemonization
2015-10-11 18:02:48 +02:00
Jakob Unterwurzacher
39183bea00
Rename sendSig to sendUsr1
...
This matches waitForUsr1 in daemonize()
2015-10-11 18:01:47 +02:00
Jakob Unterwurzacher
5dc7e44aa2
Move main files to top level dir
...
This is in preparation of getting rid of the shell wrapper
2015-10-11 17:14:18 +02:00
Jakob Unterwurzacher
552c32c5e9
Move main binary to gocryptfs_main
...
That way the wrapper shell script can be named just "gocryptfs"
2015-10-05 20:32:10 +02:00
Jakob Unterwurzacher
089629442d
Enable ClientInodes so hard links work
...
Fixes xfstests generic/002
2015-10-04 14:50:27 +02:00
Jakob Unterwurzacher
89fef80d32
Run go fmt
2015-10-04 14:49:47 +02:00
Jakob Unterwurzacher
5bd08abf40
Remove ClueFS frontend
...
Development has focused on PathFS for some time now and things are
working well.
2015-10-04 14:35:50 +02:00
Jakob Unterwurzacher
7d666bd87d
Set Fileystem and Type values shown in "df -T" and friends
...
Filesystem is set to CIPHERDIR, Type is set to fuse.gocryptfs
2015-09-19 10:47:16 +02:00
Jakob Unterwurzacher
8fe5ec7381
Add --cpuprofile flag
2015-09-18 22:14:07 +02:00
Jakob Unterwurzacher
338925aef4
Set GOMAXPROCS = 4
...
Immediate speedup from 70MB/s to 80MB/s on streaming write.
Enables later parallelization.
2015-09-16 19:35:40 +02:00
Jakob Unterwurzacher
0af3cfcac0
Fix symlink size reporting
2015-09-16 19:32:37 +02:00
Jakob Unterwurzacher
3be2dfdf9d
Add "--zerokey" option to simplify testing and benchmarking
2015-09-15 23:59:57 +02:00
Jakob Unterwurzacher
69b3d53f21
init: Check if dir is empty part II (done)
2015-09-14 22:56:59 +02:00
Jakob Unterwurzacher
eee2c017dc
init: Check if dir is empty part I
2015-09-13 23:12:56 +02:00
Jakob Unterwurzacher
d941b67df4
Implement password handling
2015-09-13 23:06:38 +02:00
Jakob Unterwurzacher
6f9e90c414
Encrypt key with scrypt-hashed password
2015-09-13 22:09:38 +02:00
Jakob Unterwurzacher
164739b655
Friendlier error message if gocryptfs.conf does not exist
2015-09-13 18:08:15 +02:00
Jakob Unterwurzacher
4acaeb668e
Implement json config storage (not yet encrypted)
2015-09-13 17:55:07 +02:00
Jakob Unterwurzacher
e7ba3c61f1
Fix File.GettAttr() size reporting
...
The too-large reported value broke mmap
(applications saw appended zero bytes)
Also
* Add locking for all fd operations
* Add "--debug" command line switch
2015-09-09 19:32:59 +02:00
Jakob Unterwurzacher
80935a0e1b
Explain both frontends in readme
...
Also, re-enable openssl and disable debug messages so testing
gocryptfs is less painful
2015-09-08 23:09:28 +02:00
Jakob Unterwurzacher
889ae90081
Add pathfs frontend (uses go-fuse instead of bazil-fuse), part I
...
Currently fails main_test.go, will be fixed in part II
2015-09-08 00:55:03 +02:00
Jakob Unterwurzacher
af0ae03db2
Rename frontend to "cluefs_frontend"
...
Enables adding another frontend later
2015-09-07 21:10:42 +02:00
Jakob Unterwurzacher
f2e2b81361
Add README.md
...
Also, run go fmt
2015-09-06 12:12:14 +02:00
Jakob Unterwurzacher
5f4c9240ca
Add streaming read and write benchmarks
...
Run using
./main_benchmark.bash
Also, rewrite command line args handling
2015-09-06 11:42:01 +02:00
Jakob Unterwurzacher
58d1e24b7c
Add OpenSSL support for file content encryption/decryption
...
This brings streaming read performance from 30MB/s to 81MB/s
(similar improvement for writes)
2015-09-06 10:42:34 +02:00
Jakob Unterwurzacher
ad3a1a8899
Set readahead to 1MB
...
This bring streaming read performance from 12MB/s to 30MB/s
2015-09-06 09:47:27 +02:00
Jakob Unterwurzacher
05a5c0a0ff
Wrap cluefs part I
2015-09-05 11:49:05 +02:00
Jakob Unterwurzacher
6f90ec716a
Rebase to cluefs
...
https://github.com/airnandez/cluefs
2015-09-04 20:37:37 +02:00
Jakob Unterwurzacher
6a110b8dde
Mounts and show an empty dir
2015-09-03 23:54:12 +02:00
Jakob Unterwurzacher
4b98f74e3e
Builds and mounts
2015-09-03 19:27:07 +02:00