<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gocryptfs/internal/contentenc, branch v1.7-rc1</title>
<subtitle>Mirror of gocryptfs source code on Github</subtitle>
<id>http://nuetzlich.net/cgit/gocryptfs/atom?h=v1.7-rc1</id>
<link rel='self' href='http://nuetzlich.net/cgit/gocryptfs/atom?h=v1.7-rc1'/>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/'/>
<updated>2018-12-27T17:47:14+00:00</updated>
<entry>
<title>configfile: Explicitly wipe scrypt derived key after decrypting/encrypting master key.</title>
<updated>2018-12-27T17:47:14+00:00</updated>
<author>
<name>Sebastian Lackner</name>
</author>
<published>2018-12-26T20:17:54+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=07c486603c42af00c81d9e76e3b0731aa986e881'/>
<id>urn:sha1:07c486603c42af00c81d9e76e3b0731aa986e881</id>
<content type='text'>
Further raises the bar for recovering keys from memory.
</content>
</entry>
<entry>
<title>Assorted spelling fixes.</title>
<updated>2018-12-27T14:19:55+00:00</updated>
<author>
<name>Sebastian Lackner</name>
</author>
<published>2018-12-27T11:03:00+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=874eaf9734cc10940e08f7b043652449e1e220b5'/>
<id>urn:sha1:874eaf9734cc10940e08f7b043652449e1e220b5</id>
<content type='text'>
Mostly detected with the 'codespell' utility, but also includes some
manual grammar fixes.
</content>
</entry>
<entry>
<title>contentenc: reserve one extra block in pool plaintext buffers</title>
<updated>2018-07-15T09:39:19+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2018-07-15T09:39:07+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=bcca323cb778d3ab9bf3b16e041ede5e67b18ff8'/>
<id>urn:sha1:bcca323cb778d3ab9bf3b16e041ede5e67b18ff8</id>
<content type='text'>
File holes and -fsck can cause unaligned read accesses, which means
we have to decrypt one extra plaintext block.

xfstests generic/083 manage to crash -fsck like this:

generic/083	2018/07/14 15:25:21 wrong len=266240, want=131072
panic: wrong len=266240, want=131072

goroutine 1 [running]:
log.Panicf(0x67fc00, 0x15, 0xc4204fec90, 0x2, 0x2)
	/usr/local/go/src/log/log.go:333 +0xda
github.com/rfjakob/gocryptfs/internal/contentenc.(*bPool).Put(0xc4200d4800, 0xc4202f2000, 0x21000, 0x41000)
	/home/jakob/go/src/github.com/rfjakob/gocryptfs/internal/contentenc/bpool.go:27 +0x15d
github.com/rfjakob/gocryptfs/internal/fusefrontend.(*File).doRead(0xc4200b4500, 0xc42019e000, 0x0, 0x20000, 0x28400, 0x20000, 0xc42019e000, 0xc4204ff008, 0x435164, 0xc420000180)
	/home/jakob/go/src/github.com/rfjakob/gocryptfs/internal/fusefrontend/file.go:227 +0xba9
github.com/rfjakob/gocryptfs/internal/fusefrontend.(*File).Read(0xc4200b4500, 0xc42019e000, 0x20000, 0x20000, 0x28400, 0x0, 0x0, 0x0)
	/home/jakob/go/src/github.com/rfjakob/gocryptfs/internal/fusefrontend/file.go:246 +0x23e
main.(*fsckObj).file(0xc420069320, 0xc42001a630, 0x21)
	/home/jakob/go/src/github.com/rfjakob/gocryptfs/fsck.go:126 +0x21f
main.(*fsckObj).dir(0xc420069320, 0xc420014dc0, 0x1d)
	/home/jakob/go/src/github.com/rfjakob/gocryptfs/fsck.go:76 +0x387
main.(*fsckObj).dir(0xc420069320, 0xc42021dae0, 0x19)
	/home/jakob/go/src/github.com/rfjakob/gocryptfs/fsck.go:74 +0x347
</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>fusefrontend: add xattr support</title>
<updated>2018-03-25T19:06:10+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2018-03-18T16:43:38+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=1ed3d51df1750d5472b1349222c352171f1e8d64'/>
<id>urn:sha1:1ed3d51df1750d5472b1349222c352171f1e8d64</id>
<content type='text'>
At the moment, only for reverse mode.

https://github.com/rfjakob/gocryptfs/issues/217
</content>
</entry>
<entry>
<title>contentenc: reserve one additional block in CReqPool</title>
<updated>2017-10-19T07:23:10+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2017-10-19T07:23:10+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=29445c976d200f6e734eae56d9665fd4098f0a43'/>
<id>urn:sha1:29445c976d200f6e734eae56d9665fd4098f0a43</id>
<content type='text'>
...to account for unaligned reads.

I have not seen this happen in the wild because the kernel
always seems to issue 4k-aligned requests. But the cost
of the additional block in the pool is low and prevents
a buffer overrun panic when an unaligned read does happen.
</content>
</entry>
<entry>
<title>fusefrontend: clamp oversized reads</title>
<updated>2017-10-17T19:48:29+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2017-10-17T19:47:32+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=3009ec9852316c3c696f77f476390ab5a6d8d6d7'/>
<id>urn:sha1:3009ec9852316c3c696f77f476390ab5a6d8d6d7</id>
<content type='text'>
Our byte cache pools are sized acc. to MAX_KERNEL_WRITE, but the
running kernel may have a higher limit set. Clamp to what we can
handle.

Fixes a panic on a Synology NAS reported at
https://github.com/rfjakob/gocryptfs/issues/145
</content>
</entry>
<entry>
<title>contentenc: deduplicate AD packing into new concatAD() func</title>
<updated>2017-09-17T09:21:48+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2017-09-17T09:21:48+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=885fdcabdacb2d53829e7f96f4c600df0a3e282d'/>
<id>urn:sha1:885fdcabdacb2d53829e7f96f4c600df0a3e282d</id>
<content type='text'>
The encrypt and decrypt path both had a copy that were equivalent
but ordered differently, which was confusing.

Consolidate it in a new dedicated function.
</content>
</entry>
<entry>
<title>contentenc: DecryptBlocks: give block number counter a clearer name</title>
<updated>2017-09-17T08:59:04+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2017-09-17T08:59:04+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=4bd2c6736afbe20d6aa7d94758082d8c8752af4b'/>
<id>urn:sha1:4bd2c6736afbe20d6aa7d94758082d8c8752af4b</id>
<content type='text'>
Using firstBlockNo as the counter is confusing, create a
copy named "blockNo" and use that.
</content>
</entry>
<entry>
<title>Fix misspellings reported by goreportcard.com</title>
<updated>2017-08-21T19:06:05+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2017-08-21T19:06:05+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=ed046aa35978c835d79f9cb3ee359349ee9145c5'/>
<id>urn:sha1:ed046aa35978c835d79f9cb3ee359349ee9145c5</id>
<content type='text'>
https://goreportcard.com/report/github.com/rfjakob/gocryptfs#misspell
</content>
</entry>
</feed>
