<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gocryptfs/internal/fusefrontend_reverse/virtualfile.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-08-09T20:11:46+00:00</updated>
<entry>
<title>v2api/reverse: implement Read</title>
<updated>2020-08-09T20:11:46+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2020-08-09T20:11:46+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=6d4f1a6888cafd218cb97bd11de6a7553d9bc8f1'/>
<id>urn:sha1:6d4f1a6888cafd218cb97bd11de6a7553d9bc8f1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>v2api/reverse: implement Lookup for gocryptfs.conf &amp; gocryptfs.diriv</title>
<updated>2020-08-02T11:25:53+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2020-08-02T11:25:53+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=4674bac8381838718f0defba0f2e0d9eba2a41a3'/>
<id>urn:sha1:4674bac8381838718f0defba0f2e0d9eba2a41a3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>v2api/reverse: implement Readdir</title>
<updated>2020-08-01T20:28:25+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2020-08-01T20:28:25+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=6c26cda53122df871befd0c1e08b892e0d56d31e'/>
<id>urn:sha1:6c26cda53122df871befd0c1e08b892e0d56d31e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>v2api/reverse: move old fusefrontend_reverse out of the way</title>
<updated>2020-08-01T19:14:10+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2020-08-01T18:47:59+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=13dc7657ba0aac4da3f4b80ba231a919fdfae0f5'/>
<id>urn:sha1:13dc7657ba0aac4da3f4b80ba231a919fdfae0f5</id>
<content type='text'>
fusefrontend_reverse -&gt; fusefrontend_reverse_v1api
</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_reverse: use inomap for inode number translation</title>
<updated>2020-05-03T13:22:10+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2020-05-03T13:22:10+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=518771e4e247762f60c5594de427a8c86f19bd57'/>
<id>urn:sha1:518771e4e247762f60c5594de427a8c86f19bd57</id>
<content type='text'>
Gets rid of static inode number value limitations.

Fixes https://github.com/rfjakob/gocryptfs/issues/457
</content>
</entry>
<entry>
<title>syscallcompat: untangle OpenNofollow and rename to OpenDirNofollow</title>
<updated>2018-09-08T15:41:17+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2018-09-08T15:41:17+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=9ec9d0c49cfbdc9ceba10d7534b77e527c0a3cdc'/>
<id>urn:sha1:9ec9d0c49cfbdc9ceba10d7534b77e527c0a3cdc</id>
<content type='text'>
The function used to do two things:

1) Walk the directory tree in a manner safe from symlink attacks
2) Open the final component in the mode requested by the caller

This change drops (2), which was only used once, and lets the caller
handle it. This simplifies the function and makes it fit for reuse in
forward mode in openBackingPath(), and for using O_PATH on Linux.
</content>
</entry>
<entry>
<title>fusefrontend_reverse: use OpenNofollow in virtualFile.GetAttr</title>
<updated>2018-01-17T20:36:38+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2018-01-17T20:36:38+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=a2677bce2a632d80850fabb1e397558d8a07742b'/>
<id>urn:sha1:a2677bce2a632d80850fabb1e397558d8a07742b</id>
<content type='text'>
Makes it robust against symlink races.

Final piece, closes https://github.com/rfjakob/gocryptfs/issues/165
</content>
</entry>
<entry>
<title>nametransform: add Dir() function</title>
<updated>2017-08-06T21:14:39+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2017-08-06T21:12:27+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=75ec94a87a52a7230c9b7d9b3e150a0da2725e58'/>
<id>urn:sha1:75ec94a87a52a7230c9b7d9b3e150a0da2725e58</id>
<content type='text'>
Dir is like filepath.Dir but returns "" instead of ".".
This was already implemented in fusefrontend_reverse as saneDir().

We will need it in nametransform for the improved diriv caching.
</content>
</entry>
<entry>
<title>fusefronted_reverse: fix ino collision between .name and .diriv files</title>
<updated>2017-07-29T14:15:49+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2017-07-29T14:13:38+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=d12aa577156101a1c6a05765de751f0a54b58aa8'/>
<id>urn:sha1:d12aa577156101a1c6a05765de751f0a54b58aa8</id>
<content type='text'>
A directory with a long name has two associated virtual files:
the .name file and the .diriv files.

These used to get the same inode number:

  $ ls -di1  * */*
             33313535 gocryptfs.longname.2togDFouca9mrTwtfF1RNW5DZRAQY8alaR7wO_Xd5Zw
  1000000000033313535 gocryptfs.longname.2togDFouca9mrTwtfF1RNW5DZRAQY8alaR7wO_Xd5Zw/gocryptfs.diriv
  1000000000033313535 gocryptfs.longname.2togDFouca9mrTwtfF1RNW5DZRAQY8alaR7wO_Xd5Zw.name

With this change we use another prefix (2 instead of 1) for .name files.

  $ ls -di1 * */*
             33313535 gocryptfs.longname.2togDFouca9mrTwtfF1RNW5DZRAQY8alaR7wO_Xd5Zw
  1000000000033313535 gocryptfs.longname.2togDFouca9mrTwtfF1RNW5DZRAQY8alaR7wO_Xd5Zw/gocryptfs.diriv
  2000000000033313535 gocryptfs.longname.2togDFouca9mrTwtfF1RNW5DZRAQY8alaR7wO_Xd5Zw.name
</content>
</entry>
</feed>
