Date: Sun, 6 Aug 1995 17:36:55 -0700 (PDT) From: "Rodney W. Grimes" <rgrimes@gndrsh.aac.dev.com> To: freebsd-current@FreeBSD.org Subject: Re: workaround for talk's address problem Message-ID: <199508070036.RAA04944@gndrsh.aac.dev.com> In-Reply-To: <199508061603.SAA07779@uriah.heep.sax.de> from "J Wunsch" at Aug 6, 95 06:03:27 pm
next in thread | previous in thread | raw e-mail | index | archive | help
> > talk(1) has problems with multi-homed hosts. To negotiate the > connection with the remote peer, it uses the first address as returned > by a call to gethostbyname(). This will cause the connection to hang > for machines where not all interfaces are reachable from the Internet. > This is often the case for the typical dialup user: he's got a SLIP > interface with (e.g.) 111.222.111.33, and an ethernet interface with > 192.168.3.4. The call to gethostbyname() will cause the name server > to return 192.168.3.4 as the first address (since the name server > believes this is the `most local' one), so talk will only be able to > contact hosts inside the (not externally routed) 192.168.3 network. ... The correct fix here is to do what ftp, telnet or any other TCP cleint does, go to the next address if an error or timout occurs on the current address. When we get to the end of the list of addresses, then exit the program with an error. Adding options to force a negotiation address is not going to make the users happy, but the above surely well. -- Rod Grimes rgrimes@gndrsh.aac.dev.com Accurate Automation Company Reliable computers for FreeBSD
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199508070036.RAA04944>