aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-11-17fusefrontend: get the file ID from the open files tableJakob Unterwurzacher
This fixes the problem that a truncate can reset the file ID without the other open FDs noticing it.
2016-11-17fusefrontend: upgrade wlockMap to use device AND inode numberJakob Unterwurzacher
If there are multiple filesystems backing the gocryptfs filesystems inode numbers are not guaranteed to be unique.
2016-11-11MANPAGE: document ctlsockJakob Unterwurzacher
2016-11-10ctlsock: prevent panic on invalid decrypt requestJakob Unterwurzacher
2016-11-10tests: allow overriding hardcoded arguments in Mount helperJakob Unterwurzacher
2016-11-10ctlsock: implement EncryptPath for reverse mode, add testsJakob Unterwurzacher
2016-11-10reverse: fix longname decoding bugJakob Unterwurzacher
This could have caused spurious ENOENT errors. That it did not cause these errors all the time is interesting and probably because an earlier readdir would place the entry in the cache. This masks the bug.
2016-11-10Fix golint warningsJakob Unterwurzacher
$ golint ./... | grep -v underscore | grep -v ALL_CAPS internal/fusefrontend_reverse/rfs.go:52:36: exported func NewFS returns unexported type *fusefrontend_reverse.reverseFS, which can be annoying to use internal/nametransform/raw64_go1.5.go:10:2: exported const HaveRaw64 should have comment (or a comment on this block) or be unexported
2016-11-10ctlsock: add initial limited implementationJakob Unterwurzacher
At the moment, in forward mode you can only encrypt paths and in reverse mode you can only decrypt paths.
2016-11-09nametransform: get rid of leading "./"Jakob Unterwurzacher
Paths in the root directory were encrypted to this: foobar -> ./N9vPc0gXUY4PDSt0-muYXQ==
2016-11-06nametransform: nicer error message on empty gocryptfs.dirivJakob Unterwurzacher
Old: Nov 06 13:34:38 brikett gocryptfs[16228]: ReadDirIVAt: Read failed: EOF Nov 06 13:34:38 brikett gocryptfs[16228]: go-fuse: can't convert error type: EOF New: Nov 06 14:08:43 brikett gocryptfs[17361]: ReadDirIVAt: wanted 16 bytes, got 0. Returning EINVAL.
2016-11-01Add Go 1.4 compatibility layer for raw64Jakob Unterwurzacher
Using raw64 will not work, but at least it will compile.
2016-11-01main: fix comments that reference "-f"Jakob Unterwurzacher
2016-11-01main: rename "-f" to "-fg"Jakob Unterwurzacher
"-f" looks too much like "--force". The old variant is still accepted for compatability.
2016-11-01MANPAGE: document -raw64Jakob Unterwurzacher
2016-11-01Add support for unpadded base64 filenames, "-raw64"Jakob Unterwurzacher
Through base64.RawURLEncoding. New command-line parameter "-raw64".
2016-11-01tests: add raw64 testsJakob Unterwurzacher
Also, use "%#v" instead of JSON for debug output. This means we can unexport all fields.
2016-11-01MANPAGE: update version field descriptionJakob Unterwurzacher
2016-11-01main: print "args" slightly prettierJakob Unterwurzacher
2016-11-01MANPAGE: add reverse example, move "-o" into alphabetical listJakob Unterwurzacher
People will search for "-o" alphabetically, so put it into the alphabetical option list, even if it is not a real option.
2016-11-01packakge.bash: include rendered man page in tarballJakob Unterwurzacher
2016-11-01fusefronted: expire dir IV cache after one secondJakob Unterwurzacher
The Back In Time backup tool (https://github.com/bit-team/backintime) wants to write directly into the ciphertext dir. This may cause the cached directory IV to become out-of-date. Having an expiry time limits the inconstency to one second, like attr_timeout does for the kernel getattr cache.
2016-11-01fusefrontend: refactor dirIVCacheJakob Unterwurzacher
Simplify the code a bit.
2016-10-30README: fix "15#" typoJakob Unterwurzacher
2016-10-30Update README for v1.1.1v1.1.1Jakob Unterwurzacher
2016-10-30fusefrontend: drop atime workaroundsJakob Unterwurzacher
The fix at https://github.com/hanwen/go-fuse/pull/131 has been merged. Drop the workarounds and re-enable the tests.
2016-10-30build.bash: rename "GOPATH2" to "GOPATH1"Jakob Unterwurzacher
It's the 1st component of GOPATH, so call it like that.
2016-10-30build.bash: abort if we hit a known-bad go-fuse versionJakob Unterwurzacher
Also, standardize to "if [[ ]] ; then" style.
2016-10-28fusefronted: more concise corrupt block log messageJakob Unterwurzacher
Calculating the block offset is easy enough, even more now that gocryptfs-xray exists.
2016-10-28fusefrontend: I/O error instead of panic on all-zero nonceJakob Unterwurzacher
Running xfstests generic/075 on tmpfs often triggered a panic for what seems to be a tmpfs bug. Quoting from the email to lkml, http://www.spinics.net/lists/kernel/msg2370127.html : tmpfs seems to be incorrectly returning 0-bytes when reading from a file that is concurrently being truncated.
2016-10-28main: redirect panics to /tmp/gocryptfs_panic.NNNNJakob Unterwurzacher
Redirect stdout and stderr to /tmp/gocryptfs_paniclog.NNNNNN instead of closing them so users have a chance to get the backtrace on a panic. This only applies if "-nosyslog" is NOT set. Panics will go to terminal as usual if it is.
2016-10-28fusefronted: optimize NFS streaming writes by saving one Stat()Jakob Unterwurzacher
Stat() calls are expensive on NFS as they need a full network round-trip. We detect when a write immediately follows the last one and skip the Stat in this case because the write cannot create a file hole. On my (slow) NAS, this takes the write speed from 24MB/s to 41MB/s.
2016-10-25tests: fetch the example tarball from cdn.kernel.orgJakob Unterwurzacher
www.kernel.org is painfully slow at times.
2016-10-25fusefrontend: move hole padding check out of Write()Jakob Unterwurzacher
The details of the hole handling don't have to be in Write, so move it away.
2016-10-25fusefrontend: rename "createsHole" to clearer "createsCiphertextHole"Jakob Unterwurzacher
...and add comments for what is happening.
2016-10-24Run cli_args_test.go through "gofmt -s"Jakob Unterwurzacher
2016-10-24README: make badges not take vertical spacerfjakob
2016-10-24README: add Go report card badgerfjakob
2016-10-24Fix misspellingsJakob Unterwurzacher
Close https://github.com/rfjakob/gocryptfs/issues/54
2016-10-21README: note the name of the AESSIV feature flag.Jakob Unterwurzacher
2016-10-21configfile: add newline at the endJakob Unterwurzacher
For convenience for the user, add a newline at the end. Reported as #51 .
2016-10-21MANPAGE: prettify plain-text formattingJakob Unterwurzacher
2016-10-19Update README for v1.1v1.1Jakob Unterwurzacher
2016-10-19tests: add example tarJakob Unterwurzacher
2016-10-19tests: fix forgotten variable renameJakob Unterwurzacher
2016-10-19tests: add 1980.tar.gz extract testJakob Unterwurzacher
Test that we get the right timestamp when extracting a tarball. Also simplify the workaround in doTestUtimesNano() and fix the fact that it was running no test at all.
2016-10-19lint fixesJakob Unterwurzacher
2016-10-16fusefrontend: Utimens: one more band-aidJakob Unterwurzacher
Revert once https://github.com/hanwen/go-fuse/pull/131 is merged.
2016-10-16tests: add test for -password -masterkeyJakob Unterwurzacher
Also, make the other password tests more rigorous by verifying the fs content.
2016-10-16main: allow password change with -masterkeyJakob Unterwurzacher
Requested at https://github.com/rfjakob/gocryptfs/issues/28