home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
kermit.columbia.edu
/
kermit.columbia.edu.tar
/
kermit.columbia.edu
/
bin
/
msvv90sea.exe
/
MSBOOFLS.EXE
/
MSBMKB.BWR
< prev
next >
Wrap
Internet Message Format
|
1992-07-30
|
3KB
Date: Tue, 22 Oct 91 14:08:09 EDT
From: Charles Lasner <lasner@watsun.cc.columbia.edu>
Subject: MSBMKB bug
When inputting a filename from a device specified (because it isn't on
the log drive), the d: part appears in the name field in the .BOO file
instead of merely the name as expected.
------------------------------
Date: Thu Oct 10 1991 12:00:00 EDT
From: Charles Lasner <lasner@watsun.cc.columbia.edu>
Subject: Release of Additional Kermit-12 Utilities
While quite popular in the MS-DOS world for file distribution purposes,
.BOO format as originally designed has an inherent weakness that makes
reliable use on OS/8 family systems impossible. I have designed an
extension to the format to make .BOO format sufficiently reliable to allow
implementation of an encoder and decoder for OS/8 systems.
The relevant problem with .BOO format has to do with file length
anomalies that are a consequence of the format itself. .BOO files either
end on a repeat compression field or a complete three-byte data field
expressed as four characters, each only six bits significant. Should a
file end with only one or two eight-bit data bytes, two or one additional
null bytes will be appended to pad out the last data field. This leads to
files that are one or two bytes longer than intended. At least this is the
behavior on systems like MS-DOS which maintain a file byte count. Note
also that this problem can be cumulative in that repeated transmission
between systems where the file is stored locally in some decoded form, and
then encoded locally before transmission to another site, can cause the
problem to worsen indefinitely. (It has also been noted that widely
distributed .BOO encoding programs exist on certain systems which exhibit
defects such as erroneous appendage of additional null bytes onto the end
of the file not indicated by the file's contents. This is clearly a
program bug and not an inherent problem with .BOO format design.)
The method chosen to correct the existing .BOO anomaly is to append a
correction field to the end of every file requiring it. The basic
correction unit is ~0 which means literally a repeat compression field with
a count of zero. This construct is ignored by most .BOO decoders because
it contributes nothing to the file. (At the bare minimum, .BOO decoders
should implement the robustness of ignoring this type of data. It is
conceivable that due to design error, a decoding program could "blow up"
when encountering this data. Imagine a file lengthened by 2^32 null bytes!
The exact amount of extraneously generated null bytes would likely be
2^{how many bits wide are integers on the machine} or one less than that.)
.BOO-encoded files may now contain either ~0 or ~0~0 at the end to
indicate whether one or two bytes are to be "taken back" respectively.
Tests on MSBPCT.BAS and MSBPCT.C as currently distributed by CUCCA indicate
that these corrections are perfectly ignored, thus decoded files are
erroneously inflated by one or two bytes. This is the expected behavior of
these older decoders.
------------------------------