<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gocryptfs/tests/reverse/correctness_test.go, branch v1.7-rc1</title>
<subtitle>Mirror of gocryptfs source code on Github</subtitle>
<id>http://nuetzlich.net/cgit/gocryptfs/atom?h=v1.7-rc1</id>
<link rel='self' href='http://nuetzlich.net/cgit/gocryptfs/atom?h=v1.7-rc1'/>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/'/>
<updated>2018-12-27T14:19:55+00:00</updated>
<entry>
<title>Assorted spelling fixes.</title>
<updated>2018-12-27T14:19:55+00:00</updated>
<author>
<name>Sebastian Lackner</name>
</author>
<published>2018-12-27T11:03:00+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=874eaf9734cc10940e08f7b043652449e1e220b5'/>
<id>urn:sha1:874eaf9734cc10940e08f7b043652449e1e220b5</id>
<content type='text'>
Mostly detected with the 'codespell' utility, but also includes some
manual grammar fixes.
</content>
</entry>
<entry>
<title>tests: catch "name too long" symlink failure on XFS</title>
<updated>2018-10-10T20:40:55+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2018-10-10T20:38:22+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=4f2feb1be7530d4fca7061b89d61f3ffc5761a0b'/>
<id>urn:sha1:4f2feb1be7530d4fca7061b89d61f3ffc5761a0b</id>
<content type='text'>
Retry with length 1000 if length 4000 fails, which
should work on all filesystems.

Failure was:

  --- FAIL: TestTooLongSymlink (0.00s)
      correctness_test.go:198: symlink xxx[...]xxxx /tmp/xfs.mnt/gocryptfs-test-parent/549823072/365091391/TooLongSymlink: file name too long

https://github.com/rfjakob/gocryptfs/issues/267
</content>
</entry>
<entry>
<title>fusefrontend: use OpenDirNofollow in openBackingDir</title>
<updated>2018-09-08T17:27:33+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2018-09-08T17:27:33+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=e8d8ae54d3b852d1d35b6db81d4a0beb57fbdce1'/>
<id>urn:sha1:e8d8ae54d3b852d1d35b6db81d4a0beb57fbdce1</id>
<content type='text'>
Rename openBackingPath to openBackingDir and use OpenDirNofollow
to be safe against symlink races. Note that openBackingDir is
not used in several important code paths like Create().

But it is used in Unlink, and the performance impact in the RM benchmark
to be acceptable:

Before

	$ ./benchmark.bash
	Testing gocryptfs at /tmp/benchmark.bash.bYO: gocryptfs v1.6-12-g930c37e-dirty; go-fuse v20170619-49-gb11e293; 2018-09-08 go1.10.3
	WRITE: 262144000 bytes (262 MB, 250 MiB) copied, 1.07979 s, 243 MB/s
	READ:  262144000 bytes (262 MB, 250 MiB) copied, 0.882413 s, 297 MB/s
	UNTAR: 16.703
	MD5:   7.606
	LS:    1.349
	RM:    3.237

After

	$ ./benchmark.bash
	Testing gocryptfs at /tmp/benchmark.bash.jK3: gocryptfs v1.6-13-g84d6faf-dirty; go-fuse v20170619-49-gb11e293; 2018-09-08 go1.10.3
	WRITE: 262144000 bytes (262 MB, 250 MiB) copied, 1.06261 s, 247 MB/s
	READ:  262144000 bytes (262 MB, 250 MiB) copied, 0.947228 s, 277 MB/s
	UNTAR: 17.197
	MD5:   7.540
	LS:    1.364
	RM:    3.410
</content>
</entry>
<entry>
<title>tests: restore Go 1.7 compatibility</title>
<updated>2018-09-08T16:19:53+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2018-09-08T16:19:53+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=84d6fafeca8f1d7b1b631a56fc3dc47016c4ba31'/>
<id>urn:sha1:84d6fafeca8f1d7b1b631a56fc3dc47016c4ba31</id>
<content type='text'>
Go 1.7 does not have t.Name() yet.
</content>
</entry>
<entry>
<title>syscallcompat: use O_PATH in OpenDirNofollow</title>
<updated>2018-09-08T16:06:33+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2018-09-08T16:06:33+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=930c37e03d5ff80e7cdc9f0ca2cd35d80a06d5c0'/>
<id>urn:sha1:930c37e03d5ff80e7cdc9f0ca2cd35d80a06d5c0</id>
<content type='text'>
This fixes the "0100 directory" problem in reverse mode,
and should be slightly faster.
</content>
</entry>
<entry>
<title>macos: fix fd leak in reverse tests</title>
<updated>2018-03-05T22:21:08+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2018-03-05T22:21:08+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=18d4159d18b370f82dafd1c7627a6eb1f386cdfb'/>
<id>urn:sha1:18d4159d18b370f82dafd1c7627a6eb1f386cdfb</id>
<content type='text'>
Causes "Resource busy" unmount failures on macos
</content>
</entry>
<entry>
<title>macos: adjust TestTooLongSymlink length for darwin</title>
<updated>2018-03-05T20:23:57+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2018-03-05T20:23:57+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=b820fa691ddae7b3111de823c8a45666f9e59c70'/>
<id>urn:sha1:b820fa691ddae7b3111de823c8a45666f9e59c70</id>
<content type='text'>
Limit is much lower than on linux
</content>
</entry>
<entry>
<title>fusefrontend_reverse: secure Access against symlink races (somewhat)</title>
<updated>2017-12-06T23:11:35+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2017-12-06T23:08:10+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=87736eb833dfcf3f110dbd8846752c86aae7b481'/>
<id>urn:sha1:87736eb833dfcf3f110dbd8846752c86aae7b481</id>
<content type='text'>
Unfortunately, faccessat in Linux ignores AT_SYMLINK_NOFOLLOW,
so this is not completely atomic.

Given that the information you get from access is not very
interesting, it seems good enough.

https://github.com/rfjakob/gocryptfs/issues/165
</content>
</entry>
<entry>
<title>reverse: reject too-long symlink target reads with ENAMETOOLONG</title>
<updated>2017-11-26T20:37:12+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2017-11-26T20:27:29+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=1bb47b6796c7a2cfb64e6cdff37c43c03c473a81'/>
<id>urn:sha1:1bb47b6796c7a2cfb64e6cdff37c43c03c473a81</id>
<content type='text'>
If the symlink target gets too long due to base64 encoding, we should
return ENAMETOOLONG instead of having the kernel reject the data and
returning an I/O error to the user.

Fixes https://github.com/rfjakob/gocryptfs/issues/167
</content>
</entry>
<entry>
<title>fusefrontend_reverse: workaround ext4 test failure</title>
<updated>2017-10-03T19:15:17+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2017-10-03T19:15:17+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=64e5906ffa1f225a51048b3d0ac6b1a09e2ca170'/>
<id>urn:sha1:64e5906ffa1f225a51048b3d0ac6b1a09e2ca170</id>
<content type='text'>
The extended TestLongnameStat() exposes a pathological case
when run on ext4, as ext4 reuses inode numbers immediately.

This change modifies the test to not delete the files immediately,
so the inode numbers cannot be reused immediately.

Fix for the underlying issue is a TODO.
</content>
</entry>
</feed>
