aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-11-15tests: add example_filesystems, test password and -masterkey mountJakob Unterwurzacher
2015-11-15CipherSizeToPlainSize: Handle illegal statesJakob Unterwurzacher
A file never gets a cipherSize <= HEADER_LEN in normal operation. However, this can happen if header write it interrupted or the underlying filesystem does not support fallocate. Noticed while trying to store a CIPHERDIR in another gocryptfs mount (gocryptfs does not support fallocate)
2015-11-15Move "Debug output enabled" after forkChild() to remove duplicate outputJakob Unterwurzacher
2015-11-15tests: add tests for "-config" optionJakob Unterwurzacher
2015-11-15Add "-extpass" cli option and associated testsJakob Unterwurzacher
2015-11-14MANPAGE: add "-config" flagJakob Unterwurzacher
Also, "-plaintextnames" can be used with -zerokey. Fix the incorrect description.
2015-11-14Refactor cli argument handlingJakob Unterwurzacher
Also, add the "-config" option for storing gocryptfs.conf outside of CIPHERDIR.
2015-11-14README: add beta badge and update textJakob Unterwurzacher
Also, improve the help text.
2015-11-14README: add beta badgeJakob Unterwurzacher
2015-11-14Revert "Travis CI: build using build.bash"Jakob Unterwurzacher
Build fails, see https://github.com/hanwen/go-fuse/pull/72 for details This reverts commit 4637098b20ea82ff5a7ac1d75ea683d17e00e199.
2015-11-14Travis CI: build using build.bashJakob Unterwurzacher
2015-11-14Run go fmt and go vetJakob Unterwurzacher
2015-11-14tests: Add file create benchmarks for different sizesJakob Unterwurzacher
Example output on my machine: ~/src/github.com/rfjakob/gocryptfs$ ./benchmark.bash gocryptfs v0.3.1-25-g2e33888-dirty; on-disk format 2 PASS BenchmarkStreamWrite-2 100 12189867 ns/op 86.02 MB/s BenchmarkStreamRead-2 200 9113262 ns/op 115.06 MB/s BenchmarkCreate0B-2 10000 100249 ns/op BenchmarkCreate1B-2 10000 177680 ns/op 0.01 MB/s BenchmarkCreate100B-2 3000 431586 ns/op 0.23 MB/s BenchmarkCreate4kB-2 3000 455204 ns/op 9.00 MB/s BenchmarkCreate10kB-2 3000 594044 ns/op 17.24 MB/s ok github.com/rfjakob/gocryptfs/integration_tests 15.176s
2015-11-12tests: replace linux kernel untar test with synthetic small file creationJakob Unterwurzacher
2015-11-12tests: move integration tests to separate directoryJakob Unterwurzacher
Also, use new "-defaultonly" flag for benchmarks (only tests with openssl=true plaintextnames=false)
2015-11-11README: Add link to MANPAGEJakob Unterwurzacher
2015-11-11Add MANPAGE.md and MANPAGE-render.bashJakob Unterwurzacher
MANPAGE-render.bash renders the markdown to a proper man(1) manpage
2015-11-09Also hide master key reminder with "-q"Jakob Unterwurzacher
Also fix missing newline after password prompt
2015-11-09Use new arg "-notifypid" for more robust daemonizationJakob Unterwurzacher
No more string matching on the parent command line!
2015-11-09cli: Create our own FlagSet so we can set the policy to ExitOnErrorJakob Unterwurzacher
2015-11-09Add "-q" (quiet) flagJakob Unterwurzacher
2015-11-09Add TODO fileJakob Unterwurzacher
2015-11-08Handle ENOSPC errors better by preallocating the space before writingJakob Unterwurzacher
Prevent the case that we run out of space in the middle of writing a block - that would leave a corrupt block behind.
2015-11-03README: List config format changeJakob Unterwurzacher
2015-11-03tests: check that the filename encryption is working as expectedJakob Unterwurzacher
Also check that the "gocryptfs.conf" path filtering is working as expected
2015-11-03Centralize path filter decision in CryptFS.IsFiltered()Jakob Unterwurzacher
2015-11-03tests: reduce noise but make test.bash accept "-v"Jakob Unterwurzacher
2015-11-03tests: add config file and feature flags testsJakob Unterwurzacher
2015-11-03config: Introduce ext4-style feature flagsJakob Unterwurzacher
// List of feature flags this filesystem has enabled. // If gocryptfs encounters a feature flag it does not support, it will refuse // mounting. This mechanism is analogous to the ext4 feature flags that are // stored in the superblock. FeatureFlags []string
2015-11-03Fix tests broken by PlaintextNames additionJakob Unterwurzacher
2015-11-03Update README with v0.4Jakob Unterwurzacher
2015-11-03Update USAGE.txtJakob Unterwurzacher
Also run go fmt
2015-11-03Implement PlainTextNames modeJakob Unterwurzacher
Also, forbid access to "gocryptfs.conf" in the root dir.
2015-11-02Bump on-disk version to 2Jakob Unterwurzacher
2015-11-02Add "--plaintextnames" optionJakob Unterwurzacher
Also, gather all the command line arguments into an anonymous struct "args".
2015-11-02Fix three "golint" nitpicksJakob Unterwurzacher
2015-11-02Add USAGE.txtJakob Unterwurzacher
2015-11-01package.bash: add architecture to filenameJakob Unterwurzacher
Example: gocryptfs_v0.3-1-g0788eb4_linux-amd64.tar.gz
2015-11-01Update test.bash to call build.bashv0.3.1Jakob Unterwurzacher
This makes sure the version number is baked into the binary that is built
2015-11-01Fix daemonization regressionJakob Unterwurzacher
Commit af923d2d16e0eedc7d2c203e28a42b6af49a51f5 broke daemonization. Revert the change but get rid of the warning message when running in the foreground.
2015-11-01Update package.bash to call build.bashv0.3Jakob Unterwurzacher
This makes sure the version number is baked in
2015-11-01README: Note used on-disk formatsJakob Unterwurzacher
2015-11-01Bake version string into binary, add "--version" switchJakob Unterwurzacher
Example: ./gocryptfs -version gocryptfs v0.2-20-gabcef9e-dirty; on-disk format 1 Note that you MUST compile using "./build.bash" for this to work.
2015-11-01Automatically lazy-unmount when we get SIGINT or SIGTERMJakob Unterwurzacher
This hides the dangling "Transport endpoint is not connected" mountpoint for everyone but processes that have file open inside the mountpoint.
2015-11-01Remove code detected by "deadcode"Jakob Unterwurzacher
go get github.com/remyoudompheng/go-misc/deadcode
2015-11-01README: Describe storage overheadJakob Unterwurzacher
2015-11-01Refactor ciphertext <-> plaintext offset translation functionsJakob Unterwurzacher
Move all the intelligence into the new file address_translation.go. That the calculations were spread out too much became apparent when adding the file header. This should make the code much easier to modify in the future.
2015-11-01Fix missing printf arguments discovered by "go vet"Jakob Unterwurzacher
2015-11-01Add file header (on-disk-format change)Jakob Unterwurzacher
Format: [ "Version" uint16 big endian ] [ "Id" 16 random bytes ] Quoting SECURITY.md: * Every file has a header that contains a 16-byte random *file id* * Each block uses the file id and its block number as GCM *authentication data* * This means the position of the blocks is protected as well. The blocks can not be reordered or copied between different files without causing an decryption error.
2015-11-01tests: run unit tests before integration testsJakob Unterwurzacher