<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gocryptfs/internal/nametransform, branch v1.6</title>
<subtitle>Mirror of gocryptfs source code on Github</subtitle>
<id>http://nuetzlich.net/cgit/gocryptfs/atom?h=v1.6</id>
<link rel='self' href='http://nuetzlich.net/cgit/gocryptfs/atom?h=v1.6'/>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/'/>
<updated>2018-07-15T13:12:55+00:00</updated>
<entry>
<title>fusefrontend: doWrite: delete file header if first write fails</title>
<updated>2018-07-15T13:12:55+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2018-07-15T12:14:12+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=c70df522d2a78f3152fa61511bed9fafa7c495a3'/>
<id>urn:sha1:c70df522d2a78f3152fa61511bed9fafa7c495a3</id>
<content type='text'>
xfstests generic/083 fills the filesystem almost completely while
running fsstress in parallel. In fsck, these would show up:

  readFileID 2580: incomplete file, got 18 instead of 19 bytes

This could happen when writing the file header works, but writing
the actual data fails.

Now we kill the header again by truncating the file to zero.
</content>
</entry>
<entry>
<title>WriteDirIV: delete incomplete gocryptfs.diriv file if write fails</title>
<updated>2018-07-15T10:02:39+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2018-07-15T10:00:08+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=bbf5b72fff8b07251faacce9e77dd427a4379081'/>
<id>urn:sha1:bbf5b72fff8b07251faacce9e77dd427a4379081</id>
<content type='text'>
If the underlying filesystem is full, writing to gocryptfs.diriv may
fail, and later fsck show this:

	OpenDir "xyz": could not read gocryptfs.diriv: wanted 16 bytes, got 0

Uncovered by xfstests generic/083.

Also fixes a fd leak in the error path.
</content>
</entry>
<entry>
<title>fsck: clean up log output</title>
<updated>2018-04-02T16:32:30+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2018-04-02T16:32:30+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=b6c8960b01f9e5366814b0dada57a0b1e6a031d9'/>
<id>urn:sha1:b6c8960b01f9e5366814b0dada57a0b1e6a031d9</id>
<content type='text'>
Make sure we get only 1 warning output per
problem.

Also, add new corruption types to broken_fs_v1.4.
</content>
</entry>
<entry>
<title>gccgo: replace syscall.NAME_MAX with unix.NAME_MAX</title>
<updated>2018-02-01T22:50:11+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2018-02-01T22:46:02+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=9f8d0d8e5734e3771b52c8a8784ef5a76b0f9ca8'/>
<id>urn:sha1:9f8d0d8e5734e3771b52c8a8784ef5a76b0f9ca8</id>
<content type='text'>
For some reason the syscall.NAME_MAX constant does not exist
on gccgo, and it does not hurt us to use unix.NAME_MAX instead.

https://github.com/rfjakob/gocryptfs/issues/201
</content>
</entry>
<entry>
<title>fusefrontend: Improve documentation of mkdirWithIv and WriteDirIV</title>
<updated>2017-12-01T08:41:52+00:00</updated>
<author>
<name>Sebastian Lackner</name>
</author>
<published>2017-11-30T19:53:38+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=9bcde0c09e96e17ed7092aa5fa5f6bfc89372a8d'/>
<id>urn:sha1:9bcde0c09e96e17ed7092aa5fa5f6bfc89372a8d</id>
<content type='text'>
As requested in https://github.com/rfjakob/gocryptfs/pull/179
</content>
</entry>
<entry>
<title>syscallcompat: check that we get NOFOLLOW wherever possible</title>
<updated>2017-11-30T18:40:53+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2017-11-30T18:40:53+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=e97c23e08383666117523cf3145f1213b41c2489'/>
<id>urn:sha1:e97c23e08383666117523cf3145f1213b41c2489</id>
<content type='text'>
...and fix the instances where the AT_SYMLINK_NOFOLLOW /
O_NOFOLLOW / O_EXCL flag was missing.
</content>
</entry>
<entry>
<title>fusefrontend: allow_other: close race between mkdir and chown</title>
<updated>2017-11-29T12:28:04+00:00</updated>
<author>
<name>Sebastian Lackner</name>
</author>
<published>2017-11-29T12:21:28+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=614745ee576760023961fbf815985b90f90ad1d7'/>
<id>urn:sha1:614745ee576760023961fbf815985b90f90ad1d7</id>
<content type='text'>
Fixes the same problem as described in 72b975867a3b9bdf53fc2da62e2ba4a328d7e4ab,
except for directories instead of device nodes.
</content>
</entry>
<entry>
<title>syscallcompat: Introduce unlinkat syscall with flags argument</title>
<updated>2017-11-29T11:41:23+00:00</updated>
<author>
<name>Sebastian Lackner</name>
</author>
<published>2017-11-29T11:23:40+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=0f44c617d01f3e203933459be5fb64c1904d40b6'/>
<id>urn:sha1:0f44c617d01f3e203933459be5fb64c1904d40b6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fusefrontend: Fix longname handling for renames with existing target</title>
<updated>2017-11-25T15:19:09+00:00</updated>
<author>
<name>Sebastian Lackner</name>
</author>
<published>2017-11-25T00:56:56+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=9f56b33e0c8701085189aa77463f1b471b70a705'/>
<id>urn:sha1:9f56b33e0c8701085189aa77463f1b471b70a705</id>
<content type='text'>
Fixes https://github.com/rfjakob/gocryptfs/issues/170

Steps to reproduce the problem:

* Create a regular forward mount point
* Create a file with a shortname and one with a long filename
* Try to run 'mv &lt;shortname&gt; &lt;longname&gt;'

This should actually work and replace the existing file, but instead it
fails with:

    mv: cannot move '&lt;shortname&gt;' to '&lt;longname&gt;': File exists

The problem is the creation of the .name file. If the target already exists
we can safely ignore the EEXIST error and just keep the existing .name file.
</content>
</entry>
<entry>
<title>nametransform: Return error if decrypted name is '.' or '..'</title>
<updated>2017-11-22T22:42:08+00:00</updated>
<author>
<name>Sebastian Lackner</name>
</author>
<published>2017-11-22T05:11:19+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=c547673529cb4934ab885081f5682e85aa994f79'/>
<id>urn:sha1:c547673529cb4934ab885081f5682e85aa994f79</id>
<content type='text'>
</content>
</entry>
</feed>
