<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gocryptfs/internal, branch nfc_v2</title>
<subtitle>Mirror of gocryptfs source code on Github</subtitle>
<id>http://nuetzlich.net/cgit/gocryptfs/atom?h=nfc_v2</id>
<link rel='self' href='http://nuetzlich.net/cgit/gocryptfs/atom?h=nfc_v2'/>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/'/>
<updated>2026-01-24T19:00:43+00:00</updated>
<entry>
<title>macos: normalize unicode file names in forward mode</title>
<updated>2026-01-24T19:00:43+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2026-01-23T20:32:49+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=041e977dfc5c84ef5b38199c9b91c1586c59df90'/>
<id>urn:sha1:041e977dfc5c84ef5b38199c9b91c1586c59df90</id>
<content type='text'>
Summary: Store as NFC, read as NFD.

This commit resolves https://github.com/rfjakob/gocryptfs/issues/850
by addressing Unicode normalization mismatches on macOS between NFC
(used by CLI tools) and NFD (used by GUI apps). The solution is inspired
by Cryptomator's approach ( https://github.com/cryptomator/cryptomator/issues/264 ).

Forward mode on MacOS now enforces NFC for storage but presents NFD
as recommended by https://developer.apple.com/library/archive/qa/qa1173/_index.html
and https://github.com/macfuse/macfuse/wiki/File-Names-(Unicode-Normalization-Forms) .

See https://github.com/rfjakob/gocryptfs/pull/949 for more info.

This commit does nothing for reverse mode as it is not clear if
anything can be done. Reverse mode can not influence how the
file names are stored, hence mapping normalized names back to
what is actually on disk seems difficult.
</content>
</entry>
<entry>
<title>Update hkdf.go</title>
<updated>2026-01-07T20:59:39+00:00</updated>
<author>
<name>DMyachin</name>
</author>
<published>2026-01-07T17:47:26+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=c9cf6f1f8a5b90c9cb70ed19f8c8426dc2655c9d'/>
<id>urn:sha1:c9cf6f1f8a5b90c9cb70ed19f8c8426dc2655c9d</id>
<content type='text'>
Use hkdf from stable api instead of eXperimental</content>
</entry>
<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>Xattrs support in reverse mode</title>
<updated>2025-11-22T20:24:20+00:00</updated>
<author>
<name>Aleksey Vasenev</name>
</author>
<published>2024-11-17T20:14:36+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=ed1c5e4a9f5ce1921f3ec03b32e591ce828ec5b9'/>
<id>urn:sha1:ed1c5e4a9f5ce1921f3ec03b32e591ce828ec5b9</id>
<content type='text'>
Fixes https://github.com/rfjakob/gocryptfs/issues/827
</content>
</entry>
<entry>
<title>fusefrontend: Mkdir: Stat after fixing permissions</title>
<updated>2025-10-02T19:42:39+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2025-10-02T19:36:23+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=8b33c0d6763f25be4ee5f100bbb1c67f7d485ee4'/>
<id>urn:sha1:8b33c0d6763f25be4ee5f100bbb1c67f7d485ee4</id>
<content type='text'>
Fixes https://github.com/rfjakob/gocryptfs/issues/964
</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>stupidgcm: make build tags consistent</title>
<updated>2025-08-07T20:06:39+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2025-08-07T20:06:39+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=5f324fe6614c1cf6bc7e5c07807332c8bb23dd5c'/>
<id>urn:sha1:5f324fe6614c1cf6bc7e5c07807332c8bb23dd5c</id>
<content type='text'>
This makes building with just CGO_ENABLED=0 work.
</content>
</entry>
<entry>
<title>stupidcgm: explain what xchacha.go is</title>
<updated>2025-08-07T20:02:23+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2025-08-07T20:02:23+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=677bd8eaec0601dc0a7cac921a586860e9be3aff'/>
<id>urn:sha1:677bd8eaec0601dc0a7cac921a586860e9be3aff</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fusefronted: report correct directory size in fstat</title>
<updated>2025-08-03T19:25:24+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2025-08-03T19:22:10+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=ddcc7405e68e6be2cce02dddde3fa6e019c62951'/>
<id>urn:sha1:ddcc7405e68e6be2cce02dddde3fa6e019c62951</id>
<content type='text'>
Fixes https://github.com/rfjakob/gocryptfs/issues/951
</content>
</entry>
</feed>
