Thursday, April 14, 2022

[WIP] wdfs-fuse

Hello,

I have good news and bad news. The good news is I fixed the umount()
deadlock which affected this port, so now we finally have a FUSE Webdav
implementation working on OpenBSD.

You may download the current Work in Progress Port from here:
https://www.operationalsecurity.es/files/wdfs-fuse.tar.gz

Assuming you have a WebDav server available (such as a Nextcloud
instance) you can launch the command, after installation, like this:

# wdfs https://example.org/remote.php/webdav/ /mnt -o uid=$YOUR_UID -o
allow_other

Notice that root is needed for the above.

Now the bad news:

Superuser powers are needed for mounting and unmounting FUSE
filesystems, so we can't run wdfs with reduced privileges. Also, the
pledge framework does not allow to include mount() and other required
calls in the list of allowed functions, so we can't really use it. Worse
yet, my experiments with unveil() are disappointing so far, since it
seems unveil() is messing up with signal handling.

I am posting this port just in case somebody finds it useful, but since
it runs so much code with high privileges I cannot recommend it for
production. Patches that fix this are welcome.

Cheers!

--
OpenPGP Key Fingerprint:
543F EB89 7FDE 8E33 AFF7 E794 E4AB 4807 58F7 6C76

No comments:

Post a Comment