talk help: Ultrix 2.0 <-> SunOS 4.1

Chris Torek torek at elf.ee.lbl.gov
Sun Mar 10 20:44:48 AEST 1991


In article <38998 at netnews.upenn.edu> barkdoll at cattell.psych.upenn.edu
(Edwin Barkdoll) writes:
>	I received the following message after being told of a talk
>request and responding 'otalk [address]':
>
>[Unable to connect with initiator : Address family not supported by
>protocol family (47)]

This occurs because the talk source is horribly broken.  It would have
nothing to do with the protocol, except that the main reason talk is
horribly broken is that the protocol the original author chose lends
itself well to horribly broken source.

Error 47, EAFNOSUPPORT, comes about when one makes a connect() system
call on a TCP socket but passes a sockaddr_in structure in which
sin->sin_family != AF_INET.  Talk (otalk) does this because it takes
whatever its peer sends it and uses it `as is'.  If the bytes do not
match up (and they rarely do), the resulting sockaddr_in is bogus.

The new protocol is better, but the whole approach remains a botch.
Inter-machine communication of this sort should have been done using
TCP in the first place.  (Among other things, this would remove a
whole bunch of code from `talk' itself.)
-- 
In-Real-Life: Chris Torek, Lawrence Berkeley Lab EE div (+1 415 486 5427)
Berkeley, CA		Domain:	torek at ee.lbl.gov



More information about the Comp.unix.questions mailing list