<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gocryptfs/internal/syscallcompat, branch nilopts</title>
<subtitle>Mirror of gocryptfs source code on Github</subtitle>
<id>http://nuetzlich.net/cgit/gocryptfs/atom?h=nilopts</id>
<link rel='self' href='http://nuetzlich.net/cgit/gocryptfs/atom?h=nilopts'/>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/'/>
<updated>2025-12-14T10:39:31+00:00</updated>
<entry>
<title>Fix go vet 1.25.4 "non-constant format string" issues</title>
<updated>2025-12-14T10:39:31+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2025-12-14T10:33:25+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=4762992b706a9d1950a86248720199ae8cd5d3e5'/>
<id>urn:sha1:4762992b706a9d1950a86248720199ae8cd5d3e5</id>
<content type='text'>
$ go version
go version go1.25.4 linux/amd64

$ go vet ./...
./init_dir.go:71:21: non-constant format string in call to (*github.com/rfjakob/gocryptfs/v2/internal/tlog.toggledLogger).Printf
./main.go:123:19: non-constant format string in call to (*github.com/rfjakob/gocryptfs/v2/internal/tlog.toggledLogger).Printf
./masterkey.go:29:20: non-constant format string in call to (*github.com/rfjakob/gocryptfs/v2/internal/tlog.toggledLogger).Printf
./masterkey.go:56:20: non-constant format string in call to (*github.com/rfjakob/gocryptfs/v2/internal/tlog.toggledLogger).Printf
./mount.go:415:20: non-constant format string in call to (*github.com/rfjakob/gocryptfs/v2/internal/tlog.toggledLogger).Printf
internal/tlog/log.go:76:18: non-constant format string in call to (*log.Logger).Printf
internal/syscallcompat/quirks.go:19:19: non-constant format string in call to (*github.com/rfjakob/gocryptfs/v2/internal/tlog.toggledLogger).Printf
</content>
</entry>
<entry>
<title>quirks: drop tmpfs xattr quirk</title>
<updated>2025-11-29T21:01:03+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2025-11-29T21:01:03+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=4c6d3926008347d5034bdbade8077890425a55ec'/>
<id>urn:sha1:4c6d3926008347d5034bdbade8077890425a55ec</id>
<content type='text'>
tmpfs supports user xattrs since Linux 6.6 (anno 2023):
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=2daf18a7884dc03d5164ab9c7dc3f2ea70638469
</content>
</entry>
<entry>
<title>darwin: syscallcompat: add RenameatxNp plus flags</title>
<updated>2025-08-07T21:06:03+00:00</updated>
<author>
<name>rafjaf</name>
</author>
<published>2025-07-20T16:24:34+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=f59e552e755f35c0278eaebd27a0dacb10914551'/>
<id>urn:sha1:f59e552e755f35c0278eaebd27a0dacb10914551</id>
<content type='text'>
Fix macos file saving problem by implementing RENAME_EXCHANGE flag.
With test.

The dummy value for RENAME_WHITEOUT collides with the new
flags. Move it wayyy up.

https://github.com/rfjakob/gocryptfs/issues/914
</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>syscallcompat: fix build contraints on thread_credentials_linux_368_arm.go</title>
<updated>2025-04-06T09:14:03+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2025-04-06T09:14:03+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=27abe23de847eff630f6768e7296cf3e6a6322b4'/>
<id>urn:sha1:27abe23de847eff630f6768e7296cf3e6a6322b4</id>
<content type='text'>
This file was only compiled for arm because
(  https://pkg.go.dev/cmd/go#hdr-Build_constraints ):

	If a file's
	name, after stripping the extension and a possible _test suffix,
	matches any of the following patterns:

	*_GOOS
	*_GOARCH
	*_GOOS_GOARCH

	(example: source_windows_amd64.go) where GOOS and GOARCH
	represent any known operating system and architecture values
	respectively, then the file is considered to have an implicit
	build constraint requiring those terms (in addition to any
	explicit constraints in the file).

Error was:

	+ GOOS=linux
	+ GOARCH=386
	+ build
	+ go build -tags without_openssl -o /dev/null
	# github.com/rfjakob/gocryptfs/v2/internal/syscallcompat
	Error: internal/syscallcompat/asuser_linux.go:41:8: undefined: Setregid
	Error: internal/syscallcompat/asuser_linux.go:47:8: undefined: Setreuid
	Error: internal/syscallcompat/thread_credentials_linux.go:29:10: undefined: setgroups
	Error: internal/syscallcompat/thread_credentials_linux.go:36:9: undefined: setgroups
	Error: internal/syscallcompat/thread_credentials_linux.go:49:9: undefined: Setregid
	Error: internal/syscallcompat/thread_credentials_linux.go:57:9: undefined: Setreuid

Rename the file to fix the problem. And add a comment about why this file exists.

Fixes https://github.com/rfjakob/gocryptfs/issues/907
</content>
</entry>
<entry>
<title>syscallcompat: use our own Setgroups/Setregid/Setreuid wrappers</title>
<updated>2025-02-26T20:38:36+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2025-02-26T20:38:36+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=6b1ba5846b17eec710a70cb6c6bf23e3f2024289'/>
<id>urn:sha1:6b1ba5846b17eec710a70cb6c6bf23e3f2024289</id>
<content type='text'>
x/sys v0.1.0 (https://github.com/golang/sys/commit/d0df966e6959f00dc1c74363e537872647352d51)
breaks our usecase. Switch to our own wrappers.

Relates-to: https://github.com/rfjakob/gocryptfs/issues/892
Relates-to: https://github.com/rfjakob/gocryptfs/issues/893
</content>
</entry>
<entry>
<title>syscallcompat: add docs for Setreuid/Setregid/Setgroups</title>
<updated>2025-02-26T20:33:06+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2025-02-26T20:32:53+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=07b1bd7ce810c83ed622885b65dbba3dab0f7fbb'/>
<id>urn:sha1:07b1bd7ce810c83ed622885b65dbba3dab0f7fbb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>syscallcompat: move getSupplementaryGroups to suser_linux.go</title>
<updated>2025-02-26T20:28:07+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2025-02-26T20:28:07+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=a540b0ea1bf5e9742773784600033bcb466e8a04'/>
<id>urn:sha1:a540b0ea1bf5e9742773784600033bcb466e8a04</id>
<content type='text'>
It's only used there, so move it.
</content>
</entry>
<entry>
<title>syscallcompat: rename thread_credentials files to include "linux"</title>
<updated>2025-02-26T20:27:29+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2025-02-26T20:21:57+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=987ced003ec2971797e8969e0cf0a37a751ebc84'/>
<id>urn:sha1:987ced003ec2971797e8969e0cf0a37a751ebc84</id>
<content type='text'>
As with the other files, include "linux" because the code only
builds on linux

renamed:    internal/syscallcompat/thread_credentials.go -&gt; internal/syscallcompat/thread_credentials_linux.go
renamed:    internal/syscallcompat/thread_credentials_368_arm.go -&gt; internal/syscallcompat/thread_credentials_linux_368_arm.go
renamed:    internal/syscallcompat/thread_credentials_other.go -&gt; internal/syscallcompat/thread_credentials_linux_other.go
</content>
</entry>
</feed>
