diff options
Diffstat (limited to 'cmd/sharefs/fuse.go')
| -rw-r--r-- | cmd/sharefs/fuse.go | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/cmd/sharefs/fuse.go b/cmd/sharefs/fuse.go index c9b24b27..1a17f800 100644 --- a/cmd/sharefs/fuse.go +++ b/cmd/sharefs/fuse.go @@ -3,12 +3,12 @@ package main /* #cgo pkg-config: --static fuse3 -#include "fuse-helper.h" +#include "fuse-operations.h" #include <stdlib.h> #include <string.h> extern void *sharefs_init(struct fuse_conn_info *conn, struct fuse_config *cfg); -void sharefs_destroy(void *private_data); +extern void sharefs_destroy(void *private_data); typedef void (*closure)(); static inline struct fuse_opt _FUSE_OPT_END() { return (struct fuse_opt)FUSE_OPT_END; }; @@ -202,6 +202,9 @@ func unsafeAddArgument(args *fuseArgs, arg string) { } func _main(argc int, argv **C.char) int { + // don't mask creation mode, kernel already did that + syscall.Umask(0) + args := C.struct_fuse_args{argc: C.int(argc), argv: argv, allocated: 1} // this causes the kernel to enforce access control based on |
