client: browse doesn't work with only win98 in workgroup

Derrell.Lipman at UnwiredUniverse.com Derrell.Lipman at UnwiredUniverse.com
Sat Mar 1 20:41:04 GMT 2003


"Christopher R. Hertel" <crh at ubiqx.mn.org> writes:

> Derrell,
>
> Can you give me a better idea of what you are trying to do?
>
> Above, you say you are trying to find all hosts that are members of a given
> workgroup.  The question is: why?  What is it that you are actually trying
> to accomplish?

I'm working on providing a tree-style view of the network in a fashion similar
to what Windows Explorer does.  The top level of an SMB/CIFS network is
something like "Microsoft Windows Network".  The next level down is the list
of workgroups/domains within the network; then the hosts within each
workgroup; then the shares within each share, etc.  I don't know what version
of Windows will be the master browser, and I don't want to force it by using
Samba as the master browser.  Therefore I have to be able to enumerate the
hosts within a workgroup regardless of what versions of Windows happen to be
on the network.

> Keep in mind that there is a *very* big difference between the set of hosts
> that are members of a workgroup and the set of servers offering services
> within that workgroup.  Two distinct systems are used to gather those two
> lists.

The latter works fine.  If I already know the host name, I can see the shares
on that host.

The problem is enumerating the hosts within a workgroup.  In the case of
smbwrapper and smbsh, one is supposed to be able to do:

  ls /smb

to see the list of workgroups/domains, and

  ls /smb/WORKGROUP

to see the list of hosts within the workgroup "WORKGROUP", and

  ls /smb/WORKGROUP/HOST

to see a list of shares on the computer called "HOST".

All of these work with the method implemented in smbwrapper, except for
enumerating the list of hosts within a workgroup where the master browser for
the workgroup is a Windows 98 or Windows 95 machine.  If there is a Windows
2000 server acting as the master browser for the workgroup, then obtaining the
list of hosts within the workgroup works fine.  However, the
cli_session_request() call fails (gets a result of 0x83 from the peer) when
the master browser is a win98 machine, so the list of hosts within the
workgroup is therefore unavailable.

Does this help clarify the problem?  If not, please query me again and I'll
try to explain differently.

Thanks for your help!

Derrell


More information about the samba-technical mailing list