smb://

Steve Langasek vorlon at netexpress.net
Thu Dec 28 22:54:18 GMT 2000


On Thu, 28 Dec 2000, Christopher R. Hertel wrote:

> I think we are trying to solve the same problem and that our solutions are
> not far off.  Let me know if anyone knows any reason why my suggestion
> that the browsing service be considered a special case won't work. 

> Again:

>   smb://
>   - Provides a list of workgroups and ntdomains.

>   smb://name/
>   - If <name> is a server name (responds to name#20) then list the available
>     shares on that server.
>   - If <name> is a workgroup/ntdomain name (responds to name#1d) then 
>     ennumerate the browse list.
>   - If <name> is a DNS name or IP address then assume it is a file server
>     (I think you have to do a reverse lookup anyway).

>   smb://name/service/...
>   - Any time you have a service specified you know that <name> is a server.

> How'm I doin?

As long as a workgroup name and a server name are guaranteed to never collide,
then this sounds workable.

There's one scenario I'm still concerned may pose a practical problem, I'm
hoping someone can tell me if this is a real danger or not.  Most SMB clients
on a Netbios network that spans subnets are hybrid nodes; they will query a
WINS server, and fall back to broadcast if the name is not found.  However,
particularly on networks lacking centralized IT (e.g., university networks),
it's possible to have a hybrid node that shares a subnet with (misconfigured)
broadcast nodes.  If a machine on a remote subnet registers the server name
BLEE with the WINS server, and a machine on the local subnet declares itself
the LMB for workgroup BLEE, then I believe existing clients will be able to
ignore the conflict and see both workgroup BLEE and server BLEE.  If we
overload <name> in the URL smb://<name>/ to mean
either-a-workgroup-or-a-server,-depending, then one of the two above will not
be addressable with a URL (well, unless you default to workgroup and address
the server by name).

This is a pathological scenario, but I know first-hand that there are plenty
of pathological Windows networks out there in the world.  Question is, does
this configuration work with existing clients, and if so, what do we do about
it?  Do we ignore the problem and blame it on the broken network, or do we
adapt the URL syntax so that we never have to query the network to resolve an
ambiguity?

Steve Langasek
postmodern programmer





More information about the samba-technical mailing list