[comp.sys.atari.st] UUENCODE bug?

pes@bath63.UUCP (06/19/87)

Bug in something -- either ARC or UUENCODE.  My suspicion is that there is a
flaw in the 'Dumas' UUENCODE.TTP.  I'm posting this in hopes that someone
else will have already spotted and analysed the problem, so that I won't
have to do it.  (Basically, I'm lazy :-).  The past two nights I've been
working thru the collection of UUENCODEd ARC files which I'd pulled from the
net but not done anything with yet.  I noticed the same problem with several
of them.  Specifically, I'd UUDECODE FRED.UUE to make FRED.ARC.  While both:

   ARC x FRED
   ARC t FRED

appear to work fine (and in all cases the result appears to run properly)

   ARC v FRED

gives a 2-bomb bombout.

I've poked around a little bit.  In particular, I tried (with several of the
ARCs) putting the pieces back together into a new ARC and then comparing the
result with the originally received ARC file.  In all cases the significant
difference was that the new ARC was shorter than the old one.  They were
identical as far as length(new_arc) -- bar a tiny bit of the header which
appears to be a date field -- but the original archive in all cases had a
bunch of extra trash (generally repetitions of a single byte) at the end.
In those cases where the trash *was* repeating, it was obviously present in
the UUENCODED file, so it's not UUDECODE tacking it on.

ARC of course will try to process this as being the header for a 'next
file'.  And it would appear that either ARC 'v' uses some header field that
'x' and 't' do not; or that 'x' and 't' are more clever about validating
header fields before they try to use them.

My suspicion is that the spurious stuff is being added by UUENCODE -- and
if this is true, I'd suspect it's the Dumas UUENCODE, either the original
Dumas object, or UUENCODE produced from the Dumas source by a particular
compiler.  My reasoning is as follows.  People who have ARC are quite likely
to be using it for personal use as well.  They will thus process ARCs which
they have created and so would notice the fault if they tried 'v'ing one of
their own ARCs; quite likely some of the other ARC operations would have
problems as well.  On the other hand, people UUENCODEing things generally
don't look at them again themselves -- rather they post them off to
somewhere.  The recipient, if he has problems, will probably blame them on
some fault during transmission through the net.  A UUENCODE fault would also
be less likely to be spotted because in most cases it doesn't matter if the
file grows some extra stuff on the end -- particularly if it is innocuous
stuff like new-lines.

On the chance that they might read usenet news, the two names which
instantly come to mind are Stephan Leicht in Germany and Rodney Peck in the
States.  Things I've received from both of them recently have had this
problem.  In both cases, the intended contents of the postings have arrived
properly, and the only apparent problem is with the 'long listing' ('v') of
the received .ARC file.

In summary, my guess is that some UUENCODE version is not stopping at the
end of the input file, but is rather carrying on, probably, to the end of
the block or buffer during which the end occurred.  There's a very outside
chance that it might instead be ARC doing this, but I doubt it.  Has anyone
else seen this and puzzled it out?  Or am I to be the lucky one who gets to
analyse it?