<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gocryptfs/internal/nametransform/pad16.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>2025-07-07T17:59:35+00:00</updated>
<entry>
<title>Fix a bunch of staticcheck errors</title>
<updated>2025-07-07T17:59:35+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2025-07-07T17:54:48+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=8f5df19b353e02ffba842fd1b15ccf93da7ee3b4'/>
<id>urn:sha1:8f5df19b353e02ffba842fd1b15ccf93da7ee3b4</id>
<content type='text'>
Tool-assisted.
</content>
</entry>
<entry>
<title>nametransform: harden name decryption against invalid input</title>
<updated>2017-05-23T19:26:38+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2017-05-23T18:46:24+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=e827763f2e6226d9f5778d56c28270264950c0f5'/>
<id>urn:sha1:e827763f2e6226d9f5778d56c28270264950c0f5</id>
<content type='text'>
This fixes a few issues I have found reviewing the code:

1) Limit the amount of data ReadLongName() will read. Previously,
you could send gocryptfs into out-of-memory by symlinking
gocryptfs.diriv to /dev/zero.

2) Handle the empty input case in unPad16() by returning an
error. Previously, it would panic with an out-of-bounds array
read. It is unclear to me if this could actually be triggered.

3) Reject empty names after base64-decoding in DecryptName().
An empty name crashes emeCipher.Decrypt().
It is unclear to me if B64.DecodeString() can actually return
a non-error empty result, but let's guard against it anyway.
</content>
</entry>
<entry>
<title>Replace all calls to naked panic() with log.Panic()</title>
<updated>2016-12-10T10:54:36+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2016-12-10T10:50:16+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=c9f4400e6dc71a36df5dc9725f52a8968f5f9803'/>
<id>urn:sha1:c9f4400e6dc71a36df5dc9725f52a8968f5f9803</id>
<content type='text'>
We want all panics to show up in the syslog.
</content>
</entry>
<entry>
<title>Run go fmt</title>
<updated>2016-02-06T19:23:36+00:00</updated>
<author>
<name>Jakob Unterwurzacher</name>
</author>
<published>2016-02-06T19:23:36+00:00</published>
<link rel='alternate' type='text/html' href='http://nuetzlich.net/cgit/gocryptfs/commit/?id=c74772bc8d7348ced429e5ca6ef47a53a8f215ff'/>
<id>urn:sha1:c74772bc8d7348ced429e5ca6ef47a53a8f215ff</id>
<content type='text'>
</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>
</feed>
