Subject: bin/677: talkd still uses osockaddr
To: None <gnats-admin@NetBSD.ORG>
From: Andrew Wheadon <andrew@wipux2.wifo.uni-mannheim.de>
List: netbsd-bugs
Date: 01/02/1995 07:05:04
>Number:         677
>Category:       bin
>Synopsis:       talkd is still using the osockaddr
>Confidential:   yes
>Severity:       non-critical
>Priority:       low
>Responsible:    bin-bug-people (Utility Bug People)
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Mon Jan  2 07:05:02 1995
>Originator:     Andrew Wheadon
>Organization:
The cost of living hasn't affected it's popularity. (unknown)
current	release=doc host=wipux2.wifo.uni-mannheim.de \ "NetBSD-current mirror"
hostbase=/mit/ftp/pub/NetBSD base=/usr prefix=/usr backup delete use-rel-suffix
>Release:        1.1.1995
>Environment:
	
System: NetBSD wipux2.wifo.uni-mannheim.de 1.0A NetBSD 1.0A (WIPUX) #0: Fri Dec 30 14:54:51 MET 1994 toor@wipux2.wifo.uni-mannheim.de:/src/src/sys/arch/i386/compile/WIPUX i386


>Description:
	/usr/libexec/talkd includes /usr/include/protocols/talkd.h
	which defines the structure of CTL_MSG to be 
----------
/* !_TALKD_H_ */
typedef struct {
	u_char	vers;		/* protocol version */
	u_char	type;		/* request type, see below */
	u_char	answer;		/* not used */
	u_char	pad;
	u_long	id_num;		/* message id */
	struct	osockaddr addr;		/* old (4.3) style */
	struct	osockaddr ctl_addr;	/* old (4.3) style */
	long	pid;		/* caller's process id */
#define	NAME_SIZE	12
	char	l_name[NAME_SIZE];/* caller's name */
	char	r_name[NAME_SIZE];/* callee's name */
#define	TTY_SIZE	16
	char	r_tty[TTY_SIZE];/* callee's tty name */
} CTL_MSG;
-------
	unluckily this makes quite a few programs that are trying
	to communicate with talk, fail. They seem to want a
	structure similar to:

typedef struct {
	u_char  vers;
	char    type;
	u_short filler;
	u_long  id_num;
	struct  sockaddr_in addr;
	struct  sockaddr_in ctl_addr;
	long    pid;
	char    l_name[NAME_SIZE];
	char    r_name[NAME_SIZE];
	char    r_tty[TTY_SIZE];
} CTL_MSG;

	The only real difference being the usage of
	"sockaddr_in" instead of "osockaddr".

	Is this a question of SYSV vs. BSD or would
	be sensible to change NetBSD to use sockaddr_in
	instead ?
>How-To-Repeat:
>Fix:
>Audit-Trail:
>Unformatted: