[jcifs] Problems with Wins Resolution
Christopher R. Hertel
crh at ubiqx.mn.org
Wed Sep 25 02:52:24 EST 2002
On Tue, Sep 24, 2002 at 06:08:45PM +0200, andrea.lanza at frameweb.it wrote:
> Hi, I am new to jcifs...(pls. don't be too severe with me !)
> I succeded in developing a servlet to browse my network via browser.
> My problem is this: if I query for an host or a domain name or a group name
> registered in Wins server , everything is OK
> But if I just query for smb:// in order to obtain the list of workgroups
> from the master browser, I only get a:
> java.net.UnknownHostException: ..__MSBROWSE__.<01>
That means that there is no Local Master Browser--for any
workgroup/NT-Domain--on the subnet on which the webserver is located.
> In my WINS Server I see the rigth entry, registered with the correct 16th
> character of the NetBIOS name.
Which right entry? Which suffix?
You may see the \01\02__MSBROWSE__\02<01> name listed in the WINS
database, but it will have an IP address of 255.255.255.255.
If you use the SMB:// URL string, the client (jCIFS in this case) is
given no default workgroup/NT-Domain to query. The only thing it can do
is to query the local LAN and the only name it knows to look for is
\01\02__MSBROWSE__\02<01>. If there are no Local Master Browers on the
local LAN, then it won't find any node to ask and it will return the
exeption you saw.
> Moreover, If I query a workgroup name or a domain name or an host name, I
> see the statistics increasing in my wins server (number of total query,
> number of resolved query, ...)
> But if I query the master browser nothing happens, there is no increase,
> and I assume that no queries are sent to and/or received from the wins
Sending a query to the WINS server for the \01\02__MSBROWSE__\02<01> name
is pointless, since it is a group name and WINS (incorrectly, but
consistently) will return 255.255.255.255. Mike may have built in a
short-cut to prevent jCIFS from wasting time querying for this name.
Likewise, the workgroup<1D> name is a "special case". WINS never answers
query for the Local Master Browser name. It's a kludge, but it's what
WINS does. Samba does it to, just to be WINS compatible. Again, Mike may
have added a short-cut to prevent queries to WINS for the <1D> name, since
they always return Name Not Found.
[Mike: Just a note... If the client is operating in P mode, then it
*cannot* find the LMB. A node in P mode will never be able to
resolve "SMB://" unless there is a default workgroup defined
somewhere outside of the URL string itself, in which case the
client can query the DMB.]
You might be able to solve the problem by setting the
jcifs.smb.client.domain property to point to a PDC (any PDC) in your
Mike: correct me if I'm wrong, but by setting this property I *think* that
jCIFS will be able to contact the DMB for the given NT-Domain. If
my guess is right (remembering some now-ancient e'mails on the
list), if the NT-Domain is set jCIFS will try querying the Domain
Master Browser (the <1B> name) for the browse list.
> I try to configure the wins property in two ways:
> 1st way) setting -Dwins=192.168.69.6 argument in my java servlet engine
> (I am using IBM WebSphere 3.5.6)
> 2nd way) using jcifs.Config.setProperty("jcifs.netbios.wins",
> "192.168.69.6") BEFORE using any other jcifs class
> no matter the way, the result is the same.
The problem isn't in your WINS setup. It's the broken design of CIFS
browsing system that is tripping you up.
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 jcifs