libgocryptfs/internal
Jakob Unterwurzacher 0fa824933c v2api: properly implement Node.Setattr
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-12 20:17:15 +02:00
..
configfile remove Trezor support 2019-12-28 19:50:49 +01:00
contentenc Update go-fuse import path to github.com/hanwen/go-fuse/v2 2020-05-17 14:23:47 +02:00
cryptocore tlog: stop embedding log.Logger to prevent mistakes 2018-02-28 09:02:18 +01:00
ctlsocksrv ctlsock: create exported ctlsock client library 2020-05-09 17:36:41 +02:00
ensurefds012 main: Run 'ensure fds' code early during the program startup. 2019-01-05 16:12:16 +01:00
exitcodes remove Trezor support 2019-12-28 19:50:49 +01:00
fusefrontend v2api: properly implement Node.Setattr 2020-07-12 20:17:15 +02:00
fusefrontend_reverse v2api (go-fuse v2 api): initial noop implementation 2020-06-21 12:01:24 +02:00
inomap inomap: clarify TranslateStat function comment 2020-06-21 12:01:34 +02:00
nametransform badname: stop trying to decrypt at length 22 2020-06-06 12:49:45 +02:00
openfiletable inomap: split into separate package 2020-04-13 14:54:04 +02:00
pathiv pathiv: fix test failure on Go 1.6 2017-05-31 08:21:36 +02:00
readpassword main: accept multiple -passfile options 2020-05-17 19:31:04 +02:00
serialize_reads serialize_reads: drop superflous "continue" 2019-09-08 21:19:44 +02:00
siv_aead siv_aead: create private key copy and implement wiping 2018-02-18 16:01:46 +01:00
speed speed: add XChaCha20-Poly1305-Go 2020-04-13 14:54:04 +02:00
stupidgcm Prefer Go stdlib aes-gcm on arm64 with aes instructions 2020-04-13 22:34:07 +02:00
syscallcompat v2api: remove OpenatUserCtx, MknodatUserCtx helpers 2020-07-11 19:44:45 +02:00
tlog tlog: disable color codes when switching to syslog 2018-10-17 22:34:30 +02:00