<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gocryptfs/internal/fusefrontend/xattr_unit_test.go, branch xattr_user_buffer</title>
<subtitle>Mirror of gocryptfs source code on Github</subtitle>
<id>http://nuetzlich.net/cgit/gocryptfs/atom?h=xattr_user_buffer</id>
<link rel='self' href='http://nuetzlich.net/cgit/gocryptfs/atom?h=xattr_user_buffer'/>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/'/>
<updated>2025-07-08T17:54:14+00:00</updated>
<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>nametransform: add longNameMax parameter</title>
<updated>2021-10-21T12:55:30+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2021-10-21T07:37:04+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=dc32710045f6f46913ae336b6fb77bf90b6bdb85'/>
<id>urn:sha1:dc32710045f6f46913ae336b6fb77bf90b6bdb85</id>
<content type='text'>
Determines when to start hashing long names instead
of hardcoded 255. Will be used to alleviate "name too long"
issues some users see on cloud storage.

https://github.com/rfjakob/gocryptfs/issues/499
</content>
</entry>
<entry>
<title>cli: drop -forcedecode flag</title>
<updated>2021-09-10T10:14:19+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2021-09-10T10:14:19+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=d023cd6c95fcbc6b5056ba1f425d2ac3df4abc5a'/>
<id>urn:sha1:d023cd6c95fcbc6b5056ba1f425d2ac3df4abc5a</id>
<content type='text'>
The rewritten openssl backend does not support this flag anymore,
and it was inherently dangerour. Drop it (ignored for compatibility)
</content>
</entry>
<entry>
<title>go mod: declare module version v2</title>
<updated>2021-08-23T13:05:15+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2021-08-23T13:05:15+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=69d88505fd7f4cb0d9e4f1918de296342fe05858'/>
<id>urn:sha1:69d88505fd7f4cb0d9e4f1918de296342fe05858</id>
<content type='text'>
Our git version is v2+ for some time now, but go.mod
still declared v1. Hopefully making both match makes
https://pkg.go.dev/github.com/rfjakob/gocryptfs/v2 work.

All the import paths have been fixed like this:

  find . -name \*.go | xargs sed -i s%github.com/rfjakob/gocryptfs/%github.com/rfjakob/gocryptfs/v2/%
</content>
</entry>
<entry>
<title>Implement -deterministic-names: extended -zerodiriv</title>
<updated>2021-08-20T08:58:42+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2021-08-20T08:57:26+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=195d9d18a90d88ff2cb0530d832c59d98934fd1f'/>
<id>urn:sha1:195d9d18a90d88ff2cb0530d832c59d98934fd1f</id>
<content type='text'>
-deterministc-names uses all-zero dirivs but does not write
them to disk anymore.
</content>
</entry>
<entry>
<title>nametransform: pass badname patterns via New</title>
<updated>2021-06-20T17:09:46+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2021-06-20T17:09:46+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=c5d8fa83ae702017fc90769dff178fda6a7942a3'/>
<id>urn:sha1:c5d8fa83ae702017fc90769dff178fda6a7942a3</id>
<content type='text'>
This means we can unexport the field.
</content>
</entry>
<entry>
<title>nametransform: check name validity on encryption</title>
<updated>2021-06-02T12:29:48+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2021-06-02T12:21:30+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=04858ddd222bbf7156f33f99cfb293a9b1e15ec8'/>
<id>urn:sha1:04858ddd222bbf7156f33f99cfb293a9b1e15ec8</id>
<content type='text'>
xfstests generic/523 discovered that we allowed to set
xattrs with "/" in the name, but did not allow to read
them later.

With this change we do not allow to set them in the first
place.
</content>
</entry>
<entry>
<title>v2api: implement Getxattr, Setxattr, Removexattr, Listxattr</title>
<updated>2020-07-14T17:55:20+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2020-07-14T17:55:20+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=57d572dbc10cfb1d14642598b0827d4119b26b64'/>
<id>urn:sha1:57d572dbc10cfb1d14642598b0827d4119b26b64</id>
<content type='text'>
gocryptfs/tests/xattr passes.
</content>
</entry>
<entry>
<title>v2api: fix TestOpenBackingDir</title>
<updated>2020-07-11T18:15:47+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2020-07-11T18:15:47+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=b0342fae5d89301992d87f4305df71da502300ba'/>
<id>urn:sha1:b0342fae5d89301992d87f4305df71da502300ba</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fusefrontend: make openBackingDir() symlink-safe</title>
<updated>2019-01-01T15:24:09+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2018-10-14T18:11:49+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=932efbd4593fe6be6c86f0dafeaea32910b7c246'/>
<id>urn:sha1:932efbd4593fe6be6c86f0dafeaea32910b7c246</id>
<content type='text'>
openBackingDir() used encryptPath(), which is not symlink-safe
itself. Drop encryptPath() and implement our own directory walk.

Adds three seconds to untar and two seconds to rm:

$ ./benchmark.bash
Testing gocryptfs at /tmp/benchmark.bash.MzG: gocryptfs v1.6-36-g8fb3c2f-dirty; go-fuse v20170619-66-g6df8ddc; 2018-10-14 go1.11
WRITE: 262144000 bytes (262 MB, 250 MiB) copied, 1.25078 s, 210 MB/s
READ:  262144000 bytes (262 MB, 250 MiB) copied, 1.0318 s, 254 MB/s
UNTAR: 20.941
MD5:   11.568
LS:    1.638
RM:    5.337
</content>
</entry>
</feed>
