<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gocryptfs/internal/fusefrontend/xattr_linux.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>2020-07-26T16:35:12+00:00</updated>
<entry>
<title>v2api: delete (most) fusefrontend v1 files</title>
<updated>2020-07-26T16:35:12+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2020-07-26T16:35:12+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=777b95f82ffea8a25b95089343b07b29378110da'/>
<id>urn:sha1:777b95f82ffea8a25b95089343b07b29378110da</id>
<content type='text'>
All the functionality in these files has been reimplemented
for the v2 api. Drop the old files.
</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>Update go-fuse import path to github.com/hanwen/go-fuse/v2</title>
<updated>2020-05-17T12:23:47+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2020-05-17T12:18:23+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=ec74d1d2f4217a9a337d1db9902f32ae2aecaf33'/>
<id>urn:sha1:ec74d1d2f4217a9a337d1db9902f32ae2aecaf33</id>
<content type='text'>
We need
https://github.com/hanwen/go-fuse/commit/fd7328faf9fdf75709f7ba7df7072aaf4eeb18b3
to fix a crash reported in https://github.com/rfjakob/gocryptfs/issues/430 :

  2019/10/30 17:14:16 Unknown opcode 2016
  panic: runtime error: invalid memory address or nil pointer dereference
  [signal SIGSEGV: segmentation violation code=0x1 addr=0x20 pc=0x508d38]

This patch is only in the v2.x.x branch. Upgrade to v2, as the
old API is also supported there.

Running

  git grep hanwen/go-fuse | grep -v hanwen/go-fuse/v2

to check for forgotten references comes back clean.
</content>
</entry>
<entry>
<title>fusefrontend: drop xattr user namespace restriction</title>
<updated>2020-02-29T19:12:43+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2020-02-29T18:58:08+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=ca9e912a28b901387e1dbb85f6c531119f2d5ef2'/>
<id>urn:sha1:ca9e912a28b901387e1dbb85f6c531119f2d5ef2</id>
<content type='text'>
We used to restrict setting xattrs to the "user."
namespace. I don't see a real reason for this
anymore, and it causes trouble for users who are using
acls.

Tests will be added in the next commit.

https://github.com/rfjakob/gocryptfs/issues/453
</content>
</entry>
<entry>
<title>fusefrontend: Allow to set/remove xattr on directory without read permission.</title>
<updated>2019-01-05T11:34:40+00:00</updated>
<author>
<name>Sebastian Lackner</name>
</author>
<published>2019-01-05T03:33:50+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=5055f39bd534b1f13257f95ffdc28575b9b2e3ed'/>
<id>urn:sha1:5055f39bd534b1f13257f95ffdc28575b9b2e3ed</id>
<content type='text'>
Setting/removing extended attributes on directories was partially fixed with
commit eff35e60b63331e3e10f921792baa10b236a721d. However, on most file systems
it is also possible to do these operations without read access (see tests).

Since we cannot open a write-access fd to a directory, we have to use the
/proc/self/fd trick (already used for ListXAttr) for the other operations aswell.
For simplicity, let's separate the Linux and Darwin code again (basically revert
commit f320b76fd189a363a34bffe981aa67ab97df3362), and always use the
/proc/self/fd trick on Linux. On Darwin we use the best-effort approach with
openBackingFile() as a fallback.

More discussion about the available options is available in
https://github.com/rfjakob/gocryptfs/issues/308.
</content>
</entry>
<entry>
<title>fusefrontend: use Fsetxattr/Fgetxattr/etc on all platforms</title>
<updated>2019-01-02T15:58:48+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2019-01-02T15:58:48+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=f320b76fd189a363a34bffe981aa67ab97df3362'/>
<id>urn:sha1:f320b76fd189a363a34bffe981aa67ab97df3362</id>
<content type='text'>
Darwin now also has these functions, use them. Simplifies
the code and makes it symlink-safe on Darwin as well.
</content>
</entry>
<entry>
<title>fusefrontend: xattr: fix hang on FIFOs</title>
<updated>2019-01-01T15:24:25+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2018-11-12T21:22:10+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=60e7a0ca9f2a2bcf8a727f606db134d60e9a5e18'/>
<id>urn:sha1:60e7a0ca9f2a2bcf8a727f606db134d60e9a5e18</id>
<content type='text'>
An Open() a fifo blocks until it is opened for writing.
This meant that xattr operations on FIFOs would block.
Pass O_NONBLOCK to fix that, and add a test.
</content>
</entry>
<entry>
<title>fusefrontend: make ListXAttr symlink-safe on Linux</title>
<updated>2019-01-01T15:24:25+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2018-11-11T17:27:37+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=c3adf9729de82bba52405e9f20f235b6a009308f'/>
<id>urn:sha1:c3adf9729de82bba52405e9f20f235b6a009308f</id>
<content type='text'>
Uses /proc/self/fd.
</content>
</entry>
<entry>
<title>fusefrontend: make RemoveXAttr() symlink-safe</title>
<updated>2019-01-01T15:24:25+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2018-11-11T17:04:44+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=d3ae87fa2b10269f9619f7a36fd4a01f35448fb6'/>
<id>urn:sha1:d3ae87fa2b10269f9619f7a36fd4a01f35448fb6</id>
<content type='text'>
Uses /proc/self/fd on Linux.
</content>
</entry>
<entry>
<title>fusefrontend: make SetXAttr() symlink-safe on Linux</title>
<updated>2019-01-01T15:24:25+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2018-11-11T16:57:24+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=810d2a8b474e0102a8be3f6b00a3855e182dbd43'/>
<id>urn:sha1:810d2a8b474e0102a8be3f6b00a3855e182dbd43</id>
<content type='text'>
Uses the /proc/self/fd trick.
</content>
</entry>
</feed>
