home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #19 / NN_1992_19.iso / spool / comp / os / minix / 4343 < prev    next >
Encoding:
Internet Message Format  |  1992-08-30  |  2.9 KB

  1. Path: sparky!uunet!cs.utexas.edu!qt.cs.utexas.edu!yale.edu!ira.uka.de!smurf.sub.org!incom!orfeo!hotb.sub.org!brewhq!monad!okir
  2. From: okir@monad.swb.de (Olaf Kirch)
  3. Newsgroups: comp.os.minix
  4. Distribution: world
  5. Subject: uucico (probably outdated)
  6. Message-ID: <920830213@monad.swb.de>
  7. Date: Sun, 30 Aug 92 18:36:32 MESZ
  8. Lines: 56
  9.  
  10. Hi, everybody,
  11.  
  12. I want to report a bug on a certain uucico implementation, of which I
  13. neither know its official name, nor if it's still used by anyone but me.
  14. The source files say it was written by Lamb, Lynne, Housel, van Kempen,
  15. and some 'cwr', and version is 3.9. as of May 30, 1991. I'm posting this
  16. bug report to te net, since I don't know if there's still anybody
  17. maintaining this  version. (and I don't have his/her address :-)
  18.  
  19. When I tried to change packet and window size to 128/7, I ran aground
  20. some problems. Some of them were speed-related, since I'm still running
  21. MINIX on an ST. Two others were not.
  22.  
  23. 1. When debugging with level 12, uucico bombed out with a core dump. This
  24.    is because the debugging function (yes:-)) visib(), which translates
  25.    unprintable characters to \xxx octals has a buffer of only 256 bytes.
  26.    You have to change that to at least 4*desired packet size.
  27.  
  28. 2. After having transmitted a file, or having received one, uucico regularly
  29.    hung. This was becasue of an error in the way it handles short data
  30.    packets where the difference is more than 127 bytes.
  31.    When a file transfer is complete, an empty short data packet is
  32.    sent to signal EOF. Now, the correct thing to do would be to store
  33.    the difference in length in the first two bytes of the packet data,
  34.    low seven bits first with high bit set to one, then the upper bits.
  35.    This implementation does it the other way round.
  36.  
  37.        +---------------+---------------+
  38.        | byte 0    | byte 1    |
  39.        |7 6 5 4 3 2 1 0|7 6 5 4 3 2 1 0|
  40.        +---------------+---------------+
  41.        |1| bits 6-0    | bits 14-7    |    <-- correct
  42.        |1| bits 14-8    | bits 7-0    |    <-- wrong
  43.        +---------------+---------------+
  44.  
  45.    You have to go to gspack() and grpack() in the g protocol driver
  46.    source, and change it.
  47.  
  48. 3. In the 'g' init sequence, uucico takes over the values for packet and window
  49.    size given to it by the other host. The correct way would be to compare
  50.    them to the predefined values, and use them only if they're
  51.    smaller. At least that's what I think, but I may be wrong here.
  52.  
  53. 4. Oh, and yes! I forgot to mention! If you're compiling this with a
  54.    compiler which has 16 bit integers on a machine which has 32bit pointers,
  55.    make sure to include stdlib.h and time.h (ctime() and malloc()
  56.    will appreciate this :-)
  57.  
  58.  Hope I've not been saying something that's already an old hat :-)
  59.  
  60.      Olaf
  61.  
  62. -- 
  63. ---------------------------------------------------------------------------
  64. | Olaf Kirch          Darmstadt          | okir@monad.swb.de              |
  65. ---------------------------------------------------------------------------
  66.