Skip site navigation (1)Skip section navigation (2)
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>