<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gocryptfs, branch v1.4.1</title>
<subtitle>Mirror of gocryptfs source code on Github</subtitle>
<id>http://nuetzlich.net/cgit/gocryptfs/atom?h=v1.4.1</id>
<link rel='self' href='http://nuetzlich.net/cgit/gocryptfs/atom?h=v1.4.1'/>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/'/>
<updated>2017-08-21T18:39:25+00:00</updated>
<entry>
<title>README: update changelog for v1.4.1 release</title>
<updated>2017-08-21T18:39:25+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2017-08-21T17:38:15+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=a605e8fed0f2cf7582c68901e3ed4f6c26a3bdfa'/>
<id>urn:sha1:a605e8fed0f2cf7582c68901e3ed4f6c26a3bdfa</id>
<content type='text'>
</content>
</entry>
<entry>
<title>package[-static].bash: stop leaking the local user id in the tarball</title>
<updated>2017-08-21T12:10:05+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2017-08-21T12:10:05+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=07f57314afb260d6b14227b932d66345c55ffab3'/>
<id>urn:sha1:07f57314afb260d6b14227b932d66345c55ffab3</id>
<content type='text'>
The local user id of the packager is not interesting for users who
download the tarball.

Also it will cause the gocryptfs binary to have an unintended owner
when the tarball is extraced as root.

Fix the issue by using "tar --owner=root --group=root" which
overwrites user and group id with zero.
</content>
</entry>
<entry>
<title>cryptocore: add urandom + randprefetch benchmarks</title>
<updated>2017-08-16T16:33:00+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2017-08-16T16:33:00+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=312ea32bb70abb93be315d0b7c442d5c4ae571d9'/>
<id>urn:sha1:312ea32bb70abb93be315d0b7c442d5c4ae571d9</id>
<content type='text'>
The benchmark that supported the decision for 512-byte
prefetching previously lived outside the repo.

Let's add it where it belongs so it cannot get lost.
</content>
</entry>
<entry>
<title>Update performance.txt for Linux kernel upgrade</title>
<updated>2017-08-15T17:13:00+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2017-08-15T17:13:00+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=838bf883df579a414289a3e05d238c582ac78523'/>
<id>urn:sha1:838bf883df579a414289a3e05d238c582ac78523</id>
<content type='text'>
For some reason, writing became a lot faster in Linux 4.11
(scheduler improvements?).
</content>
</entry>
<entry>
<title>Update performance.txt for to Getdents change</title>
<updated>2017-08-15T17:07:08+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2017-08-15T17:07:08+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=069647842c0e0fc988bb69c40a9de442ec20080d'/>
<id>urn:sha1:069647842c0e0fc988bb69c40a9de442ec20080d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>docs: label "ENV CHANGE" column</title>
<updated>2017-08-15T17:04:02+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2017-08-15T17:03:07+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=d5671b785a79452d27dd3fc34dc54ef585c8bf0b'/>
<id>urn:sha1:d5671b785a79452d27dd3fc34dc54ef585c8bf0b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fusefrontend: use Getdents if available</title>
<updated>2017-08-15T17:04:02+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2017-08-15T16:35:30+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=989b88098951e5ad68b66049e59fd2ca475c4711'/>
<id>urn:sha1:989b88098951e5ad68b66049e59fd2ca475c4711</id>
<content type='text'>
Getdents avoids calling Lstat on each file.
</content>
</entry>
<entry>
<title>syscallcompat: implement Getdents()</title>
<updated>2017-08-15T17:03:57+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2017-08-13T19:13:44+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=e50a6a57e57bc3cc925ba9a6e7f4dc1da4da3c84'/>
<id>urn:sha1:e50a6a57e57bc3cc925ba9a6e7f4dc1da4da3c84</id>
<content type='text'>
The Readdir function provided by os is inherently slow because
it calls Lstat on all files.

Getdents gives us all the information we need, but does not have
a proper wrapper in the stdlib.

Implement the "Getdents()" wrapper function that calls
syscall.Getdents() and parses the returned byte blob to a
fuse.DirEntry slice.
</content>
</entry>
<entry>
<title>main: rework "you need Go 1.5" lockout to make "go vet" happy</title>
<updated>2017-08-15T10:52:40+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2017-08-15T10:48:02+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=affb1c2f6617d66bdc9fda41b017e0de000c3691'/>
<id>urn:sha1:affb1c2f6617d66bdc9fda41b017e0de000c3691</id>
<content type='text'>
When you run "go vet" explicitely against go1.4.go, it ignores
the "+build !go1.5" tag and, of course, throws a syntax error:

  $ go vet go1.4.go
  can't load package: package main:
  go1.4.go:5:1: expected 'package', found 'STRING' "You need Go 1.5 or higher to compile gocryptfs!"

Unfortunatey, this is how https://goreportcard.com/ seems to call
"go vet", and means we get 0% on the "go vet" test and see this
error:

  An error occurred while running this test (strconv.Atoi: parsing " go1.4.go": invalid syntax)

By reworking the logic to use a non-existant package we get an
uglier error

  $ GOROOT=/opt/go1.4.3 /opt/go1.4.3/bin/go build
  go1.4.go:7:8: cannot find package "You_need_Go_1.5_or_higher_to_compile_gocryptfs" in any of:
  	/opt/go1.4.3/src/You_need_Go_1.5_or_higher_to_compile_gocryptfs (from $GOROOT)
  	/home/jakob/go/src/You_need_Go_1.5_or_higher_to_compile_gocryptfs (from $GOPATH)
  profiling.go:6:2: cannot find package "runtime/trace" in any of:
  	/opt/go1.4.3/src/runtime/trace (from $GOROOT)
  	/home/jakob/go/src/runtime/trace (from $GOPATH)

but make "go vet" happy.
</content>
</entry>
<entry>
<title>main: purge masterkey from memory as soon as possible</title>
<updated>2017-08-11T17:02:26+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2017-08-11T16:42:30+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=0c520845f3623eff28f0277a52e3ccffd928f5c2'/>
<id>urn:sha1:0c520845f3623eff28f0277a52e3ccffd928f5c2</id>
<content type='text'>
Remove the "Masterkey" field from fusefrontend.Args because it
should not be stored longer than neccessary. Instead pass the
masterkey as a separate argument to the filesystem initializers.

Then overwrite it with zeros immediately so we don't have
to wait for garbage collection.

Note that the crypto implementation still stores at least a
masterkey-derived value, so this change makes it harder, but not
impossible, to extract the encryption keys from memory.

Suggested at https://github.com/rfjakob/gocryptfs/issues/137
</content>
</entry>
</feed>
