[linux-cifs-client] Re: RFC 1001/1002 support

Christopher R. Hertel crh at ubiqx.mn.org
Mon Apr 26 18:07:58 GMT 2004


I'm CC'ing Mike and Juan from the Wine project.

Mike, Juan, Steve French is the author of the CIFS VFS for Linux.  We're 
talking about the NBT kernel module idea...

On Mon, Apr 26, 2004 at 12:37:27PM -0500, Steve French wrote:
> > All of that is stuff we'll have to handle if we create a NBT kernel 
> > module for Linux (a long term goal I'm working on with some Wine-folk
> 
> If you all propose an ioctl or /proc/fs calling interface, I would be
> happy to add APIs callable from userspace apps.for the session service. 
> Security, and collisions with the kernel client have to be thought
> through since there are some denials of service that can be possible
> with this API..

We've talked about implementing both a NetBIOS-like API and socket type
API.  I can't remember offhand which would ride on top of which but one of 
them (probably the NetBIOS-like API) would likely be a library on top of 
the other.  If we can pull this off, we would very much like both Samba 
and the CIFS VFS to use this layer.

> There had been a mapping in various IBM operating systems from Sockets
> API over Netbios frame protocol (and presumably could be done for
> SocketsAPI over RFC1001) but I doubt that this is interesting anymore -
> especially to Linux people anymore, but there might be a case for
> another API mapping into kernel.

I think there is.  It would make porting software from OS/2 and Windows 
easier and I have had a few requests (not many, not that often, but I've 
seen 'em).  I'll let Juan and Mike speak to the issues of Wine competing 
with Samba and/or Linux SMB clients.

> For the other services (other than the session service) ... The
> register/unregister name (and the name service and datagram service API
> in general) would be easy enough to add a piece at a time.

Yes.  That's the plan.

> A header file, rfc1002pdu.h, is now in the kernel source to include the
> definitions of the protocol data units for RFC1002 frames and commands
> (although I have only included the session service for the moment). If
> you don't want to put your code in the fs/cifs directory, we may want to
> move that file and any other shared headers to the common include
> directory.

I will take a look at the file.  We may want to rethink things from a more
NetBIOS-centric perspective.  There is a NetBEUI kernel module out there.  
We're looking at reworking it so that it matches the NBT module design.  
The hope is that the two can be made compatible and, therefore,
interchangable as they are in Windows.

> As with many other parts of the kernel, getting the user space callable
> API right is half the battle although in your case you may already have
> what you want speced from the Wine team (in effect the Windows flavor of
> the NCB API presumably)

Thanks, Steve!

Chris -)-----

-- 
"Implementing CIFS - the Common Internet FileSystem" ISBN: 013047116X
Samba Team -- http://www.samba.org/     -)-----   Christopher R. Hertel
jCIFS Team -- http://jcifs.samba.org/   -)-----   ubiqx development, uninq.
ubiqx Team -- http://www.ubiqx.org/     -)-----   crh at ubiqx.mn.org
OnLineBook -- http://ubiqx.org/cifs/    -)-----   crh at ubiqx.org


More information about the linux-cifs-client mailing list