<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gocryptfs/internal/fusefrontend_reverse, branch v2.2.0</title>
<subtitle>Mirror of gocryptfs source code on Github</subtitle>
<id>http://nuetzlich.net/cgit/gocryptfs/atom?h=v2.2.0</id>
<link rel='self' href='http://nuetzlich.net/cgit/gocryptfs/atom?h=v2.2.0'/>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/'/>
<updated>2021-09-10T15:17:16+00:00</updated>
<entry>
<title>inomap: deterministically set root device</title>
<updated>2021-09-10T15:17:16+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2021-09-10T15:17:16+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=c9b825c58a9f996379108926754513bca03bb306'/>
<id>urn:sha1:c9b825c58a9f996379108926754513bca03bb306</id>
<content type='text'>
We used to have "first Translate() wins". This is not deterministic,
as the LOOKUP for the root directory does not seem to reach us, so
the first user LOOKUP would win, which may be on a mountpoint.
</content>
</entry>
<entry>
<title>go mod: declare module version v2</title>
<updated>2021-08-23T13:05:15+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2021-08-23T13:05:15+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=69d88505fd7f4cb0d9e4f1918de296342fe05858'/>
<id>urn:sha1:69d88505fd7f4cb0d9e4f1918de296342fe05858</id>
<content type='text'>
Our git version is v2+ for some time now, but go.mod
still declared v1. Hopefully making both match makes
https://pkg.go.dev/github.com/rfjakob/gocryptfs/v2 work.

All the import paths have been fixed like this:

  find . -name \*.go | xargs sed -i s%github.com/rfjakob/gocryptfs/%github.com/rfjakob/gocryptfs/v2/%
</content>
</entry>
<entry>
<title>-deterministic-names: implement for reverse mode, too</title>
<updated>2021-08-20T15:06:18+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2021-08-20T15:06:18+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=fbccb160438aba6f1e16b26a982122c726afee1a'/>
<id>urn:sha1:fbccb160438aba6f1e16b26a982122c726afee1a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>golangci-lint: fix issues found by "unused" and "deadcode"</title>
<updated>2021-08-19T06:34:49+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2021-08-19T06:31:53+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=be2bd4eec7de3836da56a3532ecbcf45a127ece2'/>
<id>urn:sha1:be2bd4eec7de3836da56a3532ecbcf45a127ece2</id>
<content type='text'>
Except xattrSupported, this is a false positive.

$ golangci-lint run --disable-all --enable unused --enable deadcode
gocryptfs-xray/xray_main.go:24:5: `GitVersionFuse` is unused (deadcode)
var GitVersionFuse = "[GitVersionFuse not set - please compile using ./build.bash]"
    ^
tests/symlink_race/main.go:47:6: `chmodLoop` is unused (deadcode)
func chmodLoop() {
     ^
internal/readpassword/extpass_test.go:11:5: `testPw` is unused (deadcode)
var testPw = []byte("test")
    ^
tests/reverse/xattr_test.go:13:6: func `xattrSupported` is unused (unused)
func xattrSupported(path string) bool {
     ^
internal/fusefrontend_reverse/rpath.go:20:22: func `(*RootNode).abs` is unused (unused)
func (rfs *RootNode) abs(relPath string, err error) (string, error) {
                     ^
tests/matrix/matrix_test.go:310:6: `sContains` is unused (deadcode)
func sContains(haystack []string, needle string) bool {
</content>
</entry>
<entry>
<title>Update dependencies</title>
<updated>2021-08-18T15:30:01+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2021-08-18T14:21:35+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=a7fa91764abbd97a1f5eb525e8d3cdb608546798'/>
<id>urn:sha1:a7fa91764abbd97a1f5eb525e8d3cdb608546798</id>
<content type='text'>
Using

  go get -u
  go mod tidy
</content>
</entry>
<entry>
<title>reverse: fix "exclude all but" case</title>
<updated>2021-08-18T09:38:56+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2021-08-18T09:33:12+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=0bc97845087b1e426d8cb2cb9c36779c4f9b2671'/>
<id>urn:sha1:0bc97845087b1e426d8cb2cb9c36779c4f9b2671</id>
<content type='text'>
With test.

Fixes https://github.com/rfjakob/gocryptfs/issues/588
</content>
</entry>
<entry>
<title>reverse mode: implement -one-file-system</title>
<updated>2021-08-16T17:23:58+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2021-08-16T16:40:48+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=b2724070d95234a8cd281f275211e0f827a8bbe1'/>
<id>urn:sha1:b2724070d95234a8cd281f275211e0f827a8bbe1</id>
<content type='text'>
Fixes https://github.com/rfjakob/gocryptfs/issues/475
</content>
</entry>
<entry>
<title>nametransform: delete NameTransformer interface</title>
<updated>2021-06-21T09:53:33+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2021-06-21T09:53:33+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=2efef1e270a0e374c479326ab2c296b5e9fdc34d'/>
<id>urn:sha1:2efef1e270a0e374c479326ab2c296b5e9fdc34d</id>
<content type='text'>
Useless layer of indirection.
</content>
</entry>
<entry>
<title>nametransform: check name validity on encryption</title>
<updated>2021-06-02T12:29:48+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2021-06-02T12:21:30+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=04858ddd222bbf7156f33f99cfb293a9b1e15ec8'/>
<id>urn:sha1:04858ddd222bbf7156f33f99cfb293a9b1e15ec8</id>
<content type='text'>
xfstests generic/523 discovered that we allowed to set
xattrs with "/" in the name, but did not allow to read
them later.

With this change we do not allow to set them in the first
place.
</content>
</entry>
<entry>
<title>fusefrontend_reverse: fix GETATTR panic</title>
<updated>2020-11-10T18:37:49+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2020-11-10T18:37:49+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=1c1692c4d9ab0357a66ffe5673aeb190cd326a1a'/>
<id>urn:sha1:1c1692c4d9ab0357a66ffe5673aeb190cd326a1a</id>
<content type='text'>
We don't implement Getattr(), so don't try to call it.

Reported at https://github.com/rfjakob/gocryptfs/issues/519#issuecomment-718790790 :

15:22:53.414101 rx 3344: READ n2565 {Fh 7 [42143744 +131072)  L 0 RDONLY,0x8000}
15:22:53.414274 rx 3342: READ n2565 {Fh 7 [42012672 +131072)  L 0 RDONLY,0x8000}
15:22:53.414787 rx 3346: READ n2565 {Fh 7 [42274816 +131072)  L 0 RDONLY,0x8000}
15:22:53.414806 tx 3336:     OK,  131072b data "\xcb\xd3&lt;\"!-\xa7\xc4"...
15:22:53.414874 rx 3348: GETATTR n1446 {Fh 0}
panic: interface conversion: *fusefrontend_reverse.File is not fs.FileGetattrer: missing method Getattr

goroutine 451 [running]:
github.com/rfjakob/gocryptfs/internal/fusefrontend_reverse.(*Node).Getattr(0xc00034c880, 0x5620579784c0, 0xc000593e60, 0x562057939800, 0xc000218050, 0xc0000fc108, 0x0)
        github.com/rfjakob/gocryptfs/internal/fusefrontend_reverse/node.go:69 +0x273
github.com/hanwen/go-fuse/v2/fs.(*rawBridge).getattr(0xc00011e000, 0x5620579784c0, 0xc000593e60, 0xc00034c880, 0x562057939800, 0xc000218050, 0xc0000fc108, 0xbfded1ef58ba7b13)
        github.com/hanwen/go-fuse/v2@v2.0.4-0.20200908172753-0b6cbc515082/fs/bridge.go:500 +0x2d4
github.com/hanwen/go-fuse/v2/fs.(*rawBridge).GetAttr(0xc00011e000, 0xc0000e0000, 0xc0000fc198, 0xc0000fc108, 0x0)
        github.com/hanwen/go-fuse/v2@v2.0.4-0.20200908172753-0b6cbc515082/fs/bridge.go:488 +0x11c
github.com/hanwen/go-fuse/v2/fuse.doGetAttr(0xc000120000, 0xc0000fc000)
        github.com/hanwen/go-fuse/v2@v2.0.4-0.20200908172753-0b6cbc515082/fuse/opcode.go:287 +0x6f
github.com/hanwen/go-fuse/v2/fuse.(*Server).handleRequest(0xc000120000, 0xc0000fc000, 0xc000000000)
        github.com/hanwen/go-fuse/v2@v2.0.4-0.20200908172753-0b6cbc515082/fuse/server.go:472 +0x2c1
github.com/hanwen/go-fuse/v2/fuse.(*Server).loop(0xc000120000, 0xc000288001)
        github.com/hanwen/go-fuse/v2@v2.0.4-0.20200908172753-0b6cbc515082/fuse/server.go:445 +0x18c
created by github.com/hanwen/go-fuse/v2/fuse.(*Server).readRequest
        github.com/hanwen/go-fuse/v2@v2.0.4-0.20200908172753-0b6cbc515082/fuse/server.go:312 +0x419
</content>
</entry>
</feed>
