
 FIXUUCP.EXE  by Mark Zec & Herbert Bushong 



 Overview 

FIXUUCP was written to correct outbound date problems with PCBoard's UUOUT
program.  Using different command line options, FIXUUCP can also fix the
broken dates that NetXpress by Merlin Systems creates in both the UUCP and
SMTP/POP3 versions, based on the parameters supplied on the command line.



 Syntax 

FIXUUCP  <spool directory> -a -b -eEXT  ' DOS Version
FIXUUCP2 <spool directory> -a -b -eEXT  ' OS/2 Version
FIXUUCPW <spool directory> -a -b -eEXT  ' Windows 9x/NT version

The command line options [-a, -b, and -eEXT] are all optional and can be
in any order, but the spool directory must be provided for FIXUUCP to
operate properly.


Spool Directory:
The spool directory is the only required parameter that FIXUUCP needs.
Because it can process any directory provided, it allows sysops with
multiple UUCP feeds to use FIXUUCP to repair messages exported by both.
For example, if the two spool directories are C:\PCB\UUCP\SPOOL\ISP1 and
C:\PCB\UUCP\SPOOL\ISP2, the FIXUUCP command simply needs to be issued two
times:

FIXUUCP C:\PCB\UUCP\SPOOL\ISP1
FIXUUCP C:\PCB\UUCP\SPOOL\ISP2

It's important that FIXUUCP be run before the UUCP transfer program is run.
A typical UUCP run, using PCBoard's UUCP utilities, looks like this:

UUOUT
UUXFER
UUIN

Incorporating FIXUUCP into the mail run would result in this (and assumes
that your spool directory is C:\PCB\SPOOL):

UUOUT
FIXUUCP C:\PCB\SPOOL
UUXFER
UUIN


Optional parameters:
-a    - Disables reassembly of file attachments
-b    - Forces FIXUUCP to use the system date when correcting date headers
-eEXT - Allows FIXUUCP to process alternate file extensions

-a  Allows the sysop to disable the ability of FIXUUCP to reassemble the
file attachments that UUOUT breaks into 64k pieces during export.  By
default, FIXUUCP will reassemble these pieces.  If you have a reason for
wanting file attachments to be sent exactly as exported by UUOUT, use this
parameter when running FIXUUCP.

-b  Forces FIXUUCP to use the system date when correcting date headers.  By
default, FIXUUCP will apply a certain rule set to the year it finds in the
date header.  This rule set is as follows:

   FIXUUCP finds a 2-digit year

   1. 00 through 79 - Assumes 21st century, making the year 2000 through
      2079
   2. 80 through 99 - Assumes 20th century, making the year 1980 through 1999

   FIXUUCP finds a 3-digit year

   1. Greater than or equal to 0 and less than 200 - Assumes an offset from
      the year 1900, adding the number it finds.  For example, if it finds
      the year to be 110, the year used will be 2010 (1900 + 110).
   2. Anything else (less than 0, greater than or equal to 200) and FIXUUCP
      extracts the date from the system.

   If FIXUUCP finds a 4-digit year, it assumes that it is correct and
   doesn't change it.

Because UUOUT should always create a two-digit year, the -b parameter
generally isn't required for FIXUUCP to process outgoing messages properly.
In general, FIXUUCP should be able to correct UUCP DAT files created by
other mailers as well, based on the above rule set, which is why the rule
set was implemented.

However, some mailers, such as NetXpress, create headers that are *really*
broken (2000 shows up as 2036), so these won't get corrected based on the
above rule set.  Using the -b option will force FIXUUCP to use the system
date when correcting the date header.  See the section below on using
FIXUUCP with Merlin Systems' NetXpress for complete information.

-eEXT - Allows FIXUUCP to process alternate file extensions.  By default,
FIXUUCP searches the spool directory for files with an extension of .DAT,
since that's what PCBoard's UUOUT creates.  However, to allow FIXUUCP to be
used with other Internet mail packages, this option allows sysops to use it
to correct broken headers from other packages.  If the mailer you're using
creates messages with an extension of .TXT, the parameter passed to FIXUUCP
should be -eTXT.

Examples:

All of the examples assume that the spool directory is C:\PCB\SPOOL.
Substitute your own directory in actual usage.

FIXUUCP C:\PCB\SPOOL          ' Processes all .DAT files in the
                              ' directory C:\PCB\SPOOL, reassembles any
                              ' file attachments, and applies date rules
                              ' detailed above

FIXUUCP C:\PCB\SPOOL -A       ' Processes all .DAT files in the
                              ' directory C:\PCB\SPOOL, leaving file
                              ' attachments unprocessed, applies date rules
                              ' detailed above

FIXUUCP C:\PCB\SPOOL -B       ' Processes all .DAT files in the
                              ' directory C:\PCB\SPOOL, reassembles any
                              ' file attachments, and forces the use of the
                              ' system date when creating date headers

FIXUUCP C:\PCB\SPOOL -B -ESMT ' Processes all .SMT files in the directory
                              ' C:\PCB\SPOOL, reassembles file attachments,
                              ' and uses system date when creating date
                              ' headers

I'm sure there's plenty of other combinations, but this should give an idea
of how flexible FIXUUCP is.


Usenet Newsgroups:

Even though we don't carry any Usenet newsgroups on the BBS, I setup a
newsgroup on a testing node.  It looks like UUOUT also exports Usenet
messages in the same format (the messages all have the extension of .DAT).
In my quick testing, FIXUUCP seems to also fix the date headers of outgoing
Usenet messages, but if anyone who carries newsgroups on their boards in a
non-testing mode, I'd appreciate it if you'd let me know if it handles
these messages properly.  If not, feel free to forward me a few messages
that aren't getting fixed properly, and I'll see what I can do.



 Registration and Contact Information 

FIXUUCP is being released as freeware, mainly because BBSes have taken
enough of a hit in the '90s.  No need to lose even more BBSes when 2000
arrives just because CDC failed to make sure that EVERYTHING was Y2K
compliant.

It was also written to thwart the money-grubbing objectives of a certain
sysop who apparently feels that an excellent source of income is the
average sysop who's struggling to find Y2K solutions for BBS software
that's no longer supported.  You know who you are.  <g>

Of course, if you find this program to be the best thing since sliced
bread, and your future would be doomed without it, Herbert and I can
certainly be coerced into accepting donations.  :)

Mark Zec wrote the original DOS version, and Herbert Bushong was kind
enough to port it so that FIXUUCP can be distributed with OS/2 and Win95
executables as well.

Contact information for both Mark and Herbert are below.  Please address
any questions, comments, etc. to the appropriate person, based on the
version you're using.

Mark Zec                      DOS version
mark.zec@haremail.com         Internet
Mark Zec@1:387/422            Fidonet

Herbert Bushong               OS/2 and Win95 versions
harchon@centurytel.net        Internet
Herbert Bushong@1:19/19       Fidonet
Herbert Bushong@239:600/0     Intelec

Or, via dialup, Hare Mail BBS (Mark Zec) can be reached at 210-949-0338,
and Blackbeard's BBS (Herbert Bushong) can be reached at 337-468-3385.



 Disclaimer, Additional Features 

Of course, because this is freeware, you get what you paid for.  It works
here, but I can't guarantee that it'll do anything more than take up some
disk space.  If you have any questions, comments, or requests for
additional features, feel free to contact us at the addresses listed above.
Of course, additional features will be considered, but I can't guarantee
that they'll be implemented.  Herbert and I have already included extra
features beyond what was originally planned, since we originally wrote it
to correct only PCBoard's UUCP problems.

Any bug reports will be appreciated.  Please provide as much information as
possible about the nature of the bug, and whenever possible zip up the
message file(s) that are causing the problem and send them to the
appropriate person (Mark for the DOS version, Herbert for OS/2 and Win95).
It'll be easier to track down a problem if we have the actual messages to
work with.



 Note for Users of NetXpress by Merlin Systems 

Herbert and I made modifications to the original FIXUUCP code to correct
the date headers that both the SMTP and UUCP versions of NetXpress create.
However, FIXUUCP shouldn't be used with only the spool directory supplied
to it.  It requires the usage of the optional parameters.

Both the UUCP and SMTP versions should use the following parameters with
FIXUUCP, for the following reasons:

-a - Disables reassembly of file attachments.  FIXUUCP was coded
specifically to reassemble files that UUOUT exported.  Because we've never
run NetXpress, we have no idea what file attachments would look like after
NetXpress exports them.  In fact, we have no idea if NetXpress even breaks
file attachments into parts like UUOUT does.  So, better safe than sorry,
so use the "-a" parameter.

-b - Forces FIXUUCP to use the system date when correcting date headers.
Based on the test files I received from Peter Ellis, who runs the SMTP
version, NetXpress trashes the date header after the year 2000 in a big
way.  For example, with his computer set to Jan. 1, 2000, the date header
created was:

Date: Wed, 06 Feb 2036 15:16:16 -0500

All of the information (other than time and GMT offset) gets trashed after
the year 2000, so it needs to be recreated based on the system date.  The
only way to do this with FIXUUCP is to use the "-b" option.

In addition, the SMTP version of NetXpress should use the following
parameter:

-eEXT - Allows FIXUUCP to process alternate file extensions.  The SMTP
version of NetXpress exports messages with a file extension of .TXT.  In
default mode, FIXUUCP looks for files with an extension of .DAT.  The only
way to get FIXUUCP to recognize/process the files that the SMTP version of
NetXpress creates is to use this parameter.

In summary, if you're using the UUCP version of NetXpress, your command
should look like this (assuming your directory is C:\PCB\SPOOL):

FIXUUCP C:\PCB\SPOOL -A -B

If you're using the SMTP version of NetXpress, your command should look
like this:

FIXUUCP C:\PCB\SPOOL -A -B -ETXT



 Note for Users of Other BBS Internet Email Packages 

Take a close look at the notes listed above for NetXpress by Merlin
Systems.  Herbert and I were pretty much unable to have FIXUUCP account for
every BBS Internet email package specifically, but it's our hope that the
command line parameters we setup should be able to solve just about every
date-related problem with transferring outgoing Internet email.



