libsmbclient and Windows 9X and Windows NT: Some problems.

Matt Peterson mpeterson at calderasystems.com
Wed Feb 14 20:12:20 GMT 2001


Richard,

Thanks for doing the investigation to understand the browsing requirements
for various "compatible" Microsoft SMB implementations.  I can see why
your frustrated.

I am still worried about making nmbd a requirement...  Are you sure that
there is no other way to register a NetBIOS name?  Does this also require
access to a priviledged port?  As for the requirement that the requests
need to originate from port 138, it looks like there is no other choice
but to have nmbd proxy the location of the master browser.

It would be good however if libsmbclient does not *require* nmbd (v2.2.0) 
to be running.   I can think of situations where it would be handy to use
the library but not be able to run nmbd.  Would it be possible to allow
the library to work (at least with Samba and Win2000) in the even that
nmbd can't proxy the local browser discovery?

-- Matt

On Wed, 14 Feb 2001, Richard Sharpe wrote:
> Hi,
> 
> After doing some investigations today on libsmbclient using GetBackupList
> requests to find the local master browser, I have found the following:
> 
> 1. Samba and Windows 2000 are pretty infussed by what they receive, and are
> happy to resond to such requests by looking at the source IP address and
> port number in the datagram sent.
> 
> 2. Windows NT at some service pack, and perhaps all service packs, and
> Windows 9X require that:
> 
>    - The request come from port 138
>    - The sender have a registered NetBIOS name.
> 
> Now, it is pretty hard to satisfy these requirements in libsmbclient, as it
> is a library that will be called by non-root processes.
> 
> That being the case, I am of the opinion that the only solution is:
> 
> 1. Modify nmbd to accept a tdb message SEND_GETBACKUPLIST. I will also have
> to modify libsmbclient to use tdb to send the request to nmbd and retrieve
> the response from the unexpected datagams queue ... or timeout trying.
> 
> This means that it will have the correct from port and there will be a
> registered NetBIOS name.
> 
> 2. Require that the right version of Samba be installed on the client, and
> that nmbd be running.
> 
> I would try to get these changes into Samba 2.2.0 as the changes are
> relatively small. One extra function for nmbd and a small change to main
> for nmbd ...
> 
> Any comments?
> 
> Regards
> -------
> Richard Sharpe, sharpe at ns.aus.com
> Samba (Team member, www.samba.org), Ethereal (Team member, www.ethereal.com)
> Contributing author, SAMS Teach Yourself Samba in 24 Hours
> Author, Special Edition, Using Samba
> 
> 
> 
> 





More information about the samba-technical mailing list