<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gocryptfs/internal/fusefrontend, branch v2.6.0</title>
<subtitle>Mirror of gocryptfs source code on Github</subtitle>
<id>http://nuetzlich.net/cgit/gocryptfs/atom?h=v2.6.0</id>
<link rel='self' href='http://nuetzlich.net/cgit/gocryptfs/atom?h=v2.6.0'/>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/'/>
<updated>2025-07-10T18:06:34+00:00</updated>
<entry>
<title>remove redundant contentEnc reference from file</title>
<updated>2025-07-10T18:06:34+00:00</updated>
<author>
<name>Lars Quentin</name>
</author>
<published>2025-07-10T14:33:26+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=844f339befe67a3f8573f98c23559fd7c1a6e507'/>
<id>urn:sha1:844f339befe67a3f8573f98c23559fd7c1a6e507</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix all staticcheck errors in gocryptfs codebase</title>
<updated>2025-07-08T17:54:14+00:00</updated>
<author>
<name>copilot-swe-agent[bot]</name>
</author>
<published>2025-07-07T18:18:12+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=386232f39ede046d6453a0990ad40f2d86a26f53'/>
<id>urn:sha1:386232f39ede046d6453a0990ad40f2d86a26f53</id>
<content type='text'>
Co-authored-by: rfjakob &lt;286847+rfjakob@users.noreply.github.com&gt;

Add staticcheck to test.bash for continuous static analysis

Co-authored-by: rfjakob &lt;286847+rfjakob@users.noreply.github.com&gt;

Fix nil pointer dereference in timesToTimespec function

The previous fix for deprecated fuse.UtimeToTimespec caused a panic
because unix.TimeToTimespec doesn't handle nil pointers. This fix
properly handles nil pointers by using unix.UTIME_OMIT while still
using the non-deprecated unix.TimeToTimespec function.

Co-authored-by: rfjakob &lt;286847+rfjakob@users.noreply.github.com&gt;

Undo SA6002 changes and add staticcheck ignore directive instead

Co-authored-by: rfjakob &lt;286847+rfjakob@users.noreply.github.com&gt;
</content>
</entry>
<entry>
<title>Fix a bunch of staticcheck errors</title>
<updated>2025-07-07T17:59:35+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2025-07-07T17:54:48+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=8f5df19b353e02ffba842fd1b15ccf93da7ee3b4'/>
<id>urn:sha1:8f5df19b353e02ffba842fd1b15ccf93da7ee3b4</id>
<content type='text'>
Tool-assisted.
</content>
</entry>
<entry>
<title>fusefronted: fake fstat for deleted fifos</title>
<updated>2025-06-15T18:11:06+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2025-06-15T17:52:21+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=4ef2678917ddc26ab8e5f64a3158720da6e0a5d1'/>
<id>urn:sha1:4ef2678917ddc26ab8e5f64a3158720da6e0a5d1</id>
<content type='text'>
git test suite t9300-fast-import.sh test 245 does the equivalent of this:

	mkfifo fifo
	exec 8&lt;&gt;fifo
	rm fifo
	cat /dev/null &gt;&amp;8

This used to fail with

	cat: standard output: No such file or directory

because cat tries to fstat stdout.

The open() on the fifo does not reach the filesystem, so we don't
have an fd open for the delted file, hence no way to access it.

Fake fstat success as good as we can to make cat happy.

Fixes https://github.com/rfjakob/gocryptfs/issues/929
</content>
</entry>
<entry>
<title>fusefronted: comment syscall.S_IFMT masking</title>
<updated>2025-06-15T11:12:00+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2025-06-15T11:12:00+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=17524d373c388b2d2510662aa8aefb633bae674e'/>
<id>urn:sha1:17524d373c388b2d2510662aa8aefb633bae674e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>idleMonitor: switch to the new atomic.Bool api</title>
<updated>2025-05-29T19:38:25+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2025-05-29T19:30:53+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=2609c72beee098c6afe4bbc3344a1fcee06df94b'/>
<id>urn:sha1:2609c72beee098c6afe4bbc3344a1fcee06df94b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Switch to the new atomic Uint64.Add api</title>
<updated>2025-05-06T07:11:49+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2025-05-06T07:11:49+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=9b6e47fc0a2ed65d462424152a13f995a8d7dd9a'/>
<id>urn:sha1:9b6e47fc0a2ed65d462424152a13f995a8d7dd9a</id>
<content type='text'>
The new api guarantees that the value is aligned, preventing
stuff like this on 32 bit platforms:

	goroutine 26 [running]:
	internal/runtime/atomic.panicUnaligned()
		/usr/lib/go-1.24/src/internal/runtime/atomic/unaligned.go:8 +0x24
	internal/runtime/atomic.Xadd64(0x2496c74, 0x1)
		/usr/lib/go-1.24/src/internal/runtime/atomic/atomic_arm.s:318 +0x14
	github.com/rfjakob/gocryptfs/internal/inomap.(*InoMap).NextSpillIno(0x2496c60)

Fixes https://github.com/rfjakob/gocryptfs/issues/912
</content>
</entry>
<entry>
<title>fusefrontend: switch to new go-fuse dir api</title>
<updated>2025-04-26T09:03:55+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2025-03-26T21:45:43+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=ae3c859c1179498a4882b4bd69c2243aa6912332'/>
<id>urn:sha1:ae3c859c1179498a4882b4bd69c2243aa6912332</id>
<content type='text'>
go-fuse 2.6.0, specifically,
https://github.com/hanwen/go-fuse/commit/e885cea8d4d40a5a9bb92bc3cef7193f2a316f59
introduced a new, file-based directory API while
deprecating the old one.

Switch to the new API.

xfstests generic/035 now passes.

Fixes https://github.com/hanwen/go-fuse/issues/55
</content>
</entry>
<entry>
<title>fusefrontend: fix unconditional FileGetattrer cast</title>
<updated>2025-03-26T21:50:54+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2025-03-26T21:50:54+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=810f074e75b4251b1520843b42c204e5a6e376d8'/>
<id>urn:sha1:810f074e75b4251b1520843b42c204e5a6e376d8</id>
<content type='text'>
Essentially a port of
https://github.com/hanwen/go-fuse/commit/531a68551e40e7303e94b53fb3792e6dfb28d15a .

This fixes

	panic: interface conversion: *fs.dirStreamAsFile is not fs.FileGetattrer: missing method Getattr

	goroutine 20 [running]:
	github.com/rfjakob/gocryptfs/v2/internal/fusefrontend.(*Node).Getattr(0x55a7ac9d9090?, {0x55a7ac85a4d8, 0xc0013401c8}, {0x55a7ac80eb40?, 0xc0013401b0}, 0xc000586938)
		github.com/rfjakob/gocryptfs/v2/internal/fusefrontend/node.go:74 +0x22c
	github.com/hanwen/go-fuse/v2/fs.(*rawBridge).getattr(0xc0000b6180, {0x55a7ac85a4d8, 0xc0013401c8}, 0xc0010ea160, {0x55a7ac80eb40?, 0xc0013401b0}, 0xc000586938)
		github.com/hanwen/go-fuse/v2@v2.7.2/fs/bridge.go:569 +0x9b
	[...]

which is a bug exposed by a go-fuse update.

Fixes https://github.com/rfjakob/gocryptfs/issues/897
</content>
</entry>
<entry>
<title>Report inode number for the root node</title>
<updated>2024-11-11T21:33:07+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2024-11-11T21:27:42+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=86891054ef2a5d1b0b59c7c140aae284e7c5bd87'/>
<id>urn:sha1:86891054ef2a5d1b0b59c7c140aae284e7c5bd87</id>
<content type='text'>
Now that https://github.com/hanwen/go-fuse/issues/399 has
landed we can report an inode number for the root node.

Fixes https://github.com/rfjakob/gocryptfs/issues/580
</content>
</entry>
</feed>
