| Age | Commit message (Collapse) | Author | 
|---|
|  | Tests that `gocryptfs -passwd -masterkey=stdin` works.
This was fixed by ff04b1d83ab1201.
Fixes https://github.com/rfjakob/gocryptfs/issues/461 | 
|  | This was handled both in getMasterKey(). Split it apart. | 
|  | Make it clear that function does NOT parse the "-masterkey"
command line argument, it just unhexes the payload. | 
|  | We did not use t.Name() as it was not available
before Go 1.8. Now the oldest Go version we support is
Go 1.11, so we can use it. | 
|  | The command line option is now called `-badname`,
so adjust the test name to match. | 
|  |  | 
|  | Bisecting shows that the performance drop is caused by
this commit:
commit ca9e912a28b901387e1dbb85f6c531119f2d5ef2 (refs/bisect/bad)
Author: Jakob Unterwurzacher <jakobunt@gmail.com>
Date:   Sat Feb 29 19:58:08 2020 +0100
    fusefrontend: drop xattr user namespace restriction | 
|  | Updated using
    go get -t -u ./... | 
|  | We redirected the wrong ldd fd to /dev/null. Fix it. | 
|  | Wrong bit operator was used. | 
|  | Also add a test for this.
Thanks @slackner for the comment. | 
|  | This was committed by accident. | 
|  | Gets rid of static inode number value limitations.
Fixes https://github.com/rfjakob/gocryptfs/issues/457 | 
|  | Verify that virtual files get assigned inode numbers
we expect. | 
|  |  | 
|  | Adding flags allows to use inomap in reverse mode,
replacing the clunky inoBaseDirIV/inoBaseNameFile
logic that causes problems with high underlying
inode numbers ( https://github.com/rfjakob/gocryptfs/issues/457 )
Microbenchmarks (values below) show that the "SingleDev"
case is now much slower due to an extra map lookup,
but this has no visible effects in ./test.bash results,
so there was no time spent optimizing the case further.
$ go test -bench=.
goos: linux
goarch: amd64
pkg: github.com/rfjakob/gocryptfs/internal/inomap
BenchmarkTranslateSingleDev-4   	18757510	        61.5 ns/op
BenchmarkTranslateManyDevs-4    	18061515	        64.5 ns/op
PASS
ok  	github.com/rfjakob/gocryptfs/internal/inomap	2.467s | 
|  | $ go test -bench=.
goos: linux
goarch: amd64
pkg: github.com/rfjakob/gocryptfs/internal/inomap
BenchmarkTranslateSingleDev-4   	202479382	         5.88 ns/op
BenchmarkTranslateManyDevs-4    	16095795	        71.9 ns/op
PASS
ok  	github.com/rfjakob/gocryptfs/internal/inomap	3.039s | 
|  | The case of a git repo without any tags used to fail
with:
  fatal: No names found, cannot describe anything.
Now we continue, using "[no_tags_found]" as the
version string. | 
|  | Causes warnings:
  $ ./build-without-openssl.bash
  # github.com/rfjakob/gocryptfs
  loadinternal: cannot find runtime/cgo
  # github.com/rfjakob/gocryptfs/gocryptfs-xray
  loadinternal: cannot find runtime/cgo
  # github.com/rfjakob/gocryptfs/contrib/statfs
  loadinternal: cannot find runtime/cgo
  gocryptfs v1.7.1-48-gf6b1c68 without_openssl; go-fuse v1.0.1-0.20190319092520-161a16484456; 2020-04-18 go1.13.6 linux/amd64
https://github.com/golang/go/issues/30986 | 
|  | The comment still mentioned CBC, which has been removed
a long time ago.
The test definition can be rewritten using slice literals,
saving sume stuttering. | 
|  | We used to prefer openssl in this situation, which
used to make sense, but now Go gained an optimized
assembly implementation for aes-gcm on arm64 with
aes instructions:
  root@q1:~/go/src/github.com/rfjakob/gocryptfs# ./gocryptfs -speed
  gocryptfs v1.7.1-46-g73436d9; go-fuse v1.0.1-0.20190319092520-161a16484456; 2020-04-13 go1.14.2 linux/arm64
  AES-GCM-256-OpenSSL      212.30 MB/s    (selected in auto mode)
  AES-GCM-256-Go           452.30 MB/s
  AES-SIV-512-Go           100.25 MB/s
  XChaCha20-Poly1305-Go    137.35 MB/s
https://github.com/rfjakob/gocryptfs/issues/452 | 
|  |  | 
|  | GOFLAGS exists since Go 1.11: https://golang.org/doc/go1.11
https://github.com/rfjakob/gocryptfs/pull/460 | 
|  |  | 
|  | Following https://blog.golang.org/migrating-to-go-modules | 
|  | And run shellcheck in test.bash. | 
|  |  | 
|  | 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. | 
|  | inomap will also be used by fusefrontend_reverse
in the future. Split if off openfiletable to make
it independent. | 
|  | https://github.com/rfjakob/gocryptfs/issues/452 | 
|  |  | 
|  | 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. | 
|  |  | 
|  | Fixes https://github.com/rfjakob/gocryptfs/issues/453 | 
|  | 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 | 
|  | Resolves https://github.com/rfjakob/gocryptfs/issues/393 | 
|  |  | 
|  | Just writing zeros carries the risk of not detecting
wrongly created file holes. Write random data instead. | 
|  | Also add big signs where the cpu has changed, as the results
are not comparable when the cpu is different.
Also update encfs results. | 
|  | The result is counter-intuitive, so explain it here. | 
|  | If the user sets GOMAXPROCS explicitely, we should
respect it. | 
|  | 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. | 
|  | Make the logic self-contained in the new helper function. | 
|  | This was a new feature flag. | 
|  | Useful when you have lots of broken mounts after something in
the test suite went wrong. | 
|  | https://github.com/rfjakob/gocryptfs/issues/450 | 
|  | 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 | 
|  | Newer kernel and (acc. to Travis documentation) faster boot times. | 
|  |  | 
|  | 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 |