aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-08-17tests/cli/TestBadname: make sure case 5 is never decodableJakob Unterwurzacher
Sometimes, by chance, case 5 resulted in valid decrypted data: --- FAIL: TestBadname (0.08s) cli_test.go:885: Case 5 failed: "J7Rbo1BvfXojpBEr0Qrt_invalid_file GOCRYPTFS_BAD_NAME" in ["file GOCRYPTFS_BAD_NAME,\x9e$O\xc3j\x8c\xd0\x06\x01#\f%k\x02\xcanvalid_file GOCRYPTFS_BAD_NAME,mzaZRF9_0IU-_5vv2wPC_invalid_file GOCRYPTFS_BAD_NAME,file,file_invalid_file GOCRYPTFS_BAD_NAME,mzaZRF9_0IU-_5vv2wP_invalid_file GOCRYPTFS_BAD_NAME"] Add percent signs so base64 decoding always fails. Fixes https://github.com/rfjakob/gocryptfs/runs/3347883728
2021-08-17github actions ci: test different Go versionsJakob Unterwurzacher
2021-08-16tests/reverse: replace os.ReadDir to support older Go versionsJakob Unterwurzacher
2021-08-16tests/root_test: show failing command detailJakob Unterwurzacher
https://github.com/kdave/btrfs-progs/issues/392
2021-08-16reverse mode: implement -one-file-systemJakob Unterwurzacher
Fixes https://github.com/rfjakob/gocryptfs/issues/475
2021-08-16tests/cli: escape filenames in TestBadname logsJakob Unterwurzacher
I just got this message (not reproducible) with unescaped binary garbage. UnmountErr: "/var/tmp/gocryptfs-test-parent-1026/114471933/TestMountBackground.899727687.mnt" was not found in MountInfo, cannot check for FD leaks UnmountErr: "/var/tmp/gocryptfs-test-parent-1026/114471933/TestConfigPipe.212912444.mnt" was not found in MountInfo, cannot check for FD leaks DecryptName "mzaZRF9_0IU-_5vv2wPC_i": unPad16 error: Padding too long, padLen=49 > 16 OpenDir ".": invalid entry "KqQ346cuOAFHv_qSta5PhAwrongPattern": bad message DecryptName "mzaZRF9_0IU-_5vv2wP_in": unPad16 error: Padding byte at i=10 is invalid --- FAIL: TestBadname (0.11s) cli_test.go:885: Case 5 failed: 'KqQ346cuOAFHv_qSta5P_invalid_file GOCRYPTFS_BAD_NAME' in [file_invalid_file GOCRYPTFS_BAD_NAME,file,mzaZRF9_0IU-_5vv2wPC_invalid_file GOCRYPTFS_BAD_NAME,file GOCRYPTFS_BAD_NAME,�*A���y���Gfnvalid_file GOCRYPTFS_BAD_NAME,mzaZRF9_0IU-_5vv2wP_invalid_file GOCRYPTFS_BAD_NAME] Invalid cipherdir: directory /var/tmp/gocryptfs-test-parent-1026/114471933/TestInitNotEmpty not empty FAIL FAIL github.com/rfjakob/gocryptfs/tests/cli 4.817s
2021-08-16inomap: update outdated wording in commentsJakob Unterwurzacher
2021-08-16inomap: warn on first use of spillMapJakob Unterwurzacher
We normally should not need it, warn if we do. As the tests run with -wpanic, we would catch it.
2021-08-13Makefile: add uninstall targetJakob Unterwurzacher
2021-08-12main: accept magic /dev/fd/ mountpointJakob Unterwurzacher
https://github.com/rfjakob/gocryptfs/issues/590
2021-08-11syscallcompat: use BTRFS_SUPER_MAGIC from unix libJakob Unterwurzacher
2021-08-11Makefile: don't ever run "git clean -dxff"Jakob Unterwurzacher
"make ci" almost made me lose the new quirks files. Let's not do that anymore.
2021-08-11syscallcompat: move quirks logic here & fix darwinJakob Unterwurzacher
We need to look at f_fstypename acc. to https://stackoverflow.com/a/52299141/1380267 : > As filesystem type numbers are now assigned at runtime in > recent versions of MacOS, you must use f_fstypename to > determine the type. https://github.com/rfjakob/gocryptfs/issues/585
2021-08-10main: add testcases for convertToDoubleDash & parseCliOptsJakob Unterwurzacher
2021-08-10main: take advantage of pflag slice typesJakob Unterwurzacher
Our multipleStrings type is now built in.
2021-08-10main: show specific error on command line parse failureJakob Unterwurzacher
2021-08-10main: autoformat import blockJakob Unterwurzacher
The autoformatter now always wants to move the ensurefds012 import into the import block. Accept it and fix the spelling of "alphabetically".
2021-08-10main: switch from flag to pflagJakob Unterwurzacher
Need support for flags at any position for https://github.com/rfjakob/gocryptfs/issues/590
2021-08-10main: push TestPrefixOArgs testcase struct into TestPrefixOArgsJakob Unterwurzacher
No need to have it declared globally.
2021-08-02fusefrontend: add quirks for MacOS ExFATJakob Unterwurzacher
This also moves the quirks logic into fusefrontend. Fixes https://github.com/rfjakob/gocryptfs/issues/585
2021-08-02go mod: upgrade go-fuseJakob Unterwurzacher
Let's not crash anymore when we see inode number 1 ( https://github.com/hanwen/go-fuse/commit/0aaef6dde4b62dd0f21d545c5001d9e5ece0c87e ) https://github.com/rfjakob/gocryptfs/issues/585
2021-07-31README: Update ChangelogJakob Unterwurzacher
2021-07-31fusefrontend: -sharedstorage: present stable inode numbersJakob Unterwurzacher
Use the Gen field (inode generation) to distinguish hard links while passing the real inode numbers to userspace. Fixes https://github.com/rfjakob/gocryptfs/issues/584
2021-07-31tests: matrix: add TestPwdJakob Unterwurzacher
https://github.com/rfjakob/gocryptfs/issues/584
2021-07-31fusefrontend: prepareAtSyscall: handle error when opening ourselvesJakob Unterwurzacher
Error handling was missing here, so we would later get confusing EBADF errors due to dirfd being -1.
2021-07-29fusefrontend: implement fsync on directoriesJakob Unterwurzacher
Fixes https://github.com/rfjakob/gocryptfs/issues/587
2021-07-29fido2: actually drop `-v` flagJakob Unterwurzacher
Commit 2a9d70d48f4cc715a6864849cdec91ab08b6fd03 only dropped the flag on mount but not on `-init`. Also drop it on `-init`. Fixes https://github.com/rfjakob/gocryptfs/issues/571 (part II)
2021-07-29go mod: set version to 1.16 & drop explicit "-mod=vendor" from ciJakob Unterwurzacher
This makes "go build" automatically use the vendor directory, if present. See https://golang.org/doc/modules/gomod-ref#go for details. Up to now, we ignored the vendor dir completely! Fixes https://github.com/rfjakob/gocryptfs/issues/581
2021-07-29github ci: Add Github Actions CIJakob Unterwurzacher
Add Github Actions and delete defunct Travis CI.
2021-06-27canonical-benchmarks.bash: handle relative pathsJakob Unterwurzacher
Passing a relative path was broken because we cd'ed away first.
2021-06-27fido2: drop `-v` option (PIN request)Jakob Unterwurzacher
We used to pass `-v` on `gocryptfs -init` but not for mount, which seems strange by itself, but more importantly, `-v` does not work on Yubikeys. Drop `-v`. Fixes https://github.com/rfjakob/gocryptfs/issues/571
2021-06-27fido2: pretty-print fidoCommand in debug outputJakob Unterwurzacher
Related: https://github.com/rfjakob/gocryptfs/issues/571
2021-06-26doc: update performance.txtJakob Unterwurzacher
2021-06-26tests/fsck: delete obsolete script run_fsck.bashJakob Unterwurzacher
Not called by anybody.
2021-06-26tests, maxlen.bash: speed up TestMaxlen using QUICK=1Jakob Unterwurzacher
From >6 to <1 second.
2021-06-26tests: matrix: show content detail on mismatchJakob Unterwurzacher
2021-06-26fusefrontend: delete openBackingDirJakob Unterwurzacher
2021-06-26fusefrontend: convert last callers from openBackingDir to prepareAtSyscallJakob Unterwurzacher
2021-06-26tests: better error message on ctlsock query failureJakob Unterwurzacher
2021-06-26fusefrontend: ctlsock: get rid of unneccessary wrapper functionJakob Unterwurzacher
2021-06-26fusefrontend: convert ctlsock from openBackingDir to prepareAtSyscallJakob Unterwurzacher
openBackingDir will be removed. Also, remove leftover debug printfs.
2021-06-26fusefrontend: convert openBackingDir tests to prepareAtSyscallJakob Unterwurzacher
openBackingDir will be removed.
2021-06-26tests/default: add maxlen.bash testJakob Unterwurzacher
2021-06-26maxlen.bash: suppress progress output if not on a terminalJakob Unterwurzacher
2021-06-25fusefrontend: implement recursive diriv cachingJakob Unterwurzacher
The new contrib/maxlen.bash showed that we have exponential runtime with respect to directory depth. The new recursive diriv caching is a lot smarter as it caches intermediate lookups. maxlen.bash now completes in a few seconds. xfstests results same as https://github.com/rfjakob/fuse-xfstests/blob/2d158e4c82be85c15269af77498e353f928f4fab/screenlog.0 : Failures: generic/035 generic/062 generic/080 generic/093 generic/099 generic/215 generic/285 generic/319 generic/426 generic/444 generic/467 generic/477 generic/523 Failed 13 of 580 tests benchmark.bash results are identical: $ ./benchmark.bash Testing gocryptfs at /tmp/benchmark.bash.BdQ: gocryptfs v2.0.1-17-g6b09bc0; go-fuse v2.1.1-0.20210611132105-24a1dfe6b4f8; 2021-06-25 go1.16.5 linux/amd64 /tmp/benchmark.bash.BdQ.mnt is a mountpoint WRITE: 262144000 bytes (262 MB, 250 MiB) copied, 0,4821 s, 544 MB/s READ: 262144000 bytes (262 MB, 250 MiB) copied, 0,266061 s, 985 MB/s UNTAR: 8,280 MD5: 4,564 LS: 1,745 RM: 2,244
2021-06-21nametransform: rename BadNameFlag to BadnameSuffixJakob Unterwurzacher
2021-06-21nametransform: gather badname functions in badname.goJakob Unterwurzacher
2021-06-21nametransform: delete NameTransformer interfaceJakob Unterwurzacher
Useless layer of indirection.
2021-06-21tests: cli: add TestZerokeyJakob Unterwurzacher
TestZerokey verifies that `gocryptfs -zerokey` uses the same options as `gocryptfs -init`.
2021-06-21Improve startup debug outputJakob Unterwurzacher
The startup debug output was very verbose but still missing some effective crypto settings.