<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gocryptfs/internal/syscallcompat, branch master</title>
<subtitle>Mirror of gocryptfs source code on Github</subtitle>
<id>http://nuetzlich.net/cgit/gocryptfs/atom?h=master</id>
<link rel='self' href='http://nuetzlich.net/cgit/gocryptfs/atom?h=master'/>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/'/>
<updated>2026-07-22T19:57:57+00:00</updated>
<entry>
<title>fusefrontend: expose birth time via statx</title>
<updated>2026-07-22T19:57:57+00:00</updated>
<author>
<name>Marios Titas</name>
</author>
<published>2026-07-21T17:27:38+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=790362e8f8eabd1bdf75f98328daf94cf623c600'/>
<id>urn:sha1:790362e8f8eabd1bdf75f98328daf94cf623c600</id>
<content type='text'>
Forward the backing filesystem's STATX_BTIME on Linux while preserving
existing metadata translations and fallback behavior.

On Linux 6.6 and newer, this allows statx consumers such as GNU stat
to report birth time when the backing filesystem provides it. Older
kernels and backing filesystems without birth-time support retain the
existing behavior. No on-disk format change or migration is required.

Reverse mode remains unchanged.

Fixes #868.

Related context: #732
</content>
</entry>
<entry>
<title>sharedstorage: fix darwin &amp; freebsd build failure</title>
<updated>2026-07-16T20:07:54+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2026-07-16T19:16:45+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=b8e34b1efcb27c772f0d2ca12f5ecdd6b7fc817b'/>
<id>urn:sha1:b8e34b1efcb27c772f0d2ca12f5ecdd6b7fc817b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fusefrontend: LockSharedStorage: loop on EINTR, add debug output</title>
<updated>2026-07-16T20:07:54+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2026-07-16T18:47:57+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=b89f0dc94bd83857b187a84a0d4ae127000f0b1c'/>
<id>urn:sha1:b89f0dc94bd83857b187a84a0d4ae127000f0b1c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fusefrontend: sharedstorage: use byte-range lock on file header creation</title>
<updated>2026-07-16T20:07:54+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2023-06-02T12:24:44+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=b499d38b23f209eb49cbc37d3acd2f9444f5654f'/>
<id>urn:sha1:b499d38b23f209eb49cbc37d3acd2f9444f5654f</id>
<content type='text'>
Multiple host writing to the same empty file at the same time
could have overwritten each other's newly created file header,
leading to data corruption.

Fix the race by placing a byte-range lock on the file when
creating the file header.
</content>
</entry>
<entry>
<title>Added basic support for FreeBSD.</title>
<updated>2026-03-08T20:35:59+00:00</updated>
<author>
<name>Ankush Patel</name>
</author>
<published>2026-02-05T01:42:40+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=4fa21dcb57c5a0b7761bfec606ffd0e94c293ce8'/>
<id>urn:sha1:4fa21dcb57c5a0b7761bfec606ffd0e94c293ce8</id>
<content type='text'>
Freebsd-support: Change bash shebang to use /usr/bin/env

Freebsd-support: Fix go vet "undefined" fixes when running make ci

freebsd: stub xattr functions

/proc/PID/fd does not exist on freebsd.

freebsd-support: modify FchmodatNofollow for FreeBSD

FreeBSD supports the Fchmodat system call, with the AT_SYMLINK_NOFOLLOW
flag. FchmodatNofollow has been modified to use this system call and
flag.

freebsd-support: PR changes and fixes

* Functions in fusefrontend_reverse/node_xattr_freebsd.go have been
  stubbed for now.

* asuser_freebsd.go updated to only run f() when context is nil;
  otherwise log a warning and return an error.

* emulate.go build flags updated, and FreeBSD specific version added.

* sys_freebsd.go bug in Renameat2 with RENAME_EXCHANGE flag fixed.
  FreeBSD does not support atomic file swapping, so this flag now
  returns an error.

* unix2syscall and atime is identical between FreeBSD and Darwin,
  updated filenames so Go will build the file for FreeBSD and Mac OS.

freebsd-support: Addressed more PR comments and fixed build tags
</content>
</entry>
<entry>
<title>enable falloc on btrfs if CoW is disabled</title>
<updated>2026-02-10T20:26:49+00:00</updated>
<author>
<name>Jared Van Bortel</name>
</author>
<published>2026-02-06T20:16:40+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=b024e3696d215e6b7a0b8d17ca3eb28af20dd504'/>
<id>urn:sha1:b024e3696d215e6b7a0b8d17ca3eb28af20dd504</id>
<content type='text'>
</content>
</entry>
<entry>
<title>syscallcompat: delete accidentially-commited debug output</title>
<updated>2026-02-10T20:26:43+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2026-02-10T20:25:58+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=61685370b1aaffde25e5427a08509d33d71746fe'/>
<id>urn:sha1:61685370b1aaffde25e5427a08509d33d71746fe</id>
<content type='text'>
Fixes: ab4c0446d3db0665fc2e9a05c0319541d21811eb
</content>
</entry>
<entry>
<title>reverse: return ENOTTR when xattr name is not decryptable</title>
<updated>2026-02-10T20:02:03+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2026-02-10T20:02:03+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=ab4c0446d3db0665fc2e9a05c0319541d21811eb'/>
<id>urn:sha1:ab4c0446d3db0665fc2e9a05c0319541d21811eb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>darwin: syscallcompat: Openat: use O_SYMLINK</title>
<updated>2026-02-09T20:20:13+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2026-02-07T20:19:14+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=d22d6b3c69f95ed0034af04851807e7125811b87'/>
<id>urn:sha1:d22d6b3c69f95ed0034af04851807e7125811b87</id>
<content type='text'>
Also add tests that opening a symlink (using unix.O_PATH | unix.O_NOFOLLOW)
works.

https://github.com/rfjakob/gocryptfs/issues/993
</content>
</entry>
<entry>
<title>syscallcompat: Listxattr: smart buffer sizing</title>
<updated>2026-02-03T19:58:59+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2026-02-03T19:58:59+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=700432ec25aad389465124d0defffb2b8cca431d'/>
<id>urn:sha1:700432ec25aad389465124d0defffb2b8cca431d</id>
<content type='text'>
</content>
</entry>
</feed>
