aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
7 daysfusefrontend: Mkdir: Stat after fixing permissionsHEADmasterJakob Unterwurzacher
Fixes https://github.com/rfjakob/gocryptfs/issues/964
7 daystests: matrix: add Test555DirJakob Unterwurzacher
--- FAIL: Test555Dir (0.00s) dir_test.go:90: wrong mode. want 0555 have 0755 FAIL TestMain: matrix[0] = matrix.testcaseMatrix{plaintextnames:false, openssl:"auto", aessiv:false, raw64:false, extraArgs:[]string(nil)} failed FAIL github.com/rfjakob/gocryptfs/v2/tests/matrix 2.109s https://github.com/rfjakob/gocryptfs/issues/964
2025-09-16build(deps): bump actions/setup-go from 5 to 6dependabot[bot]
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 5 to 6. - [Release notes](https://github.com/actions/setup-go/releases) - [Commits](https://github.com/actions/setup-go/compare/v5...v6) --- updated-dependencies: - dependency-name: actions/setup-go dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
2025-09-16build(deps): bump actions/checkout from 4 to 5dependabot[bot]
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v4...v5) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
2025-08-10README: update changelog for v2.6.1v2.6.1Jakob Unterwurzacher
2025-08-07tests: matrix: use unique ctlsock pathJakob Unterwurzacher
Because the deletion happens asynchronously, a previous iteration can delete the socket of the next one.
2025-08-07tests: matrix: add TestRenameExchangeOnGocryptfsrafjaf
Added testing for RENAME_EXCHANGE https://github.com/rfjakob/gocryptfs/issues/914
2025-08-07darwin: syscallcompat: add RenameatxNp plus flagsrafjaf
Fix macos file saving problem by implementing RENAME_EXCHANGE flag. With test. The dummy value for RENAME_WHITEOUT collides with the new flags. Move it wayyy up. https://github.com/rfjakob/gocryptfs/issues/914
2025-08-07build scripts: use CGO_ENABLED=0 to disable opensslJakob Unterwurzacher
2025-08-07stupidgcm: make build tags consistentJakob Unterwurzacher
This makes building with just CGO_ENABLED=0 work.
2025-08-07stupidcgm: explain what xchacha.go isJakob Unterwurzacher
2025-08-03github ci: checkout first to make dependency caching workJakob Unterwurzacher
We used to get this: Warning: Restore cache failed: Dependencies file is not found in /home/runner/work/gocryptfs/gocryptfs. Supported file pattern: go.sum Hopefully make it go away by checking out the code first. Fixes https://github.com/rfjakob/gocryptfs/issues/946
2025-08-03test.bash: print "?" when we cannot determine fs typeJakob Unterwurzacher
2025-08-03test.bash: drop SC2002 exceptionJakob Unterwurzacher
No longer needed.
2025-08-03test.bash: use flock without subshellJakob Unterwurzacher
From man 1 flock: shell> exec 4<>/var/lock/mylockfile; shell> flock -n 4 This form is convenient for locking a file without spawning a subprocess. The shell opens the lock file for reading and writing as file descriptor 4, then flock is used to lock the descriptor.
2025-08-03fusefronted: report correct directory size in fstatJakob Unterwurzacher
Fixes https://github.com/rfjakob/gocryptfs/issues/951
2025-08-03tests: matrix: add TestDirSizeJakob Unterwurzacher
Fails at the moment, as expected: === RUN TestDirSize matrix_test.go:938: stat size is different from fstat size: pStat=80 pFstat=30 matrix_test.go:941: fstat size is different: pSt=30 cSt=80 matrix_test.go:938: stat size is different from fstat size: pStat=100 pFstat=50 matrix_test.go:941: fstat size is different: pSt=50 cSt=100 matrix_test.go:938: stat size is different from fstat size: pStat=120 pFstat=70 matrix_test.go:941: fstat size is different: pSt=70 cSt=120 matrix_test.go:938: stat size is different from fstat size: pStat=140 pFstat=90 matrix_test.go:941: fstat size is different: pSt=90 cSt=140 matrix_test.go:938: stat size is different from fstat size: pStat=160 pFstat=110 matrix_test.go:941: fstat size is different: pSt=110 cSt=160 https://github.com/rfjakob/gocryptfs/issues/951
2025-08-03tests: matrix: enable ctlsockJakob Unterwurzacher
2025-08-03tests: matrix: make "matrix" localJakob Unterwurzacher
2025-08-03tests: matrix: factor out MainTestJakob Unterwurzacher
2025-08-03tests: overlayfs_test: fix typo in commentJakob Unterwurzacher
2025-08-03tests: root_test: move btrfs test to new fileJakob Unterwurzacher
2025-08-03cryptocore: add note about crypto/rand.Read errorsJakob Unterwurzacher
2025-07-16build(deps): bump actions/checkout from 3 to 4dependabot[bot]
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '4' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
2025-07-16build(deps): bump actions/setup-go from 3 to 5dependabot[bot]
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 3 to 5. - [Release notes](https://github.com/actions/setup-go/releases) - [Commits](https://github.com/actions/setup-go/compare/v3...v5) --- updated-dependencies: - dependency-name: actions/setup-go dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
2025-07-16Added dependabot workflow for action updatesDamian Mendroch
2025-07-15The master key is printed at initialization, not on mountLars Quentin
2025-07-14README: changelog for v2.6.0v2.6.0Jakob Unterwurzacher
2025-07-14tests: TestBtrfsQuirks: skip if mkfs.btrfs is not installedJakob Unterwurzacher
Fixes https://github.com/rfjakob/gocryptfs/issues/930
2025-07-14go.mod: upgrade to go-fuse v2.8.0Jakob Unterwurzacher
2025-07-10remove redundant contentEnc reference from fileLars Quentin
2025-07-08Fix all staticcheck errors in gocryptfs codebasecopilot-swe-agent[bot]
Co-authored-by: rfjakob <286847+rfjakob@users.noreply.github.com> Add staticcheck to test.bash for continuous static analysis Co-authored-by: rfjakob <286847+rfjakob@users.noreply.github.com> Fix nil pointer dereference in timesToTimespec function The previous fix for deprecated fuse.UtimeToTimespec caused a panic because unix.TimeToTimespec doesn't handle nil pointers. This fix properly handles nil pointers by using unix.UTIME_OMIT while still using the non-deprecated unix.TimeToTimespec function. Co-authored-by: rfjakob <286847+rfjakob@users.noreply.github.com> Undo SA6002 changes and add staticcheck ignore directive instead Co-authored-by: rfjakob <286847+rfjakob@users.noreply.github.com>
2025-07-07Fix a bunch of staticcheck errorsJakob Unterwurzacher
Tool-assisted.
2025-07-07test.bash: don't descend into vendor dirJakob Unterwurzacher
Before: ./vendor/golang.org/x/sys/unix/syscall_linux.go: return syscall.Setuid(uid) ./vendor/golang.org/x/sys/unix/syscall_linux.go: return syscall.Setgid(gid) ./vendor/golang.org/x/sys/unix/syscall_linux.go: return syscall.Setreuid(ruid, euid) ./vendor/golang.org/x/sys/unix/syscall_linux.go: return syscall.Setregid(rgid, egid) ./vendor/golang.org/x/sys/unix/syscall_linux.go: return syscall.Setresuid(ruid, euid, suid) ./vendor/golang.org/x/sys/unix/syscall_linux.go: return syscall.Setresgid(rgid, egid, sgid) test.bash: This affects the whole process. Please use the syscallcompat wrappers instead. After: clean https://github.com/rfjakob/gocryptfs/issues/930
2025-07-07Delete deprecated golint.bashJakob Unterwurzacher
golint is dead since 2021
2025-06-20tests: reverse: delete static directory treeJakob Unterwurzacher
2025-06-20tests: reverse: generate directory tree for exlucude tests dynamicallyJakob Unterwurzacher
2025-06-20testing: reverse: add some verbose loggingJakob Unterwurzacher
2025-06-19testing: reverse: factor out newReverseFSJakob Unterwurzacher
Will be used soon in a new gitignore test. Relates-to: https://github.com/rfjakob/gocryptfs/issues/927
2025-06-15build-without-openssl.bash: drop ldd checkJakob Unterwurzacher
Apparently, the check does not work on some distributions, notably Ubuntu 24.04. On Ubuntu 24.04, ldd exits with 0 (success) even when run against a static binary. Even "ld.so --verify" returns 0, and "file" output is indistinguishable for static and dynamic builds. We could go for objdump or readelf, but this is not installed per default. Just drop the check. By now, I trust that CGO_ENABLED=0 will always build a static binary. Fixes https://github.com/rfjakob/gocryptfs/issues/926
2025-06-15fusefronted: fake fstat for deleted fifosJakob Unterwurzacher
git test suite t9300-fast-import.sh test 245 does the equivalent of this: mkfifo fifo exec 8<>fifo rm fifo cat /dev/null >&8 This used to fail with cat: standard output: No such file or directory because cat tries to fstat stdout. The open() on the fifo does not reach the filesystem, so we don't have an fd open for the delted file, hence no way to access it. Fake fstat success as good as we can to make cat happy. Fixes https://github.com/rfjakob/gocryptfs/issues/929
2025-06-15fusefronted: comment syscall.S_IFMT maskingJakob Unterwurzacher
2025-06-05mount: fix -force_owner not allowing file/dir createJakob Unterwurzacher
Fixes https://github.com/rfjakob/gocryptfs/issues/783
2025-06-05tests: add TestRootForceOwnerJakob Unterwurzacher
$ make root_test [...] === RUN TestRootForceOwner root_test.go:398: mkdir /var/tmp/gocryptfs-test-parent-0/3816769547/TestRootForceOwner.2366169656.mnt/dir1: permission denied root_test.go:408: open /var/tmp/gocryptfs-test-parent-0/3816769547/TestRootForceOwner.2366169656.mnt/file1: permission denied root_test.go:415: mknod: permission denied --- FAIL: TestRootForceOwner (0.04s) https://github.com/rfjakob/gocryptfs/issues/783
2025-06-03Documentation: make file-format.md more structuredJakob Unterwurzacher
Also mention that empty files are stored empty.
2025-06-02go.mod: upgrade jacobsa-cryptoJakob Unterwurzacher
This pulls in https://github.com/aperturerobotics/jacobsa-crypto/commit/e3f78416c5c1dbdfef68c84d62a97a809a94f4dd "fix build error on loong64 (#8)" and fixes this build error on loong64: $ GOARCH=loong64 go build -tags without_openssl # github.com/aperturerobotics/jacobsa-crypto/cmac ../../go/pkg/mod/github.com/aperturerobotics/jacobsa-crypto@v1.0.2/cmac/hash.go:97:3: undefined: xorBlock
2025-06-02README: add link to gocryptfs-create-folderJakob Unterwurzacher
https://github.com/rfjakob/gocryptfs/discussions/918
2025-05-29idleMonitor: switch to the new atomic.Bool apiJakob Unterwurzacher
2025-05-10tests: fsstress-gocryptfs.bash: inform user that they should wait for cleanupJakob Unterwurzacher
Without this message, fsstress-gocryptfs.bash seems to just hang after Ctrl-C.
2025-05-06Switch to the new atomic Uint64.Add apiJakob Unterwurzacher
The new api guarantees that the value is aligned, preventing stuff like this on 32 bit platforms: goroutine 26 [running]: internal/runtime/atomic.panicUnaligned() /usr/lib/go-1.24/src/internal/runtime/atomic/unaligned.go:8 +0x24 internal/runtime/atomic.Xadd64(0x2496c74, 0x1) /usr/lib/go-1.24/src/internal/runtime/atomic/atomic_arm.s:318 +0x14 github.com/rfjakob/gocryptfs/internal/inomap.(*InoMap).NextSpillIno(0x2496c60) Fixes https://github.com/rfjakob/gocryptfs/issues/912