Uucp incorrectly chooses 't' protocol (2 of 2)

Chuck Privitera crp at ccivax.UUCP
Thu May 2 04:38:09 AEST 1985


Index:	usr.bin/uucp/cntrl.c 4.2BSD +FIX

Description:
	blptcl() in cntrl.c blindly builds a string of protocols
	that this machine supports. Thus, as the previous article
	states, a bug in uucico on the remote side manifests itself
	on you (when it doesn't have to). The local machine should not
	tell a remote machine that it is capable of doing protocols
	on a line that has not been conditioned properly for that
	protocol. (i.e. don't say you can run the 't' protocol on
	a normal tty line).
Repeat-By:
	See previous article.
Fix:
	The remote side should know better but while you wait for
	your neighbors to fix the problem in cico.c where the IsTcpIp
	flag is not reset, teach blptcl() not to lie. Here are
	the changes (very similar to fptcl() which is supposed to
	do the final protocol selection):


RCS file: RCS/cntrl.c,v
retrieving revision 1.15
diff  -r1.15 cntrl.c
1c1
< /* $Header: cntrl.c,v 1.15 85/03/17 17:23:08 root Exp $ */
---
> /* $Header: cntrl.c,v 1.16 85/05/01 10:47:03 root Exp $ */
868,869c868,873
< 	for (p = Ptbl, s = str; (*s++ = p->P_id) != '\0'; p++)
< 		;
---
> 	for (p = Ptbl, s = str; p->P_id != '\0'; p++)
> #ifdef BSDTCP
> 		/* Only use 't' protocol on TCP/IP */
> 		if (IsTcpIp || p->P_id != 't')
> #endif
> 			*s++ = p->P_id;



More information about the Comp.bugs.4bsd.ucb-fixes mailing list