ħħħħħħħ 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 -a -b -eEXT ' DOS Version FIXUUCP2 -a -b -eEXT ' OS/2 Version FIXUUCPW -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. 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.