<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gocryptfs/internal/syscallcompat, branch v2.6.1</title>
<subtitle>Mirror of gocryptfs source code on Github</subtitle>
<id>http://nuetzlich.net/cgit/gocryptfs/atom?h=v2.6.1</id>
<link rel='self' href='http://nuetzlich.net/cgit/gocryptfs/atom?h=v2.6.1'/>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/'/>
<updated>2025-08-07T21:06:03+00:00</updated>
<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>
<entry>
<title>syscallcompat: add asUser for darwin and make OpenatUser and friends shared</title>
<updated>2025-02-26T20:27:29+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2025-02-26T20:12:56+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=22cd9cf174e8a93787b01f6dd7b09247f9642286'/>
<id>urn:sha1:22cd9cf174e8a93787b01f6dd7b09247f9642286</id>
<content type='text'>
</content>
</entry>
<entry>
<title>syscallcompat: move asUser to its own file</title>
<updated>2025-02-26T20:11:56+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2025-02-26T19:55:07+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=49d797effbc0888975c51ac45371d91fc59ea2dc'/>
<id>urn:sha1:49d797effbc0888975c51ac45371d91fc59ea2dc</id>
<content type='text'>
</content>
</entry>
</feed>
