Besides the FUSE project for GSOC I see two items listed on the http://wiki.winehq.org/SummerOfCode page:
# Better ISO FUSE file system integration # A FUSE wrapper for remote named pipes using libsmbclient
Can anybody elaborate a little bit more on this?
On Tue, Mar 25, 2008 at 9:24 PM, Cesar Izurieta cesar@ecuarock.net wrote:
Besides the FUSE project for GSOC I see two items listed on the http://wiki.winehq.org/SummerOfCode page:
# Better ISO FUSE file system integration
I don't know if the FUSE api supports enumeration of mounts in the VFS but it would be cool if explorer could detect if a FUSE iso mounted filesystem is mounted somewhere in the VFS and auto-magically create a fake cdrom device associated with this mount. It would solve some of the complexity we have in cxtest where you have to mount iso images for regression testing, plus it would just save a bunch of time for stupid installers that assume they are always running from a real cdrom.
Thanks
On Wednesday 26 March 2008 02:24:35 Cesar Izurieta wrote:
Besides the FUSE project for GSOC I see two items listed on the http://wiki.winehq.org/SummerOfCode page:
# Better ISO FUSE file system integration
Steven already took care of this part, so I'll wrap up the next one.
# A FUSE wrapper for remote named pipes using libsmbclient
The goal of this is to be able to do RPC via Windows named pipes to remote machines. Of course the best solution would be to just use libsmbclient from Wine directly, but libsmbclient is under the GPL and Wine is under the LGPL, so that's not going to work.
So the obvious idea is some solution where we can use libsmbclient for what we need without having to link to libsmbclient. FUSE can provide this abstraction.
The idea would be to create a pipe subdirectory of WINEPREFIX and mount our pipefs there. Accessing pipe/server/pipename should connect to \server\pipe\pipename, if possible. One more thing that needs to be supported is mode switching on the named pipe.
I'd suggest to read up on remote named pipes to get a better idea what they're used for.
If you've got any more questions, I'm happy to help. Kai
On Wed, Mar 26, 2008 at 3:42 AM, Kai Blin kai.blin@gmail.com wrote:
On Wednesday 26 March 2008 02:24:35 Cesar Izurieta wrote:
Besides the FUSE project for GSOC I see two items listed on the http://wiki.winehq.org/SummerOfCode page:
# Better ISO FUSE file system integration
Steven already took care of this part, so I'll wrap up the next one.
# A FUSE wrapper for remote named pipes using libsmbclient
The goal of this is to be able to do RPC via Windows named pipes to remote machines. Of course the best solution would be to just use libsmbclient from Wine directly, but libsmbclient is under the GPL and Wine is under the LGPL, so that's not going to work.
So the obvious idea is some solution where we can use libsmbclient for what we need without having to link to libsmbclient. FUSE can provide this abstraction.
The idea would be to create a pipe subdirectory of WINEPREFIX and mount our pipefs there. Accessing pipe/server/pipename should connect to \server\pipe\pipename, if possible. One more thing that needs to be supported is mode switching on the named pipe.
Implementing such a filesystem doesn't seem difficult at all. libsmbclient contains all that is needed and we would only need to map some samba structs to fuse structs. The only real problem that I see is authentication. If we want to use this as a regular filesystem we could mount one pipefs per connection (with authentication information on connect) or provide login and domain information in the path itself (doesn't sound like a good idea)
I'd suggest to read up on remote named pipes to get a better idea what they're used for.
If you've got any more questions, I'm happy to help. Kai
-- Kai Blin WorldForge developer http://www.worldforge.org/ Wine developer http://wiki.winehq.org/KaiBlin Samba team member http://www.samba.org/samba/team/ -- Will code for cotton.