Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
No longer needed.
|
|
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.
|
|
Fixes https://github.com/rfjakob/gocryptfs/issues/951
|
|
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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>
|
|
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>
|
|
|
|
|
|
|
|
Fixes https://github.com/rfjakob/gocryptfs/issues/930
|
|
|
|
|
|
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>
|
|
Tool-assisted.
|
|
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
|
|
golint is dead since 2021
|
|
|
|
|
|
|
|
Will be used soon in a new gitignore test.
Relates-to: https://github.com/rfjakob/gocryptfs/issues/927
|
|
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
|
|
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
|
|
|
|
Fixes https://github.com/rfjakob/gocryptfs/issues/783
|
|
$ 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
|
|
Also mention that empty files are stored empty.
|
|
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
|
|
https://github.com/rfjakob/gocryptfs/discussions/918
|
|
|
|
Without this message, fsstress-gocryptfs.bash seems to just hang after Ctrl-C.
|
|
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
|
|
|
|
Error was:
+ go test -c -tags without_openssl -o /dev/null github.com/rfjakob/gocryptfs/v2/tests/defaults
Error: tests/defaults/main_test.go:532:17: undefined: unix.Getdents
Error: tests/defaults/main_test.go:538:16: undefined: unix.Getdents
Error: tests/defaults/main_test.go:549:16: undefined: unix.Getdents
|
|
go-fuse 2.6.0, specifically,
https://github.com/hanwen/go-fuse/commit/e885cea8d4d40a5a9bb92bc3cef7193f2a316f59
introduced a new, file-based directory API while
deprecating the old one.
Switch to the new API.
xfstests generic/035 now passes.
Fixes https://github.com/hanwen/go-fuse/issues/55
|
|
Done using: go get -u github.com/hanwen/go-fuse/v2@master
Upgrading to master because I want
https://github.com/hanwen/go-fuse/commit/216e54932a48254d949871bf07f58d48f5046ec2
and
https://github.com/hanwen/go-fuse/commit/d6170d09d743644ccf6099744e5bad1d2c3e552f
which are not released yet.
Fixes TestSeekDir.
|
|
Done using: go get -u github.com/hanwen/go-fuse/v2
As expected, this breaks TestSeekDir:
gocryptfs/tests/defaults$ go test -run TestSeekDir
test_helpers: warning: testParentDir "/tmp/gocryptfs-test-parent-1026" does not reside on ext4, we will miss failures caused by ino reuse
--- FAIL: TestSeekDir (0.00s)
main_test.go:536: 1st getdents returned 288 bytes
main_test.go:542: 2nd getdents returned 0 bytes
main_test.go:551: operation not supported
FAIL
exit status 1
FAIL github.com/rfjakob/gocryptfs/v2/tests/defaults 0.030s
|
|
Acc. to the commit message,
https://github.com/hanwen/go-fuse/commit/0d1228a39dd49c83c8b7c30dec7928f5d7d84cc0
break seeking in directories. This commit appears in go-fuse v2.6.0.
|
|
Set the SELinux context. See mount(8) for details.
|
|
|