cwr@pnet01.cts.com (Will Rose) (06/21/91)
The next 6 postings contain an implementation of UUCP that I've been developing over the past year, based on the Lamb/Housel/van Kempen package of May 90. It is still an alpha version, but I'm tired of hammering on it and need feedback (take your pick of reasons!). I've used it a lot over direct 9600 baud lines, and very little for dial-up. It was written under PC 1.5.10, but someone has compiled and run it under 1.6. The provenance of the various programs is: cu - based on the Tanenbaum/Evans term.c for the PC. I'd like to know if it will run on a 68K. Horrible interface, but understands L.sys, L-devices and L-dialcodes, so it's useful for debugging. uucico - based the original package, but with no original code left. uuclean - new, standard version 2 uucp. (Well, as standard as they get). uucp - as uucico. uulog - new, standard version 2 uucp. uuname - new, standard version 2 uucp. uupick - new, standard version 2 uucp. uuschk - new, entirely non-standard, stat/sub file viewer for debugging. uustat - new, standard version 2 uucp. uusub - new, standard version 2 uucp. uuto - new, standard version 2 uucp. uux - unchanged from Housel's version above. uuxqt - as uux. Packet drivers - only the g-protocol is available, using Housel's code unchanged except for the small recent net patch. The uucico code will handle multiple protocols. Dialler - J Haugh's dial(3) package, patched to return slightly more information. Since I'm not sure of the copyright conditions, I've enclosed both the original and the patched files. Manuals - this was written around the Nutshell handbooks, so if you want to understand it that's the place to look. (Nice little manual, Doris, what program shall we write for it...). There are man pages (in the Minix helpfile format) which give the structure of the data files and all the command options, but that's all. This is a late alpha, I guess, so if you want life to run smoothly, don't use it. If that's your aim, wait a bit until Fred van Kempen releases his package, which will be partly based on this code and much better set out and documented. (I think it will also have multiple protocols installed). If you do try this, however, I'd be glad of anything interesting that you find. I'm actually releasing it because I may be off the net in a couple of months, and I'd like to get a reasonably clean version together before then. I may even get down to looking at uux/uuxqt (which I've ignored because I never used them). If anyone shows interest, and I collect a reasonable number of problems, I'll clean it all up and put it in an archive somewhere. On the other hand, Fred's stuff should use the same log file formats, so the switch to that wouldn't be too tricky when it comes out. One word of warning - this is version 2, not HDB; it is definitely an early marque. Further, I've been running it on an XT with not a lot of speed and memory. I think I've got the locks in place to handle multiple uucicos/uucps, but I don't have the space to check. Remote mail (uucp -m) is another place that should work but needs looking at. Good luck - Will ----------------------------------------------------------------------- I am | Will Rose A) seldom | UUCP:{nosc ucsd hplabs!hp-sdd}!crash!pnet01!cwr B) occasionally | ARPA:crash!pnet01!cwr@nosc.mil C) often startled by a fish | INET:cwr@pnet01.cts.com UUCP: {nosc ucsd hplabs!hp-sdd}!crash!pnet01!cwr ARPA: crash!pnet01!cwr@nosc.mil INET: cwr@pnet01.cts.com
ralf@ptavv.ka.sub.org (Ralf Wenk) (06/24/91)
In article <1991Jun21.121604.10637@crash.cts.com> cwr@pnet01.cts.com (Will Rose) writes: > [...] > Packet drivers - only the g-protocol is available, using Housel's code > unchanged except for the small recent net patch. The uucico code will A quick look a the 'g'-driver shows that the first of my posted patches is not there. So again: *** uucico.c.ori Sun Jun 23 22:49:01 1991 --- uucico.c Sun Jun 23 22:49:09 1991 *************** *** 1871,1878 **** chanopen = 0; printmsg(M_MEDPROTO, "Sending CLOSE request..."); } else if (neednack) { ! gspack(TT_CTRL, X_RJ, (recv + 1) & 7, ! (unsigned char *)NULL, 0); neednack = 0; printmsg(M_MEDPROTO, "Sending RJ... recv=%d", recv); } else if (send != nstuff /* nonzero output queue? */ --- 1871,1881 ---- chanopen = 0; printmsg(M_MEDPROTO, "Sending CLOSE request..."); } else if (neednack) { ! /* disabled because of protocoll violation. RW 25.Nov.90 ! gspack(TT_CTRL, X_RJ, (recv + 1) & 7, ! (unsigned char *)NULL, 0); ! */ ! gspack(TT_CTRL, X_RJ, recv, (unsigned char *)NULL, 0); neednack = 0; printmsg(M_MEDPROTO, "Sending RJ... recv=%d", recv); } else if (send != nstuff /* nonzero output queue? */ This fix will prevent the driver to request the wrong packet again if the received one is bad. Please note that I am using the 1.2 11/30/89 version of the 'g' driver with my patches - may be a newer version fixes this already. Both mistakes together allowed two MINIX uucicos connected together with a noisy line to do successfull transfers but not a MINIX and a HDB uucico. > handle multiple protocols. > [...] > This is a late alpha, I guess, so if you want life to run smoothly, don't > use it. If that's your aim, wait a bit until Fred van Kempen releases his > package, which will be partly based on this code and much better set out > and documented. (I think it will also have multiple protocols installed). Yes, some months ago he was looking for f,e and t descriptions. -- -- Ralf Wenk -- ralf@ptavv.ka.sub.org