aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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
2016-02-07tests: do not create gocryptfs.diriv if plaintextnames==trueJakob Unterwurzacher
2016-02-07Move OpenDir to fs_dir.goJakob Unterwurzacher
2016-02-07Add tests for long name creation and renaming (currently failing, obviously)Jakob Unterwurzacher
2016-02-06longnames part I: Create and OpenDir work with long filenames > 176 bytesJakob Unterwurzacher
Todo: Rename, Unlink, Rmdir, Mknod, Mkdir
2016-02-06travis: run all tests in "internal"Jakob Unterwurzacher
2016-02-06Move dirIVCache to its own fileJakob Unterwurzacher
2016-02-06test.bash: Accept flagsJakob Unterwurzacher
2016-02-06Run go fmtJakob Unterwurzacher
2016-02-06Fix tests - were broken by the refactoringJakob Unterwurzacher
2016-02-06Move pathfs_frontend to internal/fusefrontendJakob Unterwurzacher
"git status" for reference: renamed: pathfs_frontend/args.go -> internal/fusefrontend/args.go renamed: pathfs_frontend/compat_darwin.go -> internal/fusefrontend/compat_darwin.go renamed: pathfs_frontend/compat_linux.go -> internal/fusefrontend/compat_linux.go renamed: pathfs_frontend/file.go -> internal/fusefrontend/file.go renamed: pathfs_frontend/file_holes.go -> internal/fusefrontend/file_holes.go renamed: pathfs_frontend/fs.go -> internal/fusefrontend/fs.go renamed: pathfs_frontend/fs_dir.go -> internal/fusefrontend/fs_dir.go renamed: pathfs_frontend/names.go -> internal/fusefrontend/names.go renamed: pathfs_frontend/write_lock.go -> internal/fusefrontend/write_lock.go modified: main.go
2016-02-06Major refactoring: Split up "cryptfs" into several internal packagesJakob Unterwurzacher
"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 -> internal/configfile/config_file.go renamed: cryptfs/config_test.go -> internal/configfile/config_test.go renamed: cryptfs/config_test/.gitignore -> internal/configfile/config_test/.gitignore renamed: cryptfs/config_test/PlaintextNames.conf -> internal/configfile/config_test/PlaintextNames.conf renamed: cryptfs/config_test/StrangeFeature.conf -> internal/configfile/config_test/StrangeFeature.conf renamed: cryptfs/config_test/v1.conf -> internal/configfile/config_test/v1.conf renamed: cryptfs/config_test/v2.conf -> internal/configfile/config_test/v2.conf renamed: cryptfs/kdf.go -> internal/configfile/kdf.go renamed: cryptfs/kdf_test.go -> internal/configfile/kdf_test.go renamed: cryptfs/cryptfs_content.go -> internal/contentenc/content.go new file: internal/contentenc/content_api.go renamed: cryptfs/content_test.go -> internal/contentenc/content_test.go renamed: cryptfs/file_header.go -> internal/contentenc/file_header.go renamed: cryptfs/intrablock.go -> internal/contentenc/intrablock.go renamed: cryptfs/address_translation.go -> internal/contentenc/offsets.go new file: internal/cryptocore/crypto_api.go renamed: cryptfs/gcm_go1.4.go -> internal/cryptocore/gcm_go1.4.go renamed: cryptfs/gcm_go1.5.go -> internal/cryptocore/gcm_go1.5.go renamed: cryptfs/nonce.go -> internal/cryptocore/nonce.go renamed: cryptfs/openssl_aead.go -> internal/cryptocore/openssl_aead.go renamed: cryptfs/openssl_benchmark.bash -> internal/cryptocore/openssl_benchmark.bash renamed: cryptfs/openssl_test.go -> internal/cryptocore/openssl_test.go new file: internal/nametransform/name_api.go new file: internal/nametransform/names_core.go renamed: cryptfs/names_diriv.go -> internal/nametransform/names_diriv.go renamed: cryptfs/names_noiv.go -> internal/nametransform/names_noiv.go renamed: cryptfs/names_test.go -> internal/nametransform/names_test.go new file: internal/nametransform/pad16.go renamed: cryptfs/log.go -> internal/toggledlog/log.go renamed: cryptfs/log_go1.4.go -> internal/toggledlog/log_go1.4.go renamed: cryptfs/log_go1.5.go -> 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
2016-02-06Rename DirIVCacheEnc to just DirIVCacheJakob Unterwurzacher
...and unexport dirIVCache
2016-01-31Don't print plain text directory name in "Invalid name" warningJakob Unterwurzacher
2016-01-31Add new "-wpanic" option and enable it for the automated testsJakob Unterwurzacher
2016-01-25Convert fdLock to an RWMutex and protect the whole transactionJakob Unterwurzacher
...against concurrent closes. The testcase (set -e; while true; do truncate -s $RANDOM b; done) & (set -e; while true; do truncate -s $RANDOM b; done) & 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 )
2016-01-24Only warn once for unsupported fallocate(2) and truncate(2)Jakob Unterwurzacher
Also, print the inode number in Ftruncate warnings.
2016-01-24Downgrade "gocryptfs.diriv not found" warning if the directory was deletedJakob Unterwurzacher
The directory may have been concurrently deleted or moved. Failure to read the diriv is not an error in that case. Downgrading the message to debug.
2016-01-24Update MANPAGE with new optionsJakob Unterwurzacher
2016-01-24Allow "-d" as an alis for "-debug", and "-quiet" as an alias for "-q"Jakob Unterwurzacher
2016-01-24Add "-nosyslog" optionsJakob Unterwurzacher
Also, actually redirect Warn and Debug as well.
2016-01-24Add per-inode write mutexJakob Unterwurzacher
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.
2016-01-24tests: more helpful error message when the tmp dir cannot be clearedJakob Unterwurzacher
2016-01-23Suppress password prompt when using -extpassv0.8Jakob Unterwurzacher
Also, add color to the error messages.
2016-01-23Show new benchmark.bash in READMEJakob Unterwurzacher
The old benchmark is in benchmark-builtin.bash. renamed: benchmarks-builtin.bash -> benchmark-builtin.bash renamed: benchmarks-external.bash -> benchmark.bash
2016-01-23Update README for v0.8Jakob Unterwurzacher
2016-01-23Automate standard performance testsJakob Unterwurzacher
2016-01-23renamed: benchmark.bash -> benchmarks-builtin.bashJakob Unterwurzacher
2016-01-22Remove last SetOutput from generic codeJakob Unterwurzacher
2016-01-22Add missing import for Go 1.4Jakob Unterwurzacher
2016-01-22Disable syslog in Go 1.4 and lower (method SetOutput does not exist)Jakob Unterwurzacher
2016-01-22renamed: cryptfs/gcm_go14.go -> cryptfs/gcm_go1.4.goJakob Unterwurzacher
renamed: cryptfs/gcm_go15.go -> cryptfs/gcm_go1.5.go
2016-01-21Add "-memprofile" optionJakob Unterwurzacher
2016-01-21Wrap Logger to make disabling output more efficientJakob Unterwurzacher
Instead of using SetOutput(ioutil.Discard), which means that Printf is still called for every debug message, use a simple and fast boolean check. Streaming write performance improves from 86 to 93 MB/s.
2016-01-20Switch to syslog when running in the backgroundJakob Unterwurzacher
2016-01-20Convert logging to standard Go log.LoggerJakob Unterwurzacher
This is in preparation of logging to syslog.
2016-01-19Typo in READMEJakob Unterwurzacher