aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-05-30fusefrontend: replace unreliable "fd < 0" checkJakob Unterwurzacher
... with the "released" boolean. For some reason, the "f.fd.Fd() < 0" check did not work reliably, leading to nil pointer panics on the following wlock.lock(). The problem was discovered during fsstress testing and is unlikely to happen in normal operations. With this change, we passed 1700+ fsstress iterations.
2016-05-30toggledlog: wpanic: use Logger.Panic instead of naked panicJakob Unterwurzacher
This makes sure the panic message also ends up in syslog (if enabled).
2016-05-29fusefrontend: use sync.Once for one-time warningsJakob Unterwurzacher
Using a simple boolean was racy (which was harmless in this case) and non-idomatic.
2016-05-29fusefronted: check Fstat return value on file createJakob Unterwurzacher
The Fstat call should never fail, but still, if it does return an error it should be handled properly.
2016-05-29fusefrontend: simplify wlockMapJakob Unterwurzacher
mapMutex can be anonymous and using an RWMutex is overkill because the lock protects very short sections.
2016-05-29fsstress-loopback: properly stop on Ctrl-CJakob Unterwurzacher
Send fsstress (which ignores Ctrl-C) into the background so the shell gets the signal. Manually kill fsstress in the cleanup handler. Also, use the build.bash script for gocryptfs.
2016-05-29fusefrontend: remove unused "forgotten" variableJakob Unterwurzacher
The functionality has long been replaced by the fd < 0 check.
2016-05-25Update README for v0.10Jakob Unterwurzacher
Also add dates for all releases.
2016-05-25fsstress-loopback: use random directory namesJakob Unterwurzacher
This allows to run more than one instance of the script in parallel. Also, properly clean up on exit.
2016-05-24extractloop: use $SECONDS special variableJakob Unterwurzacher
Gets rid of the call to "date" and simplifies the code.
2016-05-24stress_tests: add header commentsJakob Unterwurzacher
Also, convert extractloop.bash to using md5sum instead of diff -ur so the user does not have to keep an extracted kernel tree around. And print the iteration time.
2016-05-22stupidgcm: add benchmark.bash wrapperJakob Unterwurzacher
Add a simple bash wrapper to make it easier to run the GCM benchmarks.
2016-05-18Add "-allow_other" command-line optionJakob Unterwurzacher
As requested in https://github.com/rfjakob/gocryptfs/issues/26 , this adds the option to allow other users to access the filesystem.
2016-05-13Update README vor v0.10-rc3v0.10-rc3Jakob Unterwurzacher
2016-05-12Encrypt path in statfs() callsDavid Gnedt
Paths in statfs() calls were not encrypted resulting in an Function not implemented error, when the unencrypted path didn't exist in the underlying (encrypted) filesystem. $ df plain/existingdir df: ‘plain/existingdir’: Function not implemented
2016-05-12prefer_openssl: add amd64 constraintJakob Unterwurzacher
Optimized assembly versions for Go GCM are only available on amd64.
2016-05-12prefer_openssl: autodetect whether to use OpenSSL or Go GCMJakob Unterwurzacher
Go GCM is faster than OpenSSL if the CPU has AES instructions and you are running Go 1.6+. The "-openssl" option now defaults to "auto". "gocryptfs -debug -version" displays the result of the autodetection. See https://github.com/rfjakob/gocryptfs/issues/23 for details and benchmarks.
2016-05-11README: Note fallocate changes for v0.10 (issue #22)Jakob Unterwurzacher
2016-05-08fusefrontend: fix panic due to concurrently unregistered wlockJakob Unterwurzacher
Commit 730291feab properly freed wlock when the file descriptor is closed. However, concurrently running Write and Truncates may still want to lock it. Check if the fd has been closed first.
2016-05-08stress_tests: improve outputJakob Unterwurzacher
2016-05-05stress_tests: extractloop: run two loops in parallelJakob Unterwurzacher
This increases the load but also the disk space requirements (to about 2GB).
2016-05-05fusefrontend: fix wlock memory leakJakob Unterwurzacher
The write lock was not freed on release, causing a slow memory leak. This was noticed by running extractloop.bash for 10 hours.
2016-05-05stress_tests: add stress test scriptsJakob Unterwurzacher
These were hosted at https://github.com/rfjakob/fsstress . To make them easier to use for gocryptfs users and developers, add them to the main repo.
2016-05-05stupidgcm: set dummy locking callback.v0.10-rc2Jakob Unterwurzacher
In general, OpenSSL is only threadsafe if you provide a locking function through CRYPTO_set_locking_callback. However, the GCM operations that stupidgcm uses never call that function. To guard against that ever changing, set a dummy locking callback that crashes the app.
2016-05-05stupidgcm: skip tests on Go 1.4 and olderJakob Unterwurzacher
Quoting from the patch: We compare against Go's built-in GCM implementation. Since stupidgcm only supports 128-bit IVs and Go only supports that from 1.5 onward, we cannot run these tests on older Go versions.
2016-05-05Revert "stupidgcm: print openssl error stack before panicing"Jakob Unterwurzacher
This did not help in debugging the openssl <= 1.0.1c issue at all and makes the code more complex. Keep it simple.
2016-05-05cryptocore: support Go 1.4 in testsJakob Unterwurzacher
2016-05-05stupidgcm: reorder calls to support openssl <= 1.0.1cJakob Unterwurzacher
This fixes the test failures on Travis CI. Quoting from https://github.com/openssl/openssl/commit/07a4ff79d23e45f1a45da717b7c1f41a5e1c7c0c /* Set expected tag value. A restriction in OpenSSL 1.0.1c and earlier * required the tag before any AAD or ciphertext */
2016-05-04stupidgcm: print openssl error stack before panicingJakob Unterwurzacher
2016-05-04stupidgcm: fix copy-paste error in panic messageJakob Unterwurzacher
Also, print the openssl version in Travis CI
2016-05-04Fix typos in READMEJakob Unterwurzacher
2016-05-04Update README for v0.10-rc1v0.10-rc1Jakob Unterwurzacher
2016-05-04stupidgcm: completely replace spacemonkeygo/opensslJakob Unterwurzacher
2016-05-04stupidgcm: add our own thin wrapper around openssl gcmJakob Unterwurzacher
...complete with tests and benchmark. This will allow us to get rid of the dependency to spacemonkeygo/openssl that causes problems on Arch Linux ( https://github.com/rfjakob/gocryptfs/issues/21 )
2016-05-04cryptocore: add API testsJakob Unterwurzacher
2016-04-28build.bash: replace "git -C"Jakob Unterwurzacher
"-C" is not supported on older git versions. Instead, just cd into the directory. See issue #20.
2016-04-20prelloc: warn and continue if fallocate(2) is not supportedJakob Unterwurzacher
This makes gocryptfs work at all on ZFS. See https://github.com/rfjakob/gocryptfs/issues/22 .
2016-04-17Update manpage with "longnames" option, explain feature flag optionsJakob Unterwurzacher
2016-04-10build.bash: bake the go-fuse commit hash into the binariesv0.9Jakob Unterwurzacher
2016-04-10Update readme.md and performance.txt for v0.9Jakob Unterwurzacher
2016-04-10Fix "go tool vet -shadow=true" warningsJakob Unterwurzacher
Among those one real bug.
2016-04-10tests: clean up leftover mounts in resetTmpDirJakob Unterwurzacher
Failure in the example filesystems tests can leave them mounted.
2016-04-10longnames: fix fsstress failure, use dirfdJakob Unterwurzacher
Using dirfd-relative operations allows safe lockless handling of the ".name" files.
2016-04-10longnames: use symbolic constants instead of naked intsJakob Unterwurzacher
2016-04-10Add v0.9-rc2 performance numbersJakob Unterwurzacher
2016-04-03Add v0.9 changes to READMEv0.9-rc2Jakob Unterwurzacher
2016-04-03travis ci: also build with Go 1.6Jakob Unterwurzacher
2016-03-03Enable openssl in tests to support old Go versionsJakob Unterwurzacher
Go 1.4 and older do not support 128-bit IVs which caused the tests to panic.
2016-03-03Fix Go 1.4 build failure caused by a refactoring oversightJakob Unterwurzacher
2016-02-07longnames part II: Rename, Unlink, Rmdir, Mknod, Mkdir + testsv0.9-rc1Jakob Unterwurzacher