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.