[comp.os.minix] UUCP Version 2

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