Okay, I've dug into this a little further (as far in as the debugger seemed to want to let me step in), and have at least got to the point where the behavior diverges in FreePascal vs. Kylix.
In FreePascal, the actual call to resolve the host name is on line 688 of ssfpc.pas, a call to "ResolveName" in GetAddr, a function in SetVarSin. After this line is executed, I can see the DNS request go out to my DNS server, which returns back the actual address of the host name, which gets populated into the in_addr record. In Kylix, I end up in sslinux.pas, in GetAddr in SetVarSin, on line 887, a call to synsock.GetAddrInfo. Unlike the call to ResolveName in the FreePascal code, stepping over this line in the debugger does NOT make a request to the DNS server as long as the host in question is in /etc/hosts. If I take the line out of /etc/hosts, then GetAddrInfo DOES make a DNS request. So that seems to be the difference: In the FreePascal code, ResolveName is being called, which makes a DNS request whether or not the entry is in /etc/hosts. In Kylix, GetAddrInfo only makes the DNS request if the entry is not present in /etc/hosts. -SG ======================== Computer over. Virus = very yes. Seth Grover sethdgrover[at]gmail[dot]com ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ synalist-public mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/synalist-public
