<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gocryptfs/pathfs_frontend, branch v0.4</title>
<subtitle>Mirror of gocryptfs source code on Github</subtitle>
<id>http://nuetzlich.net/cgit/gocryptfs/atom?h=v0.4</id>
<link rel='self' href='http://nuetzlich.net/cgit/gocryptfs/atom?h=v0.4'/>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/'/>
<updated>2015-11-14T16:16:17+00:00</updated>
<entry>
<title>Run go fmt and go vet</title>
<updated>2015-11-14T16:16:17+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2015-11-14T16:16:17+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=61aacb5c1bd3368366484b9e03cf90ccf85f1125'/>
<id>urn:sha1:61aacb5c1bd3368366484b9e03cf90ccf85f1125</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add "-q" (quiet) flag</title>
<updated>2015-11-09T21:33:42+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2015-11-09T21:33:42+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=99dfc84992df104ad23c8729f3be8a1f716937c8'/>
<id>urn:sha1:99dfc84992df104ad23c8729f3be8a1f716937c8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Handle ENOSPC errors better by preallocating the space before writing</title>
<updated>2015-11-08T21:36:29+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2015-11-08T21:36:29+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=fa3a382aa4a2010c83e02ac65385f5388a9fc84d'/>
<id>urn:sha1:fa3a382aa4a2010c83e02ac65385f5388a9fc84d</id>
<content type='text'>
Prevent the case that we run out of space in the middle of
writing a block - that would leave a corrupt block behind.
</content>
</entry>
<entry>
<title>Centralize path filter decision in CryptFS.IsFiltered()</title>
<updated>2015-11-03T21:25:29+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2015-11-03T21:25:29+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=050005fd7bd2bcdbb99f065e48f15283c5e1f7e2'/>
<id>urn:sha1:050005fd7bd2bcdbb99f065e48f15283c5e1f7e2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Implement PlainTextNames mode</title>
<updated>2015-11-02T23:00:13+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2015-11-02T23:00:13+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=de56fe9e3503d98e359551072633c804794b94e1'/>
<id>urn:sha1:de56fe9e3503d98e359551072633c804794b94e1</id>
<content type='text'>
Also, forbid access to "gocryptfs.conf" in the root dir.
</content>
</entry>
<entry>
<title>Remove code detected by "deadcode"</title>
<updated>2015-11-01T11:32:10+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2015-11-01T11:32:10+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=e31d319c399e619e4dec2f71782f1412a46f2d36'/>
<id>urn:sha1:e31d319c399e619e4dec2f71782f1412a46f2d36</id>
<content type='text'>
go get github.com/remyoudompheng/go-misc/deadcode
</content>
</entry>
<entry>
<title>Refactor ciphertext &lt;-&gt; plaintext offset translation functions</title>
<updated>2015-11-01T11:11:36+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2015-11-01T11:11:36+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=902babdf22199d73171716e643f1ffbb65e6fb48'/>
<id>urn:sha1:902babdf22199d73171716e643f1ffbb65e6fb48</id>
<content type='text'>
Move all the intelligence into the new file address_translation.go.
That the calculations were spread out too much became apparent when adding
the file header. This should make the code much easier to modify in the
future.
</content>
</entry>
<entry>
<title>Add file header (on-disk-format change)</title>
<updated>2015-11-01T00:38:27+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2015-11-01T00:32:33+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=76311b60f2e208dbd93e1e7b6e9794770c14fede'/>
<id>urn:sha1:76311b60f2e208dbd93e1e7b6e9794770c14fede</id>
<content type='text'>
Format: [ "Version" uint16 big endian ] [ "Id" 16 random bytes ]

Quoting SECURITY.md:

* Every file has a header that contains a 16-byte random *file id*
* Each block uses the file id and its block number as GCM *authentication data*
 * This means the position of the blocks is protected as well. The blocks
   can not be reordered or copied between different files without
   causing an decryption error.
</content>
</entry>
<entry>
<title>Use block number as authentication data</title>
<updated>2015-10-06T20:27:37+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2015-10-06T20:27:37+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=a3d286069f989dd16c6f91930a0df9fedfa2dd64'/>
<id>urn:sha1:a3d286069f989dd16c6f91930a0df9fedfa2dd64</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Utimens: Use UtimesNano instead of Futimes</title>
<updated>2015-10-04T18:32:15+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2015-10-04T18:32:15+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=aa082c235a9ba2726385c07913bf1917faf928b2'/>
<id>urn:sha1:aa082c235a9ba2726385c07913bf1917faf928b2</id>
<content type='text'>
Futimes() only takes microsecond resolution while the FUSE call
Utimens() wants nanosecond precision.

This is why UTIME_OMIT did not work - this change fixes the
xfstests generic/258 test failure.

The go library does not provide a FutimesNano() function which is
why I use UtimesNano() on /proc/self/fd/n.
This is what the Go library does in Futimes().
</content>
</entry>
</feed>
