<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gocryptfs/pathfs_frontend/file.go, branch xattr_user_buffer</title>
<subtitle>Mirror of gocryptfs source code on Github</subtitle>
<id>http://nuetzlich.net/cgit/gocryptfs/atom?h=xattr_user_buffer</id>
<link rel='self' href='http://nuetzlich.net/cgit/gocryptfs/atom?h=xattr_user_buffer'/>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/'/>
<updated>2016-02-06T18:27:59+00:00</updated>
<entry>
<title>Move pathfs_frontend to internal/fusefrontend</title>
<updated>2016-02-06T18:27:59+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2016-02-06T18:27:59+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=9078a77850dd680bfa938d9ed7c83600a60c0e7b'/>
<id>urn:sha1:9078a77850dd680bfa938d9ed7c83600a60c0e7b</id>
<content type='text'>
"git status" for reference:

renamed:    pathfs_frontend/args.go -&gt; internal/fusefrontend/args.go
renamed:    pathfs_frontend/compat_darwin.go -&gt; internal/fusefrontend/compat_darwin.go
renamed:    pathfs_frontend/compat_linux.go -&gt; internal/fusefrontend/compat_linux.go
renamed:    pathfs_frontend/file.go -&gt; internal/fusefrontend/file.go
renamed:    pathfs_frontend/file_holes.go -&gt; internal/fusefrontend/file_holes.go
renamed:    pathfs_frontend/fs.go -&gt; internal/fusefrontend/fs.go
renamed:    pathfs_frontend/fs_dir.go -&gt; internal/fusefrontend/fs_dir.go
renamed:    pathfs_frontend/names.go -&gt; internal/fusefrontend/names.go
renamed:    pathfs_frontend/write_lock.go -&gt; internal/fusefrontend/write_lock.go
modified:   main.go
</content>
</entry>
<entry>
<title>Major refactoring: Split up "cryptfs" into several internal packages</title>
<updated>2016-02-06T18:22:35+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2016-02-06T18:20:54+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=2b8cbd944149afe51fadddbd67ee4499d1d86250'/>
<id>urn:sha1:2b8cbd944149afe51fadddbd67ee4499d1d86250</id>
<content type='text'>
"git status" for reference:

deleted:    cryptfs/cryptfs.go
deleted:    cryptfs/names_core.go
modified:   integration_tests/cli_test.go
modified:   integration_tests/helpers.go
renamed:    cryptfs/config_file.go -&gt; internal/configfile/config_file.go
renamed:    cryptfs/config_test.go -&gt; internal/configfile/config_test.go
renamed:    cryptfs/config_test/.gitignore -&gt; internal/configfile/config_test/.gitignore
renamed:    cryptfs/config_test/PlaintextNames.conf -&gt; internal/configfile/config_test/PlaintextNames.conf
renamed:    cryptfs/config_test/StrangeFeature.conf -&gt; internal/configfile/config_test/StrangeFeature.conf
renamed:    cryptfs/config_test/v1.conf -&gt; internal/configfile/config_test/v1.conf
renamed:    cryptfs/config_test/v2.conf -&gt; internal/configfile/config_test/v2.conf
renamed:    cryptfs/kdf.go -&gt; internal/configfile/kdf.go
renamed:    cryptfs/kdf_test.go -&gt; internal/configfile/kdf_test.go
renamed:    cryptfs/cryptfs_content.go -&gt; internal/contentenc/content.go
new file:   internal/contentenc/content_api.go
renamed:    cryptfs/content_test.go -&gt; internal/contentenc/content_test.go
renamed:    cryptfs/file_header.go -&gt; internal/contentenc/file_header.go
renamed:    cryptfs/intrablock.go -&gt; internal/contentenc/intrablock.go
renamed:    cryptfs/address_translation.go -&gt; internal/contentenc/offsets.go
new file:   internal/cryptocore/crypto_api.go
renamed:    cryptfs/gcm_go1.4.go -&gt; internal/cryptocore/gcm_go1.4.go
renamed:    cryptfs/gcm_go1.5.go -&gt; internal/cryptocore/gcm_go1.5.go
renamed:    cryptfs/nonce.go -&gt; internal/cryptocore/nonce.go
renamed:    cryptfs/openssl_aead.go -&gt; internal/cryptocore/openssl_aead.go
renamed:    cryptfs/openssl_benchmark.bash -&gt; internal/cryptocore/openssl_benchmark.bash
renamed:    cryptfs/openssl_test.go -&gt; internal/cryptocore/openssl_test.go
new file:   internal/nametransform/name_api.go
new file:   internal/nametransform/names_core.go
renamed:    cryptfs/names_diriv.go -&gt; internal/nametransform/names_diriv.go
renamed:    cryptfs/names_noiv.go -&gt; internal/nametransform/names_noiv.go
renamed:    cryptfs/names_test.go -&gt; internal/nametransform/names_test.go
new file:   internal/nametransform/pad16.go
renamed:    cryptfs/log.go -&gt; internal/toggledlog/log.go
renamed:    cryptfs/log_go1.4.go -&gt; internal/toggledlog/log_go1.4.go
renamed:    cryptfs/log_go1.5.go -&gt; internal/toggledlog/log_go1.5.go
modified:   main.go
modified:   masterkey.go
modified:   pathfs_frontend/file.go
modified:   pathfs_frontend/file_holes.go
modified:   pathfs_frontend/fs.go
modified:   pathfs_frontend/fs_dir.go
modified:   pathfs_frontend/names.go
modified:   test.bash
</content>
</entry>
<entry>
<title>Convert fdLock to an RWMutex and protect the whole transaction</title>
<updated>2016-01-24T23:51:28+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2016-01-24T23:51:28+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=4c9e249e3ac1fc2995e01eb1ed24799c3a3bc66b'/>
<id>urn:sha1:4c9e249e3ac1fc2995e01eb1ed24799c3a3bc66b</id>
<content type='text'>
...against concurrent closes.

The testcase

	(set -e; while true; do truncate -s $RANDOM b; done) &amp;
	(set -e; while true; do truncate -s $RANDOM b; done) &amp;

uncovered lots of unnecessary RMW failures that were the result
of concurrent closes.

With this patch, the only remaining error is "Truncate on forgotten file"
that is probably caused by a problem in the go-fuse lib
( https://github.com/hanwen/go-fuse/issues/95 )
</content>
</entry>
<entry>
<title>Only warn once for unsupported fallocate(2) and truncate(2)</title>
<updated>2016-01-24T18:43:21+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2016-01-24T18:43:21+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=4259c8f7ebc9f5d167556ed142e82e8232706de6'/>
<id>urn:sha1:4259c8f7ebc9f5d167556ed142e82e8232706de6</id>
<content type='text'>
Also, print the inode number in Ftruncate warnings.
</content>
</entry>
<entry>
<title>Add per-inode write mutex</title>
<updated>2016-01-24T12:08:08+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2016-01-24T12:08:08+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=2f32114bd356c2124d75fb1879ff230fc1f0ca1b'/>
<id>urn:sha1:2f32114bd356c2124d75fb1879ff230fc1f0ca1b</id>
<content type='text'>
At the moment, FUSE writes to a single file are serialized by the kernel.
However, it is unclear if this is guaranteed behaviour or may change
in the future.

This patch adds our own per-inode write lock to rule out races regardless
of kernel behavoir.
</content>
</entry>
<entry>
<title>Convert logging to standard Go log.Logger</title>
<updated>2016-01-20T19:57:00+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2016-01-20T19:55:56+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=17f0eb13396ad31083e786ed64aef368646c2aa6'/>
<id>urn:sha1:17f0eb13396ad31083e786ed64aef368646c2aa6</id>
<content type='text'>
This is in preparation of logging to syslog.
</content>
</entry>
<entry>
<title>Disable fallocate on OSX (not available and causes a build failure)</title>
<updated>2016-01-07T20:39:41+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2016-01-07T20:39:41+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=f93729f20da4a7416ec387d9d10a8776dba67c29'/>
<id>urn:sha1:f93729f20da4a7416ec387d9d10a8776dba67c29</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Increase GCM IV size from 96 to 128 bits</title>
<updated>2015-12-19T14:02:29+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2015-12-19T13:41:39+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=1caa9258685fa5fad8935d3bfcd0eac7d7f84f1e'/>
<id>urn:sha1:1caa9258685fa5fad8935d3bfcd0eac7d7f84f1e</id>
<content type='text'>
This pushes back the birthday bound for collisions to make it virtually
irrelevant.
</content>
</entry>
<entry>
<title>diriv: handle directory rename over directory</title>
<updated>2015-12-19T12:21:15+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2015-12-19T12:21:15+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=88826dc51d7919ef8b190c079955230e653323e2'/>
<id>urn:sha1:88826dc51d7919ef8b190c079955230e653323e2</id>
<content type='text'>
If an empty directory is overwritten we will always get
ENOTEMPTY as the "empty" directory will still contain gocryptfs.diriv.
Handle that case by removing the target directory and trying again.

Fixes issue #10
</content>
</entry>
<entry>
<title>go fmt</title>
<updated>2015-12-13T19:24:13+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2015-12-13T19:10:52+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=00a712b4d1e68bb3c156eb8f97fbb89d684a7e92'/>
<id>urn:sha1:00a712b4d1e68bb3c156eb8f97fbb89d684a7e92</id>
<content type='text'>
...and minimal comment changes.
</content>
</entry>
</feed>
