
UUCP Bug and Enhancement List		6/13/83
Compiled by S. McGeady, teklabs!stevenm


1) Timeout to slow systems

	References: pk1.c,PKTIME
	Solution: increase PKTIME from 10 to (say) 60
	Reported-by: utzoo!henry (8/82)
	Applicability: not System III

2) Crash in anlwrk.c - inadequate testing of pointer *listp for
   boundaries of array list

	References: anlwrk.c,iswrk()
	Solution: fix line which checks *lisp
	Reported-by: ittvax!swatt (11/81), uw-beaver!jim (9/82),
			cmcl2!salkind (6/82), utah-cs!lepreau (6/82),
			v.wales@ucla-security (10/82)
	Applicability: V7, not System III

3) When UUCP tries to abort, intrEXIT() loops

	References: cico.c,intrEXIT()
	Solution: enable BSD abort signal, enable all signals
	Reported-by: ittvax!swatt (11/81), uw-beaver!jim (9/82),
			floyd!trb (10/82), v.wales@ucla-security (10/82)
	Applicibility: 4.xBSD

4) Security Bug - X.* files deposited on wrong system

	References: anlwrk.c,anlwrk(),cntrl.c,cntrl()
	Solution: null out filename after processing, in cntrl()
		test for null-ed filename in anlwrk()
	Reported-by: ima!johnl (11/82)
	Applicibility: System III

5) Max Number of entries in USERFILE is 20, array is 15

	References: chkpth.c,Upt
	Solution: install dynamic allocation scheme, or up definition
	Reported-by: brl-bmd!dpk (7/82)
	Applicibility: not System III

6) Bad sprintf() call in cntrl.c

	References: cntrl.c,cntrl()
	Solution: replaces sprintf(msg, ....) call, initialize W_MODE
	Reported-by: HOLSTEGE@CIT-20 (8/82),hplabs!kg (8/82)
	Applicibility: Not System III

7) UUCICO throws away data on line errors

	References: cntrl.c
	Solution: reverse order of unlink(), and RMESG in cntrl.c
	Reported-by: utah-cs!lepreau (10/82)

8) Increase line fault tolerance of packet driver

	References: pk1.c
	Solution: increase GETRIES from 5 to (say) 10
	Reported-by: utah-cs!lepreau (10/82)
	Applibibility: not System III

9) Connection failure leaves line open and locked

	References: conn.c, login()
	Solution: in login, close(fn) when LOGIN FAILS
	Reported-by: cmcl1!salkind (3/82)
	Applicibility: System III

10) alarm in expect goes off after MAXCHARTIME, insteas of MAXMSGTIME,
    uucico hangs on dirty lines

	References: conn.c,expect() [expect.c?]
	Solution: replace MAXCHARTIME with MAXMSGTIME in expect()
	Reported-by: brl-bmd!dpk (3/82)

11) expect references beyond its array bounds

	References: conn.c,expect()
	Solution: check rdvec overrun before null-termination, not after
	Reported-by: cmcl2!salkind (3/82)
	Applicibility: System III

12) Sequence number generation is inefficient, slow, ineffective

	References: gename.c
	Solution: install Alan Watt's gename() mods - use base 36 or 64
	Reported-by: ittvax!swatt (7/82)
	Applicibility: V7, BSD, S3

13) UUCICO core dumps on unwritable A.*  - fopen return not checked in anlwrk()

	Refernces: anlwrk.c,anlwrk()
	Solution: check return from open in anlwrk()
	Reported-by: physics!gill
	Applicibility: V7, BSD, S3

14) Calling of multiple phone numbers during single uucico doesn't work

	References: conn.c,dialup()
	Solution: <kludge by physics!gill, no other solution available>
	Reported-by: physics!gill

15) Core dumps in uucico - uninitialized fields

	References: cntrl.c
	Solution: apply cmcl2!salkind's fixes
	Reported-by: cmcl2!salkind

16) Speed up UUCICO

	References: anlwrk.c,gtwrk()
	Solution: increase LLEN from 10 to (say) 50
	Reported-by: utzoo!henry (8/82)

17) Vadic VA811 Dialer (4.? BSD)

	References: dnd.c
	Solution: remove some of UCB's code
	Reported-by: tpdcvax!bobvan (8/82)

18) UUCP won't xfer files larger than 1 Mbyte

	References: param.h,CDLIMIT
	Solution: increase CDLIMIT, or live with it
	Reported-by: mhtsa!lsc (8/82)

19) Extra HUPCL ioctl() - a problem if using stty/gtty

	References: conn.c
	Solution: remove ioctl in dialup(), (already one in fixline())
	Reported-by: brl-bmd!dpk (9/82)

20) Add escape sequences to login line in L.sys

	References: conn.c,sendthem()
	Solution: add Bill Shannon's code to sendthem()
	Reported-by: seismo!stewart (9/82)

21) Security Bug - debugging mode tells random use phone #, password, etc

	References: conn.c,sendthem()
	Solution: put check for ID arounf DEBUG code
	Reported-by: seismo!stewart (9/82)

22) Bug in getargs with backspaces

	References: getargs.c,getargs()
	Solution: change references to isspace() to !isprint()
	Reported-by: vu44!root (10/82)

23) UUCICO uses only about 20% of available bandwidth

	<no solution known>

24) UUXQT Dies mysteriously

	References: uuxqt doesn't close all its files
	Solution: add forgotten fclose() after rmfiles:
	Reported-by: pitt!hoffman (10/82), ima!johnl (10/82),
			sdchema!jmcg (10/82), tpdcvax!bobvan

25) CALLOK() is inefficient

	References: gnsys.c,callok(),gnsys()
	Solution: keep list of unavailable systems in uucico (utzoo!henry's
			code)
	Reported-by: utzoo!henry (8/82)

26) Buffers in uuname too small

	References: uuname.c
	Solution: increase sizes of buffers 's' and 'prev' to BUFSIZ
	Reported-by: cornell!pavel

27) Graduate your News files

	References: uucico,uucp,uux
	Solution: add Mark Horton's code to grade news files
	Reported-by: cbosgd!mark (9/82)

28) rmail ignores uux status

	References: mail.c
	Solution: save status from pclose()
	Reported-by: utzoo!henry

29) pathname buffer too small in uuxqt

	References: uuxqt.c
	Solution: changes prm from BUFSIZ to MAXFULLNAME
	Reported-by: cmcl2!salkind

30) Wrong exit status for uux command (only some versions of uucp)

	References: uuxqt.c
	Solution: changes 'exit %d signal %d' to 'signal %d exit %d'
	Reported-by: watcgl!dmmartindale

31) Security Bug, shell special characters

	References: uuxqt.c
	Solution: install Randal Schwartz's fixes (tekmdp!randals)
	Reported-by: tekmdp!randals

32) L.sys time of day wrap-around

	References: conn.c
	Solution: fix place where time string is checked
	Reported-by: many

33) Multiple times to call in one L.sys entry

	References: conn.c
	Solution: fix ifdate() - call in loop with pieces of date
	Reported-by: teklabs!stevenm


34) Allow UUCP to run with 0700 spooldir

	References: ?
	Solution: get fixes from utah-cs!lepreau
	Reported-by: utah-cs!lepreau

35) Separate spool files for each remote site

	References: ?
	Solution: <several people have fixes for this - I don't know
		which is nicest. duke!trt's is the most well know, but is
		also a horrible kludge.>

36) System Names which are prefices of other sysnames don't work

	References: anlwrk.c
	Solution: change 'if(prefix(x,y))' to 'if(prefix(...) & strlen ...'
	Reported-by: cbosgd!mark


37) Very Long Pathnames Fail

	References: defs.h
	Solution: Increase BUFLEN
	Reported-By: avsdT:jon


38) conn.c close() lacking - multiple calls to a site fail

	References: conn.c
	Solution: add close call if login fails
	Reported-by: fortune!stein


39) Tabs in L.sys can break things

	Refernces: versys.c
	Solution: change parsing of L.sys lines
	Reported-by: Steve Hartwell


40) UUstat code doesn't work

	References: uustat.c, us_*.c
	Solution: <numerous fixes>
	Reported-by: Bob Esposito
	Applicability: System III only


41) UUX improperly terminates mail messages

	References: sdmail.c
	Solution: change fprintf() in sdmail.c
	Reported-by: uw-beaver!jim


42) ~<user> fails if <user> is not found

	References: expfile.c
	Solution: check for NULL return from getpw()
	Reported-by: Mark Nettleingham

43)  pkactive never gets decremented in packet driver

	References: pk.c
	Solution: (path) increase NPLINES
	Reported-by: Peter Honeyman

44) LOG.* files get left in 0222 mode

	References: uux.c
	Solution: install chmod in cleanup()
	Reported-by: Jack Allen

45) UUsub doesn't work correctly

	References: uusub.c
	Solution: install listed fixes
	Reported-by: Bob Esposito
	Applicability: System III only

