<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gocryptfs/internal/fusefrontend, branch v2.0</title>
<subtitle>Mirror of gocryptfs source code on Github</subtitle>
<id>http://nuetzlich.net/cgit/gocryptfs/atom?h=v2.0</id>
<link rel='self' href='http://nuetzlich.net/cgit/gocryptfs/atom?h=v2.0'/>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/'/>
<updated>2021-06-02T17:10:36+00:00</updated>
<entry>
<title>fusefrontend: run acl Setxattr in user context</title>
<updated>2021-06-02T17:10:36+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2021-06-02T17:10:36+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=a38e5988bae3319a2c1c6745064f5785a0971d05'/>
<id>urn:sha1:a38e5988bae3319a2c1c6745064f5785a0971d05</id>
<content type='text'>
The result of setting an acl depends on who runs the
operation!

Fixes fuse-xfstests generic/375
(see https://github.com/rfjakob/fuse-xfstests/wiki/results_2021-05-19)
</content>
</entry>
<entry>
<title>fusefrontend: catch ReadAt integer overflow</title>
<updated>2021-06-02T16:20:05+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2021-06-02T16:20:05+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=b23e21f61fc51ffa9c1c823778553925e1cc115e'/>
<id>urn:sha1:b23e21f61fc51ffa9c1c823778553925e1cc115e</id>
<content type='text'>
Discovered by xfstests generic/564 .

Failure was:

generic/564	- output mismatch (see /opt/fuse-xfstests/results//generic/564.out.bad)
    --- tests/generic/564.out	2021-05-08 21:11:05.307395966 +0200
    +++ /opt/fuse-xfstests/results//generic/564.out.bad	2021-05-19 19:01:16.912888879 +0200
    @@ -31,7 +31,7 @@
     source range beyond 8TiB returns 0

     destination range beyond 8TiB returns EFBIG
    -copy_range: File too large
    +copy_range: Function not implemented
</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>fusefrontend: list "." and ".." in dir entries</title>
<updated>2021-05-29T14:44:38+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2021-05-29T14:44:38+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=18befda0e6f1a690fa000951df8f9a4a61daebbb'/>
<id>urn:sha1:18befda0e6f1a690fa000951df8f9a4a61daebbb</id>
<content type='text'>
Fixes xfstests generic/401
</content>
</entry>
<entry>
<title>fusefrontend: rewrite Lseek SEEK_DATA / SEEK_HOLE</title>
<updated>2021-05-29T14:05:36+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2021-05-29T14:05:36+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=738a9e006af6f5e43871c2d8e208601c18191965'/>
<id>urn:sha1:738a9e006af6f5e43871c2d8e208601c18191965</id>
<content type='text'>
In response to the discussion of the xfstests mailing list [1],
I looked at the Lseek implementation, which was naive and
did not handle all cases correctly.

The new implementation aligns the returned values to 4096 bytes
as most callers expect.

A lot of tests are added to verify that we handle all
cases correctly now.

[1]: https://www.spinics.net/lists/fstests/msg16554.html
</content>
</entry>
<entry>
<title>syscallcompat: refactor MkdiratUser to take fuse.Context</title>
<updated>2021-05-22T19:44:19+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2021-05-22T19:44:19+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=e1853e10116e97d7dcce895d6603dae1379a37b7'/>
<id>urn:sha1:e1853e10116e97d7dcce895d6603dae1379a37b7</id>
<content type='text'>
Let's have MkdiratUser take fuse.Context like everybody
else.
</content>
</entry>
<entry>
<title>fusefrontend: fix RENAME_NOREPLACE darwin build failure</title>
<updated>2021-05-15T15:20:43+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2021-05-15T15:19:49+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=a91ad29d362e8cb5348766da637202ac8905b9f2'/>
<id>urn:sha1:a91ad29d362e8cb5348766da637202ac8905b9f2</id>
<content type='text'>
Error was:

internal/fusefrontend/node.go:371:2: duplicate case syscallcompat.RENAME_NOREPLACE (value 0) in switch
	previous case at internal/fusefrontend/node.go:368:7

Rewrite using "if"s instead.
</content>
</entry>
<entry>
<title>fusefrontend: avoid duplicate const definition</title>
<updated>2021-05-08T18:42:42+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2021-05-08T18:42:18+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=1ba2e42234b973260066623bb7eeda4c8b936d8e'/>
<id>urn:sha1:1ba2e42234b973260066623bb7eeda4c8b936d8e</id>
<content type='text'>
RENAME_NOREPLACE is already defined in syscallcompat.
</content>
</entry>
<entry>
<title>fusefrontend: reject broken RENAME_EXCHANGE and RENAME_WHITEOUT</title>
<updated>2021-05-08T13:39:49+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2021-05-08T13:39:49+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=a267562d291b15c192837da6f74c991892570fd6'/>
<id>urn:sha1:a267562d291b15c192837da6f74c991892570fd6</id>
<content type='text'>
Discovered by xfstests generic/013: or implementation for
RENAME_EXCHANGE and RENAME_WHITEOUT is incomplete. Reject the
flags so that the caller retries with regular rename.
</content>
</entry>
<entry>
<title>fusefrontend: make dirCache work for "node itself"</title>
<updated>2021-04-07T05:18:35+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2021-04-07T05:15:14+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=4a07d6598cc2633634f7ff8485b506f2a8bd3eaf'/>
<id>urn:sha1:4a07d6598cc2633634f7ff8485b506f2a8bd3eaf</id>
<content type='text'>
"node itself" can be converted to node + child by
ascending one level.

Performance gains are spectacular, as will be seen
in the next commit.
</content>
</entry>
</feed>
