summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-08-01v2api/reverse: implement Lookup & GetattrJakob Unterwurzacher
2020-08-01v2api/reverse: start fusefrontend_reverse v2 API implementationJakob Unterwurzacher
2020-08-01v2api/reverse: move old fusefrontend_reverse out of the wayJakob Unterwurzacher
fusefrontend_reverse -> fusefrontend_reverse_v1api
2020-08-01fusefrontend_reverse: collapse getFileTypeJakob Unterwurzacher
2020-08-01v2api: move helpers from node.go to node_helpers.goJakob Unterwurzacher
2020-07-29getdents_c: continue on EINTR from openJakob Unterwurzacher
Getting EINTR here is acceptable.
2020-07-29Revert "getdents_c: read from two threads"Jakob Unterwurzacher
This made the code more complicated without reproducing the problem. This reverts commit 77632b7554000f2e832a0e9fded1a3894b2502c3.
2020-07-27v2api: pass fusedebug option via MountOptionsJakob Unterwurzacher
srv.SetDebug() is deprecated and only enables the debug output after the init sequence, so we missed the first few transaction in the debug output.
2020-07-26stress_tests: run pingpong.bash at nice level 19Jakob Unterwurzacher
Like extractloop.bash.
2020-07-26v2api: fix missing size translation in LookupJakob Unterwurzacher
2020-07-26v2api: delete (most) fusefrontend v1 filesJakob Unterwurzacher
All the functionality in these files has been reimplemented for the v2 api. Drop the old files.
2020-07-23go.mod: update to go-fuse masterJakob Unterwurzacher
We need the read-only fix from go-fuse master.
2020-07-23v2api: implement LseekJakob Unterwurzacher
This also fixes the last remaining tests/fsck failure.
2020-07-19v2api: fsck: use a temporary mountJakob Unterwurzacher
Directly accessing the Nodes does not work properly, as there is no way to attach a newly LOOKUPped Node to the tree. This means Path() does not work. Use an actual mount instead and walk the tree.
2020-07-19v2api: Lookup: use newChild() helperJakob Unterwurzacher
2020-07-19v2api: enable go-fuse warnings on mount & fsckJakob Unterwurzacher
2020-07-18v2api: make fsck compile againJakob Unterwurzacher
Horribly broken, but it compiles. .../tests/fsck$ ./run_fsck.bash Reading password from extpass program "echo", arguments: ["test"] Decrypting master key OpenDir ".": invalid entry "invalid_file_name.3": illegal base64 data at input byte 17 OpenDir ".": invalid entry "invalid_file_name_2": bad message fsck: corrupt entry in dir "": "invalid_file_name.3" fsck: corrupt entry in dir "": "invalid_file_name_2" OpenDir ".": invalid entry "invalid_file_name____1": bad message fsck: corrupt entry in dir "": "invalid_file_name____1" fsck: error stating file ".go-fuse.5577006791947779410/deleted": no such file or directory fsck: error listing xattrs on ".go-fuse.13260572831089785859/deleted": no such file or directory fsck: error opening dir "i10488239 (dir): ": no such file or directory fsck: error reading symlink ".go-fuse.10667007354186551956/deleted": no such file or directory fsck: error listing xattrs on ".go-fuse.11998794077335055257/deleted": no such file or directory [...]
2020-07-18v2api: Node: make Path() publicJakob Unterwurzacher
Helpful for fsck.
2020-07-17v2api: implement ctlsocksrv.InterfaceJakob Unterwurzacher
2020-07-14v2api: implement Getxattr, Setxattr, Removexattr, ListxattrJakob Unterwurzacher
gocryptfs/tests/xattr passes.
2020-07-12v2api: Setattr: fill `out` structureJakob Unterwurzacher
2020-07-12tests: TestMagicNames: add warmup roundsJakob Unterwurzacher
Chasing a bug that seems to have nothing to do with magic names, as it already triggers during warmup: --- FAIL: TestMagicNames (0.00s) matrix_test.go:773: Testing n="warmup1" matrix_test.go:773: Testing n="warmup2" matrix_test.go:820: no such file or directory
2020-07-12v2api: set NullPermissions = trueJakob Unterwurzacher
Don't let go-fuse mess úp 0000 permissions.
2020-07-12v2api: fix MkfifoJakob Unterwurzacher
2020-07-12v2api: properly implement Node.SetattrJakob Unterwurzacher
We used to always open a *File2 and letting the *File2 handle Setattr. This does not work it we cannot open the file! Before: $ go test 2020/07/12 20:14:57 writer: Write/Writev failed, err: 2=no such file or directory. opcode: INTERRUPT 2020/07/12 20:14:57 writer: Write/Writev failed, err: 2=no such file or directory. opcode: INTERRUPT --- FAIL: TestLchown (0.00s) matrix_test.go:634: lchown /tmp/gocryptfs-test-parent-1026/014500839/default-plain/symlink: too many levels of symbolic links touch: setting times of '/tmp/gocryptfs-test-parent-1026/014500839/default-plain/utimesnano_symlink': Too many levels of symbolic links --- FAIL: TestUtimesNanoSymlink (0.00s) matrix_test.go:655: exit status 1 --- FAIL: TestMkfifo (0.00s) matrix_test.go:755: file exists --- FAIL: TestMagicNames (0.00s) matrix_test.go:773: Testing n="gocryptfs.longname.QhUr5d9FHerwEs--muUs6_80cy6JRp89c1otLwp92Cs" matrix_test.go:773: Testing n="gocryptfs.diriv" matrix_test.go:815: open /tmp/gocryptfs-test-parent-1026/014500839/default-plain/linktarget: permission denied --- FAIL: TestChmod (0.00s) matrix_test.go:840: chmod 444 -> 000 failed: permission denied matrix_test.go:840: chmod 444 -> 111 failed: permission denied matrix_test.go:840: chmod 444 -> 123 failed: permission denied matrix_test.go:840: chmod 444 -> 321 failed: permission denied FAIL exit status 1 FAIL github.com/rfjakob/gocryptfs/tests/matrix 0.790s After: $ go test --- FAIL: TestMkfifo (0.00s) matrix_test.go:755: file exists --- FAIL: TestMagicNames (0.00s) matrix_test.go:773: Testing n="gocryptfs.longname.QhUr5d9FHerwEs--muUs6_80cy6JRp89c1otLwp92Cs" matrix_test.go:773: Testing n="gocryptfs.diriv" matrix_test.go:815: open /tmp/gocryptfs-test-parent-1026/501766059/default-plain/linktarget: permission denied --- FAIL: TestChmod (0.00s) matrix_test.go:849: modeHave 0644 != modeWant 0 FAIL exit status 1 FAIL github.com/rfjakob/gocryptfs/tests/matrix 0.787s
2020-07-12v2api: Getattr: use file handle if passedJakob Unterwurzacher
2020-07-12v2api: Getattr: fix file sizeJakob Unterwurzacher
2020-07-12v2api: call InitSerializerJakob Unterwurzacher
If we don't, reads hang with -serialize_reads.
2020-07-12v2api: fix Rename trying to overwrite itselfJakob Unterwurzacher
We used to do this [pid 99182] renameat2(14, "Y_4DAxKvj1QnXmJx2AkrKA", 15, ".", RENAME_NOREPLACE <unfinished ...> which was not the intention.
2020-07-12tests: fix TestCpWarnings comment typoJakob Unterwurzacher
2020-07-12tests: don't crash on empty Flistxattr resultJakob Unterwurzacher
2020-07-12v2api: fix Mkdir crash when using plaintextnamesJakob Unterwurzacher
2020-07-12v2api: fix double-lock in truncateJakob Unterwurzacher
2020-07-12v2api: File2: implement Release, Read, Write, Fsync, Flush, AllocateJakob Unterwurzacher
Fortunately, this just means fixing up the function signatures.
2020-07-11v2api: fix RootNode castJakob Unterwurzacher
2020-07-11v2api: fix TestOpenBackingDirJakob Unterwurzacher
2020-07-11v2api: implement RenameJakob Unterwurzacher
2020-07-11v2api: remove OpenatUserCtx, MknodatUserCtx helpersJakob Unterwurzacher
Instead, use the new toFuseCtx() function introduced in an earlier commit.
2020-07-11v2api: implement SymlinkJakob Unterwurzacher
2020-07-11v2api: implement LinkJakob Unterwurzacher
2020-07-11v2api: implement MknodJakob Unterwurzacher
2020-07-11v2api: implement StatfsJakob Unterwurzacher
2020-07-08v2api: fix crash on umountJakob Unterwurzacher
fs.Mount already called srv.Serve() for us.
2020-07-05v2api: list interfaces to be implementedJakob Unterwurzacher
2020-07-05v2api: implement SetattrJakob Unterwurzacher
2020-07-05v2api: implement OpendirJakob Unterwurzacher
2020-07-04v2api: merge openBackingDir into root_node.goJakob Unterwurzacher
2020-07-04v2api: implement Open()Jakob Unterwurzacher
2020-07-04v2api: add prepareAtSyscall helperJakob Unterwurzacher
2020-07-04v2api: implement ReadlinkJakob Unterwurzacher