aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-04-13speed: show gocryptfs versionJakob Unterwurzacher
Output now looks like this $ gocryptfs -speed gocryptfs v1.7.1-38-gbe3b9df-dirty; go-fuse v2.0.2-57-gd1cfa17; 2020-04-13 go1.13.6 linux/amd64 AES-GCM-256-OpenSSL 607.90 MB/s AES-GCM-256-Go 920.75 MB/s (selected in auto mode) AES-SIV-512-Go 169.85 MB/s XChaCha20-Poly1305-Go 794.30 MB/s and has go version and arch information, which is important when comparing results.
2020-04-13inomap: split into separate packageJakob Unterwurzacher
inomap will also be used by fusefrontend_reverse in the future. Split if off openfiletable to make it independent.
2020-04-13speed: add XChaCha20-Poly1305-GoJakob Unterwurzacher
https://github.com/rfjakob/gocryptfs/issues/452
2020-04-07Update manpage examplesOscar
2020-02-29crossbuild.bash: set GOARM=7Jakob Unterwurzacher
From https://github.com/golang/go/wiki/GoArm : In cross compilation situations, it is recommended that you always set an appropriate GOARM value along with GOARCH. The value seems to default to GOARM=5 if not set during cross-compilation.
2020-02-29speed: add code commentsJakob Unterwurzacher
2020-02-29tests: test xattr aclsJakob Unterwurzacher
Fixes https://github.com/rfjakob/gocryptfs/issues/453
2020-02-29fusefrontend: drop xattr user namespace restrictionJakob Unterwurzacher
We used to restrict setting xattrs to the "user." namespace. I don't see a real reason for this anymore, and it causes trouble for users who are using acls. Tests will be added in the next commit. https://github.com/rfjakob/gocryptfs/issues/453
2020-02-28Show undecryptable filenames if they match supplied globorcas
Resolves https://github.com/rfjakob/gocryptfs/issues/393
2020-02-15README: update changelogJakob Unterwurzacher
2020-02-15tests: randomize data in testWriteNJakob Unterwurzacher
Just writing zeros carries the risk of not detecting wrongly created file holes. Write random data instead.
2020-02-15performance.txt: update result for governor = performanceJakob Unterwurzacher
Also add big signs where the cpu has changed, as the results are not comparable when the cpu is different. Also update encfs results.
2020-02-15contentenc: encryptBlocksParallel: explain why last part runs in new goroutineJakob Unterwurzacher
The result is counter-intuitive, so explain it here.
2020-02-15main: respect GOMAXPROCS environment variableJakob Unterwurzacher
If the user sets GOMAXPROCS explicitely, we should respect it.
2020-02-15merge prefer_openssl package into stupidgcmJakob Unterwurzacher
Now that I have discovered golang.org/x/sys/cpu and that Go versions below 1.6 are uncommon, there was not much useful code left in prefer_openssl. Merge the remains into stupidgcm.
2020-02-15contentenc: move parallel encryption into encryptBlocksParallelJakob Unterwurzacher
Make the logic self-contained in the new helper function.
2020-02-15README: Raw64 change should be boldJakob Unterwurzacher
This was a new feature flag.
2020-02-15Add contrib/cleanup-tmp-mounts.shJakob Unterwurzacher
Useful when you have lots of broken mounts after something in the test suite went wrong.
2020-01-25tests: cli: add TestSymlinkedCipherdirJakob Unterwurzacher
https://github.com/rfjakob/gocryptfs/issues/450
2020-01-14main: haveFusermount2: respect PATH environment variableJakob Unterwurzacher
Use exec.LookPath() to find fusermount in the user's PATH first. Fall back to /bin/fusermount for the case that PATH is not set, like go-fuse does. Fixes https://github.com/rfjakob/gocryptfs/issues/448
2019-12-29Travis CI: upgrade from Ubuntu 16.04 "Xenial" to Ubuntu 18.04 "Bionic"Jakob Unterwurzacher
Newer kernel and (acc. to Travis documentation) faster boot times.
2019-12-29Travis CI: clean up Go versionsJakob Unterwurzacher
2019-12-28main: detect fusermount3 and don't add `nonempty`Jakob Unterwurzacher
fusermount3 (i.e. fusermount from libfuse 3.x) has dropped the `nonempty` option. Detect fusermount3 and don't add `nonempty` in this case. Fixes https://github.com/rfjakob/gocryptfs/pull/440
2019-12-28remove Trezor supportPavol Rusnak
2019-12-24Fix "go get" failureJakob Unterwurzacher
Move the statusTxtContent to fix this confusing error when running `go get github.com/rfjakob/gocryptfs/...`: $ go get github.com/rfjakob/gocryptfs/... # github.com/rfjakob/gocryptfs/tests/example_filesystems tests/example_filesystems/example_test_helpers.go:22:16: undefined: statusTxtContent tests/example_filesystems/example_test_helpers.go:75:16: undefined: statusTxtContent
2019-11-17MANPAGE: describe how to unmount, and that default options are fineJakob Unterwurzacher
Feedback received during the recent Go user group. If you haven't used FUSE before, you don't know how to unmount, and it was not described in the man page! As for the options, there are many, and new users are intimidated by it. State clearly that defaults are fine.
2019-11-16fs: add uint64 cast to fix Darwin buildJakob Unterwurzacher
Error from Travis CI was: +GOOS=darwin +GOARCH=amd64 +go build -tags without_openssl # github.com/rfjakob/gocryptfs/internal/fusefrontend internal/fusefrontend/fs.go:88:45: cannot use st.Dev (type int32) as type uint64 in argument to openfiletable.NewInumMap Add uint64 to fix it.
2019-11-16fusefrontend: use inummapJakob Unterwurzacher
translate inode numbers on different devices to fix collisions. Fixes https://github.com/rfjakob/gocryptfs/issues/435
2019-11-16openfiletable: add inummapJakob Unterwurzacher
Generates unique inode numbers for files on different devices. https://github.com/rfjakob/gocryptfs/issues/435
2019-11-16tests: also check inode number in VerifySizeJakob Unterwurzacher
Check Stat() vs Fstat() result. Not very useful at the moment as the kernel never seems to call Fstat().
2019-11-16contrib/statvsfstat: add statvsfstat toolJakob Unterwurzacher
Cli tool to compare the result of Stat() and Fstat().
2019-11-10tests: fsstress: clean up leftover mounts on startupJakob Unterwurzacher
Broken mounts may accumulate when the fs crashes.
2019-11-10tests: drop "-l" flag from fsstress-loopback.bashJakob Unterwurzacher
No longer supported by go-fuse loopback.
2019-11-03fusefrontend: warn about missing dirivJakob Unterwurzacher
The comment is outdated, at this point, we should really not get any errors from ReadDirIVAt. The change is best seen when running the fsck tests. Before: fsck: error opening dir "missing_diriv": 2=no such file or directory After: OpenDir "K2m0E6qzIfoLkVZJanoUiQ": could not read gocryptfs.diriv: no such file or directory fsck: error opening dir "missing_diriv": 5=input/output error See https://github.com/rfjakob/gocryptfs/issues/403 , where the extra info would have been helpful.
2019-11-03main: show "-fsck" in help textJakob Unterwurzacher
Suggested at https://github.com/rfjakob/gocryptfs/issues/403
2019-11-03fusefrontend: don't return EIO on directory with corrupt file namesJakob Unterwurzacher
This was meant as a way to inform the user that something is very wrong, however, users are hitting the condition on MacOS due to ".DS_Store" files, and also on NFS due to ".nfsXXX" files. Drop the whole thing as it seems to cause more pain than gain. Fixes https://github.com/rfjakob/gocryptfs/issues/431
2019-11-03tests: send SIGUSR1 to loopbackJakob Unterwurzacher
loopback needs to receive SIGUSR1 to write a memory profile.
2019-10-19tests: make extractloop work with go-fuse loopback againJakob Unterwurzacher
The "-l" flag is no longer supported in go-fuse loopback, drop it.
2019-10-13Update performance.txtJakob Unterwurzacher
2019-10-13Update fuse-xfstests resultsJakob Unterwurzacher
2019-10-06Update README for v1.7.1v1.7.1Jakob Unterwurzacher
2019-10-06stress_tests: use /var/tmp by defaultJakob Unterwurzacher
There is a good chance that /tmp is tmpfs, and we want to run our tests on a real filesystem.
2019-10-06test.bash: export TMPDIRJakob Unterwurzacher
We have to export TMPDIR, otherwise the Go tests to not pick it up.
2019-10-06travis: also test Go 1.12.xJakob Unterwurzacher
2019-10-06tests: use /var/tmp by defaultJakob Unterwurzacher
On Fedora, /tmp is tmpfs, which behaves differently than ext4 (inode numbers are never reused, for example). Use /var/tmp, which is ext4 on Fedora, to get a more realistic test environment. This also allows us to drop the xattr workaround.
2019-10-06fusefrontend: unregister from openfiletable before closing the fdJakob Unterwurzacher
Closing the fd means the inode number may be reused immediately by a new file, so we have to get the old fileID out of the table beforehand! Hopefully fixes https://github.com/rfjakob/gocryptfs/issues/363
2019-10-06fusefrontend: print file hexdump on header errorJakob Unterwurzacher
This should help debugging https://github.com/rfjakob/gocryptfs/issues/363 , but does no harm in normal operation as it only prints ciphertext to the log.
2019-10-06contentenc: add explicit test for all-zero headerJakob Unterwurzacher
https://github.com/rfjakob/gocryptfs/issues/363
2019-10-06tests: filter leaked fds by prefixJakob Unterwurzacher
When running $ go test ./tests/matrix/ in isolation, it failed like this: fd leak? before, after: [0r=/dev/null 3w=/dev/null 5r=/proc/8078/fd (hidden:4)] [0r=/dev/null 3w=/dev/null 5w=/tmp/go-build366655199/b001/testlog.txt 7r=/proc/8078/fd (hidden:4)] Filter by prefix to get rid of this spurious test failure.
2019-10-06tests: clarify which process seems to be leaking fdsJakob Unterwurzacher
The tests check if they leak fds themselves, but we also check if gocryptfs leaks fds. Clarify what is what in the error message.