Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site ccivax.UUCP Path: utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!genrad!panda!talcott!harvard!seismo!rochester!ritcv!ccivax!crp From: crp@ccivax.UUCP (Chuck Privitera) Newsgroups: net.bugs.uucp,net.bugs.4bsd Subject: Uucp incorrectly chooses 't' protocol (2 of 2) Message-ID: <243@ccivax.UUCP> Date: Wed, 1-May-85 14:38:09 EDT Article-I.D.: ccivax.243 Posted: Wed May 1 14:38:09 1985 Date-Received: Fri, 3-May-85 04:47:55 EDT Distribution: net Organization: CCI Telephony Systems Group, Rochester NY Lines: 38 Xref: watmath net.bugs.uucp:522 net.bugs.4bsd:1489 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;