case sensitive hostnames?
Tim Potter
tpot at valinux.com
Sat Jun 16 00:14:29 GMT 2001
Joe Doran writes:
> Funny you should bring this up.... :-).
>
> I have been looking at a problem of NT printing hanging in SCO
> openserver. I can now confirm the culprit.
> I have been looking at function static BOOL internal_resolve_name(). In
> it it parses tokens of hosts,lmhosts,wins, bcast ie the default search
> order.
The default search order is actually lmhosts, hosts, wins, bcast
but that doesn't matter in this case.
> However our DNS lookups are broken, and gethostbyname is possibly not
> fully qualified. Part of the print client handshake, appears to looking
> for the clients IP address. As the dns hangs and takes around 15/20
> seconds to return error, the client hangs and keeps retrying. Thereby
> the function never hits WINS lookup which would resolve the name. The
> result is that mounting RPC's appear to hang samba and eat up resources.
> I am hoping that my Temporary solution: shift name lookup order (fix
> broken DNS eventually :-) ) will reduce my resource problems ie
> NSTREAMS, and inet addr problems. So far, this afternoon at least it
> appears this way. I will get a better picture when I get back to the
> office on Monday.
>
> Anyone else any comment on this?
Aha! This is exactly the case that I am interested in. The
resolve_hosts() function called when a hostname is to be looked
up using the hosts method eventually calls Get_Hostbyname(). Now
this function tries the hostname as it is passed in, then all
lowercase then all uppercase. I want to get rid of the last two
checks because they only make the timeout worse when you have a
broken dns server.
But code has to be there for a reason right? (-: The bit of
code that does case sensitive dns lookups predates the use of CVS
in Samba. From the changelog:
1.6.09: 4/5/94
[...]
- wrapped gethostbyname() with Get_Hostbyname() to prevent
case sensitive problems on name lookups
So I asked Andrew why he put this code in and he couldn't
remember. (-:
I think I'll trash Get_Hostbyname and replace it with
sys_gethostbyname()
Tim.
More information about the samba-technical
mailing list