Greetings, I have been working on adding the ability to expose local file systems to a remote instance of qemu. I have decided that since there is already a connection from the client to the VM with the RFB protocol that I want to extend that. I have spent some time researching the current approaches that VNC uses to transfer files between the client and the host and none of them seem to offer a solution I like. The NFS approach is too cumbersome at this point, and transferring entire files to the host before they are accessed is also prohibitive. So I started on the following approach:
http://www.geiseri.com/sharedfolderspec/sharedfolderspec.html This approach is a bit different in the way that the server initiates all file access, and it accesses data from the client on demand. This is done via a block based approach so only the desired data is read from the client's file system. Also I tried to make the messages mesh well with the API's of Microsoft's file system driver and the FUSE file system driver. The goal being that the VNC session would expose these shares as part of the local file system. Since the implementation I am working against on qemu only supports the vfat file systems I have mirrored most of the behavior against that. The only casualties so far have been symbolic links, special files (sockets, devices, etc), user ids and group ids. For 99% of the applications out there this should not be an issue. Please someone correct me if I am mistaken though. My main use case is to share my local USB key with my VM. I am looking for feedback from other VNC implementors to see if they are willing to entertain this extension. It would be nice if there was a way to share client data with the host similar to how Microsoft does it with their terminal services. (For those of you who have worked with the RDP protocol this is going to look eerily familiar) I think this might compete with some VNC server vendor's paid offerings, but it would be nice to have a common way to do this. I hope they do not feel threatened and consider this extension as an option. Lastly those of you who are interested enough to provide feedback, my technical writing skills are sketchy at best, so please ignore grammar and spelling mistakes for now. I am open to hints on how to clarify wording though. I am most interested in how server implementers see this fitting into their architecture. At the bottom of the html page there is a link to the restructured text file. Please make any edits to it and send me unified diffs so I can merge in any feedback. Thanks for reading this long email. -ian reinhart geiser ------------------------------------------------------------------------------ ThinkGeek and WIRED's GeekDad team up for the Ultimate GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the lucky parental unit. See the prize list and enter to win: http://p.sf.net/sfu/thinkgeek-promo _______________________________________________ tigervnc-rfbproto mailing list tigervnc-rfbproto@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/tigervnc-rfbproto