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