[comp.unix.questions] SunOS 4.1 talk

vd09+@andrew.cmu.edu (Vincent M. Del Vecchio) (04/08/91)

Apologies if this is an FAQ, or doesn't belong in this newsgroup, but what did
Sun do to talk in recent versions of SunOS?  It seems totally incompatible with
the Berkeley version.  Does anyone have specs (or, better yet, source) for the
new protocol?

rvdp@cs.vu.nl (Ronald van der Pol) (04/09/91)

vd09+@andrew.cmu.edu (Vincent M. Del Vecchio) writes:

>Apologies if this is an FAQ, or doesn't belong in this newsgroup, but what did
>Sun do to talk in recent versions of SunOS?  It seems totally incompatible with
	Nothing, that's the problem :-)
>the Berkeley version.  Does anyone have specs (or, better yet, source) for the
>new protocol?
	SunOS still uses the 'old talk' (port 517). Berkeley now uses
	'ntalk' (port 518). They won't talk to each other. You may
	want to install talkd which listens on port 517 and ntalkd
	which listens on port 518. You too have to install both talk
	and ntalk in your bin-directory. 


--
	Ronald van der Pol    <rvdp@cs.vu.nl>

guy@auspex.auspex.com (Guy Harris) (04/10/91)

>Apologies if this is an FAQ, or doesn't belong in this newsgroup, but what did
>Sun do to talk in recent versions of SunOS?

As indicated by the other respondent, the answer is "nothing".

>It seems totally incompatible with the Berkeley version.

It should be compatible with the 4.2BSD version; unfortunately, it's
incompatible with the 4.3BSD version.

>Does anyone have specs (or, better yet, source) for the new protocol?

Check out the "AT&T-free BSD source" archive on "uunet.uu.net" (and
possibly other machines).

mrapple@quack.sac.ca.us (Nick Sayer) (04/10/91)

I recently grabbed the in.talkd and talk sources from bsd-sources on
uunet.uu.net, but they won't compile. The trouble is that SunOS 4.1.1
doesn't define the structure "osockaddr". Does anyone know what
include file I can snarf from uunet, or the format of this struct
so I can stick it in a local "patch.h" I include in
<protocols/talkd.h>?

-- 
Nick Sayer              | Think of me as a recombinant    | RIP: Mel Blanc
mrapple@quack.sac.ca.us | Simpson: Homer's looks, Lisa's  |   1908-1989
N6QQQ  [44.2.1.17]      | brains, Bart's manners, and     |  May he never
209-952-5347 (Telebit)  | Maggie's appetite for TV.  --Me |  be silenced.

jik@athena.mit.edu (Jonathan I. Kamens) (04/10/91)

In article <kQ0Ycqx@quack.sac.ca.us>, mrapple@quack.sac.ca.us (Nick Sayer) writes:
|> I recently grabbed the in.talkd and talk sources from bsd-sources on
|> uunet.uu.net, but they won't compile. The trouble is that SunOS 4.1.1
|> doesn't define the structure "osockaddr". Does anyone know what
|> include file I can snarf from uunet, or the format of this struct
|> so I can stick it in a local "patch.h" I include in
|> <protocols/talkd.h>?

  The bsd-sources on uunet.uu.net are designed to work with the 4.3reno header
files and library, which has stuff that isn't in SunOS 4.1.1.

  Grab the version of talk in /pub/bsd-sources/ucb/talk.tar.Z and talkd in
/pub/bsd-sources/etc/talkd.tar.Z on gatekeeper.dec.com.  That's the 4.3bsd
version, which should compile fine under SunOS, although I had to make the
patches at the end of this message to it, because htonl, ntohl, etc. are
noop macros defined in <netinet/in.h>, rather than library functions, on my
system.

-- 
Jonathan Kamens			              USnail:
MIT Project Athena				11 Ashford Terrace
jik@Athena.MIT.EDU				Allston, MA  02134
Office: 617-253-8085			      Home: 617-782-0710
-- 
*** /tmp/,RCSt1022155	Tue Apr  9 23:23:55 1991
--- talkd/print.c	Tue Apr  9 23:22:36 1991
***************
*** 24,30 ****
  #include <stdio.h>
  #include <syslog.h>
  #include <sys/param.h>
! 
  #include <protocols/talkd.h>
  
  static	char *types[] =
--- 24,30 ----
  #include <stdio.h>
  #include <syslog.h>
  #include <sys/param.h>
! #include <netinet/in.h>
  #include <protocols/talkd.h>
  
  static	char *types[] =
*** /tmp/,RCSt1022155	Tue Apr  9 23:24:04 1991
--- talkd/table.c	Tue Apr  9 23:21:38 1991
***************
*** 31,36 ****
--- 31,37 ----
  #include <sys/time.h>
  #include <syslog.h>
  #include <sys/param.h>
+ #include <netinet/in.h>
  
  #include <protocols/talkd.h>
  
*** /tmp/,RCSt1022165	Tue Apr  9 23:24:24 1991
--- talk/get_names.c	Tue Apr  9 23:19:48 1991
***************
*** 19,27 ****
  static char sccsid[] = "@(#)get_names.c	5.5 (Berkeley) 6/29/88";
  #endif /* not lint */
  
! #include "talk.h"
  #include <sys/param.h>
- #include <protocols/talkd.h>
  #include <pwd.h>
  
  char	*getlogin();
--- 19,26 ----
  static char sccsid[] = "@(#)get_names.c	5.5 (Berkeley) 6/29/88";
  #endif /* not lint */
  
! #include "talk_ctl.h"
  #include <sys/param.h>
  #include <pwd.h>
  
  char	*getlogin();

khera@thneed.cs.duke.edu (Vick Khera) (04/10/91)

In article <1991Apr10.032308.802@athena.mit.edu> jik@athena.mit.edu (Jonathan I. Kamens) writes:

     Grab the version of talk in /pub/bsd-sources/ucb/talk.tar.Z and talkd in
   /pub/bsd-sources/etc/talkd.tar.Z on gatekeeper.dec.com.  That's the 4.3bsd
   version, which should compile fine under SunOS, although I had to make the
   patches at the end of this message to it, because htonl, ntohl, etc. are
   noop macros defined in <netinet/in.h>, rather than library functions, on my
   system.
   [patches deleted]

i'm not sure if the version out on gatekeeper is the same as the pure
4.3BSD tapes we have, but i needed to make the following change to the
error messages correspond with the order in protocols/talkd.h.  this
otherwise compiled just fine on our SunOS 4.1 system and works well
talking to other sun's running ntalk and to a decstation running ntalk.

*** /tmp/RCSAa06378	Wed Apr 10 12:31:39 1991
--- invite.c	Tue Mar 26 12:26:41 1991
***************
*** 92,102 ****
  }
  
  static	char *answers[] = {
  	"Your party is not logged on",			/* NOT_HERE */
  	"Target machine does not recognize us",		/* MACHINE_UNKNOWN */
  	"Target machine can not handle remote talk",	/* UNKNOWN_REQUEST */
- 	"Target machine is too confused to talk to us",	/* FAILED */
- 	"Your party is refusing messages",		/* PERMISSION_REFUSED */
  	"Target machine indicates protocol mismatch",	/* BADVERSION */
  	"Target machine indicates protocol botch (addr)",/* BADADDR */
  	"Target machine indicates protocol botch (ctl_addr)",/* BADCTLADDR */
--- 92,103 ----
  }
  
  static	char *answers[] = {
+ 	"",						/* SUCCESS */
  	"Your party is not logged on",			/* NOT_HERE */
+ 	"Target machine is too confused to talk to us",	/* FAILED */
  	"Target machine does not recognize us",		/* MACHINE_UNKNOWN */
+ 	"Your party is refusing messages",		/* PERMISSION_DENIED */
  	"Target machine can not handle remote talk",	/* UNKNOWN_REQUEST */
  	"Target machine indicates protocol mismatch",	/* BADVERSION */
  	"Target machine indicates protocol botch (addr)",/* BADADDR */
  	"Target machine indicates protocol botch (ctl_addr)",/* BADCTLADDR */
--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Vick Khera, Gradual Student/Systems Guy   Department of Computer Science
ARPA:   khera@cs.duke.edu                 Duke University
UUCP:   ...!mcnc!duke!khera               Durham, NC 27706     (919) 660-6528