libgocryptfs/internal/fusefrontend
Sebastian Lackner 5055f39bd5 fusefrontend: Allow to set/remove xattr on directory without read permission.
Setting/removing extended attributes on directories was partially fixed with
commit eff35e60b6. However, on most file systems
it is also possible to do these operations without read access (see tests).

Since we cannot open a write-access fd to a directory, we have to use the
/proc/self/fd trick (already used for ListXAttr) for the other operations aswell.
For simplicity, let's separate the Linux and Darwin code again (basically revert
commit f320b76fd1), and always use the
/proc/self/fd trick on Linux. On Darwin we use the best-effort approach with
openBackingFile() as a fallback.

More discussion about the available options is available in
https://github.com/rfjakob/gocryptfs/issues/308.
2019-01-05 12:34:40 +01:00
..
args.go reverse mode: add --exclude option 2018-08-11 23:26:49 +02:00
ctlsock_interface.go fusefrontend: Use appropriate flags in decryptPathAt. 2019-01-03 18:24:05 +01:00
dircache.go A few more spelling fixes. 2019-01-05 12:27:55 +01:00
file_allocate_truncate.go fusefrontend: Allow to create sparse file of size 4096. 2019-01-04 01:38:47 +01:00
file_holes.go fusefrontend: doWrite: delete file header if first write fails 2018-07-15 15:12:55 +02:00
file.go fusefrontend: Fix debug message in doWrite() method. 2019-01-01 16:12:42 +01:00
fs_dir.go fusefrontend: Open directory with syscall.O_DIRECTORY in OpenDir. 2019-01-03 18:24:05 +01:00
fs.go fusefrontend: print warning when Create() runs out of file descriptors 2019-01-04 23:15:04 +01:00
openbackingdir_test.go fusefrontend: Remove debug code. 2019-01-03 18:24:05 +01:00
openbackingdir.go Omit syscall.O_RDONLY flag when passing O_PATH. 2019-01-03 18:24:05 +01:00
xattr_darwin.go fusefrontend: Allow to set/remove xattr on directory without read permission. 2019-01-05 12:34:40 +01:00
xattr_linux_unit_test.go Improved xattr handling on non-linux systems (#227) 2018-04-17 20:33:04 +02:00
xattr_linux.go fusefrontend: Allow to set/remove xattr on directory without read permission. 2019-01-05 12:34:40 +01:00
xattr_unit_test.go fusefrontend: make openBackingDir() symlink-safe 2019-01-01 16:24:09 +01:00
xattr.go fusefrontend: Allow to set/remove xattr on directory without read permission. 2019-01-05 12:34:40 +01:00