home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 2 BBS
/
02-BBS.zip
/
bwrf063.zip
/
BWREPFIX.DOC
< prev
next >
Wrap
Text File
|
1999-11-10
|
10KB
|
238 lines
Program BWREPFIX
Version 0.63 Beta
R. Dale Shipp
dale@min.net
1:261/1466
Copyright by R. Dale Shipp. All rights reserved.
An unlimited and non-exclusive free license is granted for personal
use only.
BWREPFIX is designed to repair QWK style reply packets that have been
mangled by BlueWave's Y2K bug. It is designed to be run just before
BlueWave packs up the completed MSG packet into the REP packet.
*** VERY IMPORTANT NOTE ***
When you are looking at reply messages using BLUEWAVE, the dates will
not be correct. This is because BlueWave is persistent at mangling
dates it does not recognize as being between 1 Jan 1970 and 31 Dec
1999, even if they have been previously fixed.
At present, this program is still considered to be in Beta -- and will
remain so until after 1 Jan 2000. It has tested on my system under
both WIN95 and OS/2 Warp 3. It has been tested by others on a variety
of systems and computers. I would appreciate any and all feed back
and comments. If a problem is found, please email me the *.REP packet
and the BWREPFIX.LOG from a run with the -d option set.
The program is designed so that the call line to the compression
program in BlueWave configuration is replaced with a call to a batch
file.
INSTALLATION
1. Copy the BWREPFIX.EXE and BWPACK.BAT files to your Blue Wave
directory (For advanced/experienced users, they can actually be located
anywhere on your system, as long as
a. they are located in a directory that is listed in your PATH
environment variable,
or
b. command lines used to run them include full drive and path
specifications to their location, such as C:\UTILS\BWREPFIX.EXE or
C:\BELFRY\BWPACK.BAT.
Since they are designed and intended for use only with Blue Wave (as
opposed to being general-purpose utilities), however, the Blue Wave
directory is usually the best place for them.).
2. In your Blue Wave configuration, change the "Display archiver output"
option to "Yes" if it isn't already set to that.
+======================
| Global
+==============+=========================+
| | Global Reader Settings |
| | Mail Packet Options | <--- This Sub-Menu
| | +-------------------------------------
| | | Packet list sort field
| | | Display archiver output Yes <--- This Item
During installation, testing, and early operation, this will allow you
to view the operation of the archiver function, to confirm that
BWREPFIX is installed and operating correctly. Once you are satisfied
that that is the case, this option can be restored to its original
setting.
3. In your Blue Wave configuration, Archivers Menu, your existing
Decompression commands can remain as is. They should not be affected
in any way by the installation and/or operation of BWREPFIX.
4. In your Blue Wave configuration, Archivers Menu, if you have made any
changes to Blue Wave's default Compression commands, change the
corresponding command lines in BWPACK.BAT to reflect your changes.
These could include such items as
a. addition of a full path specification (drive:\directory\) to the
command,
b. addition, deletion, or change of command line options and switches,
or
c. change of archiver.
Use your text editor to make any necessary changes to BWPACK.BAT, but
do not copy the "@F" and "@I" macros from the Blue Wave Compression
command lines. Inside the batch file, the "%2" and "%3" variables
serve the same function.
5. In your Blue Wave configuration, Archivers Menu, change all the
compression commands you use as shown:
+=================================
| Archivers
+==========+======================
| | ZIP Compression BWPACK.BAT ZIP @F @I
| | ZIP Decompression
| |
| | ARJ Compression BWPACK.BAT ARJ @F @I
| | ARJ Decompression
| |
| | LHA Compression BWPACK.BAT LHA @F @I
| | LHA Decompression
| |
| | PAK Compression BWPACK.BAT PAK @F @I
| | PAK Decompression
| |
| | ARC Compression BWPACK.BAT ARC @F @I
| | ARC Decompression
| |
| | AUX Compression BWPACK.BAT AUX @F @I
| | AUX Decompression
| +====================
6. If you use Blue Wave's "Compress Reply Cmd" Preference option to
provide an alternate Compression command for any of the systems you
use, repeat Steps 4 and 5 for that item:
+==============
| Preferences
+=+==============================+=
| | Default Preferences |
| | Packet Preference Override | <--- Select the appropriate host(s).
| | +-------------------------------+
| +=| Message Read Mode Preferences |
| | Message Entry Preferences |
| | Tagline Behavior Preferences |
| | File and String Preferences | <--- Select this item.
| | +-------------------------------
| +-| Signature File Name
| | Message Save File
| | Reply Save File
| | Keyword List File
| +-------------------------------
| | Default Alias Name
| | Quote Header String
| +----------------------------------------------
| | Compress Reply Cmd BWPACK.BAT OLDZIP @F @I <--- Enter this here.
| +----------------------------------------------
Step 6 applies only to Blue Wave v2.20 and above. Steps 1 through 5
apply to v2.10 and above, although the specific screen illustrations apply
only to v2.20 and above. Screens for v2.10 through v2.12 may look
slightly different,
[End INSTALLATION Section]
BACKGROUND and the way the program works.
Because of the way the program is being inserted into the compression
process, it is also called when BlueWave is compressing the QWK
packet. The code recognizes that it is not looking at a *.MSG file
and simply passes without doing anything.
It also checks the first record (128 bytes) of a *.MSG file to see if
it looks like the sort of header file a QWK reply packet would have,
namely 8 characters of BBS name followed by 120 characters of blanks.
This is done because the BlueWave *NEW packet also contains *.MSG
files -- which are individual messages. If the first record does not
fit the QWK *.REP format, the processing for that session is skipped
without modification.
There are three types of errors in messages that have been observed so
far with the BlueWave Y2K QWK Reply problem. On the initial creation
of a message, BlueWave will output the value of YEAR-1900 into a two
digit field. Since this will be a three digit number after 1 January
2000, it causes most of the rest of the header record to be skewed to
the right by one character. This effects the date, the time, the TO:
field and other subsequent fields. A second type of error is that
whenever BlueWave version 2.30 reads a reply message with a date that
it thinks is out of bounds (which would be any date with a two digit
year less than 70), it replaces the date and time fields with 01-01-70
and 00:00 respectively. It then seems to manage to insert the correct
thing into all other fields except for the TO: field. That field may
have a leading digit which is a left over effect from when the time
field was slid on the previous mangling of the message header by
BlueWave. The third type of error is observed with BlueWave version
2.12. When BW 2.12 opens a .REP packet which has dates with years of
00 and beyond, it gets very confused and converts those dates to
erroneous month/day/year figures, possibly negative. Because of this,
a parameter "-c" has been introduced which allows the forcing of dates
to be current (within 45 days).
The program looks for and corrects these types of errors. In
correcting for the error which shows up as 00:00 in the time field, it
will remove a leading digit from the characters in the TO: field.
I.e., the assumption is made that a digit there is the result of a
previous error in which a digit from the time field slid into the TO:
field.
The program is designed to run silently, i.e. without any output to
the screen or console. It presently has a debug option that would
enable verbose prints to help track down a problem. To invoke that
option, insert the parameter -d in the call line of the batch file
BWPACK.BAT, e.g.
c:\bwave\bwrepfix.exe -d @I
The debug output accumulates onto the file bwrepfix.log in the directory
where BlueWave is run. Note that if you leave the -d flag set, that
file will quickly grow quite large.
Possible parameters and meaning:
-h or ? or none => print out a brief help file to stdout and exit
-d => debug or verbose output to file y2k.txt
If a problem occurs, repeat the run with this flag set
Send the input *.REP file and the bwrepfix.log file to me for study
-c => force date/time to be current. If this parameter is present, then
any date/time in the header that is more than 45 days in the past will
set to the current date time. In any case, date/times in the future,
or date/times that are negative will be set to the current date/time.
<file name, with path specified> The full path file name of the MSG
file to be repaired. BlueWave typically passes the @I parameter as
a wildcard specifying a directory in the REPLY directory with *.*
for the file specifier. It is important that the full path name be
given because of the way the file search and wild cards are handled.
[ END BACKGROUND SECTION]
KNOWN ISSUES:
If the TO: field contains an address that starts with a digit, the
program will remove the leading digit in the 00:00 case, i.e. if
BlueWave has opened the reply packet after the initial closing. I
know of no way to avoid this at the present time, but suggestions
would be accepted.
R. Dale Shipp
dale.min.net
(1:261/1466)