summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-11-17MANPAGE: describe how to unmount, and that default options are fineJakob Unterwurzacher
Feedback received during the recent Go user group. If you haven't used FUSE before, you don't know how to unmount, and it was not described in the man page! As for the options, there are many, and new users are intimidated by it. State clearly that defaults are fine.
2019-11-16fs: add uint64 cast to fix Darwin buildJakob Unterwurzacher
Error from Travis CI was: +GOOS=darwin +GOARCH=amd64 +go build -tags without_openssl # github.com/rfjakob/gocryptfs/internal/fusefrontend internal/fusefrontend/fs.go:88:45: cannot use st.Dev (type int32) as type uint64 in argument to openfiletable.NewInumMap Add uint64 to fix it.
2019-11-16fusefrontend: use inummapJakob Unterwurzacher
translate inode numbers on different devices to fix collisions. Fixes https://github.com/rfjakob/gocryptfs/issues/435
2019-11-16openfiletable: add inummapJakob Unterwurzacher
Generates unique inode numbers for files on different devices. https://github.com/rfjakob/gocryptfs/issues/435
2019-11-16tests: also check inode number in VerifySizeJakob Unterwurzacher
Check Stat() vs Fstat() result. Not very useful at the moment as the kernel never seems to call Fstat().
2019-11-16contrib/statvsfstat: add statvsfstat toolJakob Unterwurzacher
Cli tool to compare the result of Stat() and Fstat().
2019-11-10tests: fsstress: clean up leftover mounts on startupJakob Unterwurzacher
Broken mounts may accumulate when the fs crashes.
2019-11-10tests: drop "-l" flag from fsstress-loopback.bashJakob Unterwurzacher
No longer supported by go-fuse loopback.
2019-11-03fusefrontend: warn about missing dirivJakob Unterwurzacher
The comment is outdated, at this point, we should really not get any errors from ReadDirIVAt. The change is best seen when running the fsck tests. Before: fsck: error opening dir "missing_diriv": 2=no such file or directory After: OpenDir "K2m0E6qzIfoLkVZJanoUiQ": could not read gocryptfs.diriv: no such file or directory fsck: error opening dir "missing_diriv": 5=input/output error See https://github.com/rfjakob/gocryptfs/issues/403 , where the extra info would have been helpful.
2019-11-03main: show "-fsck" in help textJakob Unterwurzacher
Suggested at https://github.com/rfjakob/gocryptfs/issues/403
2019-11-03fusefrontend: don't return EIO on directory with corrupt file namesJakob Unterwurzacher
This was meant as a way to inform the user that something is very wrong, however, users are hitting the condition on MacOS due to ".DS_Store" files, and also on NFS due to ".nfsXXX" files. Drop the whole thing as it seems to cause more pain than gain. Fixes https://github.com/rfjakob/gocryptfs/issues/431
2019-11-03tests: send SIGUSR1 to loopbackJakob Unterwurzacher
loopback needs to receive SIGUSR1 to write a memory profile.
2019-10-19tests: make extractloop work with go-fuse loopback againJakob Unterwurzacher
The "-l" flag is no longer supported in go-fuse loopback, drop it.
2019-10-13Update performance.txtJakob Unterwurzacher
2019-10-13Update fuse-xfstests resultsJakob Unterwurzacher
2019-10-06Update README for v1.7.1v1.7.1Jakob Unterwurzacher
2019-10-06stress_tests: use /var/tmp by defaultJakob Unterwurzacher
There is a good chance that /tmp is tmpfs, and we want to run our tests on a real filesystem.
2019-10-06test.bash: export TMPDIRJakob Unterwurzacher
We have to export TMPDIR, otherwise the Go tests to not pick it up.
2019-10-06travis: also test Go 1.12.xJakob Unterwurzacher
2019-10-06tests: use /var/tmp by defaultJakob Unterwurzacher
On Fedora, /tmp is tmpfs, which behaves differently than ext4 (inode numbers are never reused, for example). Use /var/tmp, which is ext4 on Fedora, to get a more realistic test environment. This also allows us to drop the xattr workaround.
2019-10-06fusefrontend: unregister from openfiletable before closing the fdJakob Unterwurzacher
Closing the fd means the inode number may be reused immediately by a new file, so we have to get the old fileID out of the table beforehand! Hopefully fixes https://github.com/rfjakob/gocryptfs/issues/363
2019-10-06fusefrontend: print file hexdump on header errorJakob Unterwurzacher
This should help debugging https://github.com/rfjakob/gocryptfs/issues/363 , but does no harm in normal operation as it only prints ciphertext to the log.
2019-10-06contentenc: add explicit test for all-zero headerJakob Unterwurzacher
https://github.com/rfjakob/gocryptfs/issues/363
2019-10-06tests: filter leaked fds by prefixJakob Unterwurzacher
When running $ go test ./tests/matrix/ in isolation, it failed like this: fd leak? before, after: [0r=/dev/null 3w=/dev/null 5r=/proc/8078/fd (hidden:4)] [0r=/dev/null 3w=/dev/null 5w=/tmp/go-build366655199/b001/testlog.txt 7r=/proc/8078/fd (hidden:4)] Filter by prefix to get rid of this spurious test failure.
2019-10-06tests: clarify which process seems to be leaking fdsJakob Unterwurzacher
The tests check if they leak fds themselves, but we also check if gocryptfs leaks fds. Clarify what is what in the error message.
2019-09-21benchmark.bash: drop hardcoded encfs pathJakob Unterwurzacher
2019-09-08Update readme.mdTonimir Kisasondi
Just added a note to preinstall fuse, so the standalone binary will work without problem.
2019-09-08serialize_reads: drop superflous "continue"Jakob Unterwurzacher
Found while debugging https://github.com/rfjakob/gocryptfs/pull/413
2019-09-08Update READMEJakob Unterwurzacher
2019-09-08Fix -idle unmounting despite activityJakob Unterwurzacher
Fixes https://github.com/rfjakob/gocryptfs/issues/421
2019-09-08tests: add TestNotIdleJakob Unterwurzacher
Mount with idle timeout of 100ms read something every 10ms. The fs should NOT get unmounted. Regression test for https://github.com/rfjakob/gocryptfs/issues/421
2019-09-08test_helpers: ListFds: handle an exited process gracefullyJakob Unterwurzacher
This used to dump a backtrace to the console which obscured what is going on.
2019-09-08Expand statfs man page a little and include in build.bashJakob Unterwurzacher
2019-09-08Provide a manpage for statfs tool.Felix Lechner
2019-09-07Fix 'cannot adjust line' warning from man in gocryptfs manpage.Felix Lechner
When generating man pages, pandoc marks indented code blocks with the roff macro '.nf'. That avoids a warning from man related to the long line about the master key.
2019-09-07Fix a typo in gocryptfs manpage.Felix Lechner
2019-09-01Add installation instructions in README.mdShubham Chaudhary
2019-09-01tests: matrix: test -serialize_readsJakob Unterwurzacher
Test if https://github.com/rfjakob/gocryptfs/pull/413 works as intended.
2019-08-04Fix "constant 2435016766 overflows int32" build failure on armJakob Unterwurzacher
Cast to uint32 to fix the int32 overflow, and define BTRFS_SUPER_MAGIC locally to fix the next failure on darwin.
2019-08-04Rename isDirEmpty -> isEmptyDirJakob Unterwurzacher
The function actually answers the question: "is this an empty dir"?
2019-08-04Force -noprealloc on BtrfsJakob Unterwurzacher
Preallocation on Btrfs is broken ( https://github.com/rfjakob/gocryptfs/issues/395 , https://lore.kernel.org/linux-btrfs/CAPv9Zmk46As_P9Gyf_icET53xRda63h7iC1meES9xbdDEt9qow@mail.gmail.com/ ) and slow ( https://github.com/rfjakob/gocryptfs/issues/63 ).
2019-07-29Prevent local user ID from appearing in source tarballsdhirsbrunner
The local user ID (1026 jakob) appears in the source tarballs gocryptfs_v1.7_src.tar.gz and gocryptfs_v1.7_src-deps.tar.gz as the owner of VERSION, Documentation, and vendor. This issue is already fixed for the binary releases by commit 07f57314afb260d6b14227b932d66345c55ffab3, and the solution here is the same: use "tar --owner=root --group=root".
2019-05-19Fix unix2syscall_darwin.go build failureJakob Unterwurzacher
Error was +GOOS=darwin +GOARCH=amd64 +go build -tags without_openssl # github.com/rfjakob/gocryptfs/internal/syscallcompat internal/syscallcompat/unix2syscall_darwin.go:22:32: u.Atimespec undefined (type unix.Stat_t has no field or method Atimespec) internal/syscallcompat/unix2syscall_darwin.go:23:32: u.Mtimespec undefined (type unix.Stat_t has no field or method Mtimespec) internal/syscallcompat/unix2syscall_darwin.go:24:32: u.Ctimespec undefined (type unix.Stat_t has no field or method Ctimespec) caused by https://github.com/golang/sys/commit/87c872767d25fb96dfe96c794fd028b38a08440b#diff-4913a9178621eadcdf191db17915fbcb
2019-05-19dep: add go-gitignoreJakob Unterwurzacher
2019-05-19Revert "travis: run tests with "-v""Jakob Unterwurzacher
1500 lines out output makes it hard to see where the failure happends, especially on mobile. Drop the verbose flag again. This reverts commit 8cad0e2f4f288482d3528c80fb64fc1e55f26e34.
2019-05-13-passwd now takes a passed -scryptn flag into accountJakob Unterwurzacher
https://github.com/rfjakob/gocryptfs/issues/400
2019-05-12gocryptfs -version: show architectureJakob Unterwurzacher
Show the GOOS/GOARCH tuple as displayed by "go version".
2019-05-01travis: drop Go 1.7 and 1.8Jakob Unterwurzacher
Fails with get "golang.org/x/crypto/scrypt": verifying non-authoritative meta tag package math/bits: unrecognized import path "math/bits" (import path does not begin with hostname) Other projects have dropped the old Go version for the same reason, example: https://github.com/nmrshll/gphotos-uploader-cli/issues/7
2019-05-01travis: add make root_testJakob Unterwurzacher
2019-05-01tests: root_test: also test file creationJakob Unterwurzacher