<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gocryptfs/internal/syscallcompat, branch v1.4.3</title>
<subtitle>Mirror of gocryptfs source code on Github</subtitle>
<id>http://nuetzlich.net/cgit/gocryptfs/atom?h=v1.4.3</id>
<link rel='self' href='http://nuetzlich.net/cgit/gocryptfs/atom?h=v1.4.3'/>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/'/>
<updated>2017-12-25T14:07:37+00:00</updated>
<entry>
<title>fusefrontend: Use Linkat syscall to implement Link</title>
<updated>2017-12-25T14:07:37+00:00</updated>
<author>
<name>Sebastian Lackner</name>
</author>
<published>2017-12-12T13:42:49+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=a85dbcab38bcad0ef713187a637a7023d016829f'/>
<id>urn:sha1:a85dbcab38bcad0ef713187a637a7023d016829f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>syscallcompat: add Faccessat</title>
<updated>2017-12-06T23:05:28+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2017-12-06T23:05:28+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=2ceef01afecafbd4aa80276869993cb53bdadcf4'/>
<id>urn:sha1:2ceef01afecafbd4aa80276869993cb53bdadcf4</id>
<content type='text'>
Add faccessat(2) with a hack for symlink, because the
kernel does not actually looks at the passed flags.

From man 2 faccessat:

   C library/kernel differences
       The  raw faccessat() system call takes only the first three argu‐
       ments.  The AT_EACCESS and AT_SYMLINK_NOFOLLOW flags are actually
       implemented  within  the  glibc wrapper function for faccessat().
</content>
</entry>
<entry>
<title>syscallcompat: add Readlinkat</title>
<updated>2017-12-06T20:07:24+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2017-12-06T20:07:24+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=f97494e89bff7b15d1be5f4b2d047382a54e6094'/>
<id>urn:sha1:f97494e89bff7b15d1be5f4b2d047382a54e6094</id>
<content type='text'>
We need readlinkat to implement Readlink
symlink-race-free.
</content>
</entry>
<entry>
<title>syscallcompat: add Darwin version of unix2syscall</title>
<updated>2017-12-05T23:18:38+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2017-12-05T23:18:38+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=6beb45e5b74aa465136687f00f2b5a51bee90395'/>
<id>urn:sha1:6beb45e5b74aa465136687f00f2b5a51bee90395</id>
<content type='text'>
The "Atim" field is called "Atimespec" on Darwin,
same for Mtim and Ctim.
</content>
</entry>
<entry>
<title>fusefrontend_reverse: secure GetAttr against symlink races</title>
<updated>2017-12-05T23:06:31+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2017-12-05T23:05:28+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=a3bdc2bf2b7b7ed34e2d68fc698e1dd136f2e67a'/>
<id>urn:sha1:a3bdc2bf2b7b7ed34e2d68fc698e1dd136f2e67a</id>
<content type='text'>
...by using the OpenNofollow helper &amp; Fstatat.

Also introduce a helper to convert from unix.Stat_t to
syscall.Stat_t.

Tracking ticket: https://github.com/rfjakob/gocryptfs/issues/165
</content>
</entry>
<entry>
<title>syscallcompat: OpenNofollow: use O_DIRECTORY flag</title>
<updated>2017-12-05T22:31:07+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2017-12-05T22:31:07+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=03bf604fc08abc9bb2d75bde21c96c9df4894a3b'/>
<id>urn:sha1:03bf604fc08abc9bb2d75bde21c96c9df4894a3b</id>
<content type='text'>
...when opening intermedia directories to give us an
extra layer of safety.

From the FreeBSD man page:

     This flag can be used to prevent applications with elevated
     privileges from opening files which are even unsafe to open with O_RDONLY,
     such as device nodes.
</content>
</entry>
<entry>
<title>syscallcompat: OpenNofollow: fix relPath="" case</title>
<updated>2017-12-05T22:08:55+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2017-12-05T22:08:55+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=e604ce6deaf0ba4407c54293a338673ed06f833a'/>
<id>urn:sha1:e604ce6deaf0ba4407c54293a338673ed06f833a</id>
<content type='text'>
Sometimes want to open baseDir itself. This case
was broken, fix it.
</content>
</entry>
<entry>
<title>syscallcompat: convert Getdents to fd input, add emulation</title>
<updated>2017-12-03T18:33:26+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2017-12-03T16:57:08+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=70bcf58a9bda5f95a3037fb785858f5d7ce3f930'/>
<id>urn:sha1:70bcf58a9bda5f95a3037fb785858f5d7ce3f930</id>
<content type='text'>
Now that we have Fstatat we can use it in Getdents to
get rid of the path name.

Also, add an emulated version of getdents for MacOS. This allows
to drop the !HaveGetdents special cases from fusefrontend.

Modify the getdents test to test both native getdents and the emulated
version.
</content>
</entry>
<entry>
<title>syscallcompat: add Fstatat + emulation + test</title>
<updated>2017-12-03T18:32:59+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2017-12-03T16:53:14+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=e33593d30d9dee6fd6b0e7c0d01832e478815d88'/>
<id>urn:sha1:e33593d30d9dee6fd6b0e7c0d01832e478815d88</id>
<content type='text'>
Fstatat has recently been added to x/sys/unix. Make
it available for use in gocryptfs.
</content>
</entry>
<entry>
<title>syscallcompat: add OpenNofollow helper</title>
<updated>2017-12-02T19:35:44+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2017-12-02T19:35:44+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=91e042e2bafbec3271d8c79005f7dc8229a16a10'/>
<id>urn:sha1:91e042e2bafbec3271d8c79005f7dc8229a16a10</id>
<content type='text'>
OpenNofollow = symlink-race-safe Open

Prepares fixing https://github.com/rfjakob/gocryptfs/issues/165
</content>
</entry>
</feed>
