home *** CD-ROM | disk | FTP | other *** search
/ Media Share 9 / MEDIASHARE_09.ISO / bbs / mfix430.zip / MAILFIX.DOC < prev    next >
Text File  |  1994-01-24  |  15KB  |  330 lines

  1.                               MAILFIX v4.30
  2.                               -------------
  3.  
  4.    MAILFIX is a purge/repair utility for RBBS-PC message bases.  It was
  5.    originally written by Chip Morrow and released as part of the MAIL MANAGER
  6.    offline mail door for RBBS-PC, but because of its obvious utility for all
  7.    RBBS sysops, whether running MAIL MANAGER or not, we are releasing it as a
  8.    separate stand-alone utility.
  9.  
  10.    Version 4.0 was largely rewritten by Doug Wilson to run much faster than
  11.    previous releases, and has a few more useful options than previous
  12.    versions.
  13.  
  14.    WARRANTY, DISTRIBUTION, AND LICENSING AGREEMENT:
  15.    ------------------------------------------------
  16.    MAILFIX is 100% guaranteed to take up space on your hard disk, and is
  17.    equally guaranteed to consume less space if deleted.  MAILFIX is NOT
  18.    guaranteed to do anything else.  Period.
  19.  
  20.    MAILFIX is copyrighted 1991-1994 by Makai Software, all rights reserved.
  21.    We are releasing it with source code, for those who would like to see how
  22.    it operates.  You may distribute it freely, provided that no modifications
  23.    have been made.  You are free to modify the code for YOUR OWN USE in
  24.    whatever manner you wish.  We are sure that the current code is far from
  25.    optimal, but it does seem to work pretty well, nonetheless.
  26.  
  27.    MAILFIX is not "SHAREWARE", rather it is distributed freely with source
  28.    code for other RBBS-PC sysops, as a contribution to the RBBS-PC community.
  29.    See the top of the source code file MAILFIX.BAS for additional licensing
  30.    information.
  31.  
  32.    CONTACTING THE AUTHORS:
  33.    -----------------------
  34.    Due to the transitory nature of many bulletin boards, and the fact that
  35.    you may be reading these instructions a long time after they are written,
  36.    it is probably best not to list bulletin boards where we may be reached.
  37.    Inevitably, whichever board we cite will immediately go out of business,
  38.    and the phone number will be reassigned to somebody who does not care to
  39.    be awakened by the phone ringing in the middle of the night when we modem
  40.    junkies place most of our long distance calls.
  41.  
  42.    The authors, however, CAN be found on the "RBBS-PC" conferences carried by
  43.    Fido and RIME.  New releases are always announced in these conferences,
  44.    and we occasionally post lists of the currently active distribution sites
  45.    there.  If you wish to contact us via these conferences, address messages
  46.    to Doug Wilson or Chip Morrow.
  47.  
  48.    Current Makai Software releases are always sent to Compuserve within a few
  49.    days of release, in the IBMBBS forum (GO IBMBBS).  The doors themselves
  50.    may be found in library 3, while the individually-distributed utilities
  51.    (MNET, MAILFIX, etc.) may be found in library 2.  While you're on
  52.    Compuserve, you can reach one of the authors, Chip Morrow, there
  53.    (72677,502).
  54.  
  55.    Chip Morrow is also available via Prodigy and Internet, if either of those
  56.    are more convenient:
  57.  
  58.                         Prodigy:  GVHM95A
  59.                        Internet:  72677.502@compuserve.com
  60.  
  61.    And if all else fails, there's always good ol' U.S. Mail:
  62.  
  63.                        Makai Software
  64.                        870 Golden Drive
  65.                        Newark, OH 43055
  66.    ------------------------------------------------------------------------
  67.  
  68.    LIMITATIONS:
  69.    ------------
  70.  
  71.    Without the /S command line switch, MAILFIX can handle RBBS message bases
  72.    which contain up to 1000 messages.  When it hits message 1001, it will
  73.    exit with an error.  You can increase MAILFIX's internal buffer by
  74.    specifying /Snnnn on the command line, where "nnnn" is the maximum number
  75.    of messages that MAILFIX should expect.  So, if you'd like MAILFIX to be
  76.    able to handle a message base containing as many as 3,000 messages, your
  77.    command line would include:
  78.  
  79.        /S3000
  80.  
  81.    The program would then not error out until it hits the 3,001st message
  82.    in that area.
  83.  
  84.    Prior releases of MAILFIX would crash if a message base exceeded 32767 
  85.    records (approximately 4.1 meg file length).  This has been corrected with 
  86.    this release 4.30, so MAILFIX should now be compatible with RBBS mod
  87.    packages which allow far greater than stock RBBS' 999 message per
  88.    conference limit.
  89.  
  90.    Aside from the above, MAILFIX has taken about anything we have thrown at
  91.    it, as long as the file contains consistent 128-byte records.  If
  92.    something should insert or lose characters such that the 128-byte record
  93.    length is not preserved, MAILFIX will not be able to process the file.
  94.  
  95.    ------------------------------------------------------------------------
  96.  
  97.    USAGE:
  98.    -----
  99.  
  100.    MAILFIX [options] D:\PATH\MESSAGE.FIL
  101.  
  102.    Available options:
  103.  
  104.        /D - Use DOS screen writes instead of direct.  Slows the program
  105.             down a tad, but allows for DOS redirection of output.
  106.  
  107.        /F - Informs MAILFIX that this is a fixed-length message base.  If
  108.             "/F" is not specified, MAILFIX assumes the message base to be
  109.             configured as 'elastic'.
  110.  
  111.        /Kn - (where "n" is the number of messages to keep.): Tells MAILFIX
  112.             to trim down the physical size of the message base, keeping the
  113.             last "n" active messages.  This is useful for things like an
  114.             echo area that grows almost out of control daily. If you want
  115.             to keep 50 messages, your switch would be "/K50".
  116.  
  117.             This switch may not be used in conjunction with "/V"!
  118.  
  119.             Use of this option will OVERWRITE your original message file!
  120.  
  121.        /N - Tells MAILFIX to renumber the message base, starting at message
  122.             number 1.  If used with the /K option, the retained messages
  123.             will be renumbered starting with 1.
  124.  
  125.             Use of this option will OVERWRITE your original message file!
  126.  
  127.             Optionally, you may immediately follow the /N with the
  128.             drive:\path\filename of the user file for this message base if
  129.             you wish MAILFIX to update the user's message pointers to
  130.             reflect the renumbering.  There can be no spaces between the /N
  131.             and the beginning of the filename.  Your original user file
  132.             will be updated in place, so if you want a backup of your
  133.             unaltered user file, you must make one first.
  134.    
  135.        /O - Informs MAILFIX that the sysop uses OverMail on this message
  136.             base.  OverMail formats the time field in the message header
  137.             with a semicolon instead of a colon, which CONFIG's option #185
  138.             (repair messages) chokes on.
  139.  
  140.        /P - Tells MAILFIX to purge personal messages which are have been 
  141.             received by the addressee.
  142.  
  143.        /R - Informs MAILFIX that the sysop uses RBBSMail or MsgToss on this
  144.             message base.  Both of these mail processors format the time
  145.             field in the message header with a period instead of a colon,
  146.             which CONFIG's option #185 (repair messages) chokes on.
  147.  
  148.        /Sn - (where "n" is the max number of messages that could be contained
  149.             in this message base).  The stock RBBS-PC maximum is 999, and the
  150.             default here is 1000 if /S is not specified.  If you are running
  151.             a modified copy of RBBS-PC (one that can handle more than 999
  152.             msgs per message file), then you will need to use this switch to
  153.             increase MAILFIX's internal buffer.
  154.  
  155.        /V - Only View the integrity of the message file.  Do not perform
  156.             the actual repair work, and do not create an output file.
  157.  
  158.  
  159.  
  160.        D:\PATH\MESSAGE.FIL is the name of the messages file to
  161.        purge/repair.
  162.  
  163.        Unless the /V option is used, MAILFIX will create an output file
  164.        with the same name and the extension '.FIX'.  Above example would
  165.        create D:\PATH\MESSAGE.FIX.
  166.  
  167.        If the /Kn or /N switches are used, MAILFIX will make a second pass
  168.        on your message base, using the *.FIX file for input, and the
  169.        original file name for output.  When finished your original message
  170.        file will have been replaced by MAILFIX's work, and the *.FIX file
  171.        will be deleted.
  172.  
  173.    EXAMPLES:
  174.    --------
  175.  
  176.    Unless you use the "/Kn" or "/N" command line options, MAILFIX will not
  177.    overwrite (or modify in any way) your original message file.  If you
  178.    want to replace your old message file with the one that MAILFIX creates,
  179.    your best bet is to run MAILFIX from a batch file, like so:
  180.  
  181.        IF EXIST C:\RBBS\MAINM.FIX DEL C:\RBBS\MAINM.FIX
  182.        MAILFIX C:\RBBS\MAINM.DEF
  183.        IF EXIST C:\RBBS\MAINM.FIX DEL C:\RBBS\MAINM.DEF
  184.        IF EXIST C:\RBBS\MAINM.FIX REN C:\RBBS\MAINM.FIX C:\RBBS\MAINM.DEF
  185.  
  186.        On the other hand, if you have an echo area that's scanned
  187.        by RBBSMail, and you want to keep it purged down to 100
  188.        messages, your command line would be:
  189.  
  190.           MAILFIX /R /K100 C:\RBBS\FILENAME.DEF
  191.  
  192.        If you want to also renumber the message base, and to update
  193.        the pointers in your user file for this base:
  194.  
  195.           MAILFIX /R /K100 /NC:\RBBS\USERFILE.DEF C:\RBBS\FILENAME.DEF
  196.  
  197.        If you wanted to do the same thing with a message base that's
  198.        been scanned by OverMail:
  199.  
  200.           MAILFIX /O /K100 /NC:\RBBS\USERFILE.DEF C:\RBBS\FILENAME.DEF
  201.  
  202.        These last three examples would replace "FILENAME.DEF"
  203.        with the fixed/purged/pruned message base.
  204.  
  205.    Run MAILFIX without a command line to get a help screen.
  206.  
  207.    ------------------------------------------------------------------------
  208.  
  209.    TECHIE STUFF FOR THOSE WHO CARE:
  210.    -------------------------------
  211.  
  212.    If you run a mail system that utilizes RBBSMail, MsgToss, or OverMail
  213.    for echo mail processing, you're likely to have run across the fact that
  214.    the repair utliity out of CONFIG (option #185) no longer works for you.
  215.    This is due to the fact that these mail processors place either a period
  216.    or a semicolon in the time field of the message header on every message
  217.    that they process.
  218.  
  219.    This just happens to be one of CONFIG's five "key fields" that it looks
  220.    at to determine whether or not the message is corrupt.
  221.  
  222.    These key fields are:
  223.  
  224.          Description                                  Should be
  225.          -------------------------------------------  ---------
  226.          The "killed" flag,                           Ascii 225 or 226 "ß,Γ"
  227.          the first separator in the 'time' field,     ":"
  228.          the second separator in the 'time' field,    ":", ".", or ";"
  229.          the first separator in the 'date' field,     "-"
  230.          and the last separator in the 'date' field.  "-"
  231.  
  232.    Therefore, this string of five characters is very important, and is what 
  233.    will be displayed to you if the message needs repaired, and you specify 
  234.    the "/v" option on MAILFIX's command line.  If you don't specify "/v" on
  235.    the command line, MAILFIX will do its best to fix the message, and
  236.    report "<fixed>".
  237.  
  238.    If you use a mail processor on your RBBS-PC message bases OTHER than
  239.    RBBSMail, MsgToss, or OverMail, and said mail processor *DOESN'T* use
  240.    a period or semicolon as its 'mark' in the second separator in the TIME
  241.    field, we'd sure like to hear about it so that we can attempt to make
  242.    MAILFIX compatible with your system.
  243.  
  244.    WHEN, AND HOW MAILFIX FIXES A MESSAGE:
  245.    -------------------------------------
  246.  
  247.    To determine whether or not a message is valid, MAILFIX looks at the
  248.    following in the message header:
  249.  
  250.      Message number             - Should never be zero.
  251.      Killed flag                - Should always be ASCII 225 or 226.
  252.      Number of 128-byte records - Should never be less than 1.
  253.  
  254.    If the message header passes these three tests, MAILFIX assumes it has
  255.    a valid message on its hands, and moves on to do one of three things:
  256.  
  257.      - Copy it (if it isn't marked as killed, and doesn't need fixed).
  258.  
  259.          MAILFIX will step through the message's records and write them to
  260.          the output file.
  261.  
  262.      - Fix it (if it isn't marked as killed).
  263.  
  264.          If, during all of its checks, MAILFIX finds that it has a valid
  265.          message on its hands, yet the five key characters mentioned above 
  266.          DON'T MATCH what they're supposed to, the message header is 
  267.          adjusted as follows:
  268.  
  269.            * Sets the "killed" flag to indicate that this is an active
  270.              message (Ascii 225) "ß".
  271.  
  272.            * Sets the TIME separators to:
  273.  
  274.                     :: - RBBS-PC  (un-scanned by RBBSMail/OverMail)
  275.                     :. - RBBSMail and MsgToss
  276.                     :; - OverMail
  277.  
  278.              You must have specified "/R" or "/O" on the command line
  279.              for the RBBSMail/OverMail checks to take place.
  280.  
  281.              If "/R" or "/O" is specified, MAILFIX is smart enough to
  282.              discover whether or not the message has been scanned by
  283.              either one of these mail processors yet, and will not mark
  284.              an un-scanned message with the special "." or ";" separator.
  285.  
  286.            * Sets both DATE separators to "-".
  287.  
  288.      - Purge it (if it's marked as killed).
  289.  
  290.          MAILFIX will skip the entire message (and its records) if the
  291.          message is marked as killed (ASCII 226) "Γ".
  292.  
  293.    If the message didn't pass the tests, MAILFIX assumes that this is not a
  294.    message header, reports to you as such, purges the offending record, and
  295.    moves on to the next one.
  296.  
  297.    ------------------------------------------------------------------------
  298.  
  299.    *=- ABOUT MAILFIX and MESSAGE BASES with CARBON COPIES -=*
  300.        --------------------------------------------------
  301.  
  302.    MAILFIX *DOES* work with message bases that have been configured with
  303.    the new "carbon copy" feature of RBBS-PC v17.4.  MAILFIX does not go
  304.    through any special gyrations to look for multiple-recipient messages,
  305.    but it will not trash your message base, either.  When renumbering, it
  306.    will reset the message number in all "carbon copies".
  307.  
  308.    In the over 2 years of Mail Manager / MAILFIX's life thus far, we have
  309.    found that there are MANY utilities floating around out there that do
  310.    not strictly adhere to the RBBS-PC message format as-defined in the
  311.    documentation for our favorite BBS software.  MAILFIX was specifically
  312.    written to be as generic as possible, and to work with the widest
  313.    possible variety of RBBS-PC message bases.
  314.  
  315.    The only incompatibility with RBBS-PC v17.4 message bases is the
  316.    following scenario:
  317.  
  318.        The message base is configured with "carbon-copy" turned on, and
  319.  
  320.        1) - The very first header of the "carbon-copy" message is bad, or
  321.        2) - The very first header of the "carbon-copy" message is marked
  322.             as "killed".
  323.  
  324.        In the first case, MAILFIX will skip the "bad" message, and maybe
  325.        the one following it as well, until it can get its bearings and
  326.        find the next "good" message header.
  327.  
  328.        In the second case, MAILFIX will purge the entire message, even
  329.        if some of the other carbon copies have not been marked as killed.
  330.