<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gocryptfs/tests/defaults, 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-08-30T20:49:34+00:00</updated>
<entry>
<title>fusefrontend: take ContentLock for truncate through node.Setattr</title>
<updated>2026-08-30T20:49:34+00:00</updated>
<author>
<name>max</name>
</author>
<published>2026-08-17T01:15:41+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=9c2130d6c2e54c45c6787fbc49a896a8544a5e47'/>
<id>urn:sha1:9c2130d6c2e54c45c6787fbc49a896a8544a5e47</id>
<content type='text'>
node.Setattr opens its own file handle and called truncate directly,
without ContentLock. truncate ends in doWrite, which documents that the
caller holds that lock, and file.Setattr and Allocate both take it.

Besides leaving a path truncate unserialized against concurrent writes,
this skipped the write-operation counter that ContentLock.Lock()
increments. isConsecutiveWrite() reads that counter to notice foreign
modifications, so an already-open handle kept assuming its next write
appends, skipped writePadHole() and grew the file past a short last
block. That block no longer decrypted, and every later operation on the
file failed with EIO.

Fixes #1024
</content>
</entry>
<entry>
<title>Drop deprecated rand.Seed calls</title>
<updated>2025-12-14T10:39:31+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2025-12-14T10:38:45+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=745276fe6e2b81570e5c84625699d632da5fd6a9'/>
<id>urn:sha1:745276fe6e2b81570e5c84625699d632da5fd6a9</id>
<content type='text'>
$ staticcheck --version
staticcheck 2025.1.1 (0.6.1)

$ staticcheck ./...
contrib/findholes/holes/holes.go:179:2: rand.Seed has been deprecated since Go 1.20 and an alternative has been available since Go 1.0: As of Go 1.20 there is no reason to call Seed with a random value. Programs that call Seed with a known value to get a specific sequence of results should use New(NewSource(seed)) to obtain a local random generator. (SA1019)
tests/defaults/acl_test.go:24:2: rand.Seed has been deprecated since Go 1.20 and an alternative has been available since Go 1.0: As of Go 1.20 there is no reason to call Seed with a random value. Programs that call Seed with a known value to get a specific sequence of results should use New(NewSource(seed)) to obtain a local random generator. (SA1019)
tests/plaintextnames/file_holes_test.go:143:2: rand.Seed has been deprecated since Go 1.20 and an alternative has been available since Go 1.0: As of Go 1.20 there is no reason to call Seed with a random value. Programs that call Seed with a known value to get a specific sequence of results should use New(NewSource(seed)) to obtain a local random generator. (SA1019)
</content>
</entry>
<entry>
<title>tests: overlayfs_test: fix typo in comment</title>
<updated>2025-08-03T19:25:24+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2025-08-03T14:21:06+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=ad16a44c565ae2107bb7d35a439550dde99d54b2'/>
<id>urn:sha1:ad16a44c565ae2107bb7d35a439550dde99d54b2</id>
<content type='text'>
</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>darwin: tests/defaults: fix unix.Getdents build failure</title>
<updated>2025-04-26T09:27:58+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2025-04-26T09:27:27+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=7901dc91e1125aa90c7fbd547d5f80eedfeed8ec'/>
<id>urn:sha1:7901dc91e1125aa90c7fbd547d5f80eedfeed8ec</id>
<content type='text'>
Error was:

+ go test -c -tags without_openssl -o /dev/null github.com/rfjakob/gocryptfs/v2/tests/defaults
Error: tests/defaults/main_test.go:532:17: undefined: unix.Getdents
Error: tests/defaults/main_test.go:538:16: undefined: unix.Getdents
Error: tests/defaults/main_test.go:549:16: undefined: unix.Getdents
</content>
</entry>
<entry>
<title>tests: add TestSeekDir</title>
<updated>2025-04-19T20:51:52+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2025-03-26T22:29:21+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=83e587f4b1803d17e2e9fd0b3860dc9f24117acc'/>
<id>urn:sha1:83e587f4b1803d17e2e9fd0b3860dc9f24117acc</id>
<content type='text'>
Acc. to the commit message,
https://github.com/hanwen/go-fuse/commit/0d1228a39dd49c83c8b7c30dec7928f5d7d84cc0
break seeking in directories. This commit appears in go-fuse v2.6.0.
</content>
</entry>
<entry>
<title>make format</title>
<updated>2022-12-29T14:00:37+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2022-12-29T14:00:24+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=856ccaac10579abda5620dfc86ad6031b1076a43'/>
<id>urn:sha1:856ccaac10579abda5620dfc86ad6031b1076a43</id>
<content type='text'>
Run "make format" using
go version go1.19.4 linux/amd64
</content>
</entry>
<entry>
<title>make format</title>
<updated>2022-08-28T09:11:36+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2022-08-28T09:11:36+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=003a7fa2e53ac15d2c94a34102ae12b69b23c586'/>
<id>urn:sha1:003a7fa2e53ac15d2c94a34102ae12b69b23c586</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tests: fix build failure on Go 1.15 and older</title>
<updated>2022-01-22T15:07:59+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2022-01-22T15:07:59+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=47358938ec111f27465beba20a8e0c16c3b98bda'/>
<id>urn:sha1:47358938ec111f27465beba20a8e0c16c3b98bda</id>
<content type='text'>
These don't have os.ReadDir yet.

Error was:

	Error: vet: tests/defaults/overlayfs_test.go:104:15: ReadDir not declared by package os
</content>
</entry>
<entry>
<title>tests: add skipped O_TMPFILE test</title>
<updated>2022-01-22T13:06:39+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2022-01-22T13:06:39+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=696f11499bc47ef4d9709ca75fd5ecff56076da2'/>
<id>urn:sha1:696f11499bc47ef4d9709ca75fd5ecff56076da2</id>
<content type='text'>
Looks like the FUSE protocol does support O_TMPFILE yet.

https://github.com/rfjakob/gocryptfs/issues/641
</content>
</entry>
</feed>
