UPCHECK.DOC

38.1 KB 0539e22108530e5f…

           ▄ ▄ ▄▄▄ ▄▄▄ ▄ ▄ ▄▄▄ ▄▄▄ ▄ ▄
           █ █ █▄█ █   █▄█ █▄  █   █▄▀  The Premium Upload Scanner
           █▄█ █   █▄▄ █ █ █▄▄ █▄▄ █ █         Version 7.0

     Copyrighted Pete Rocca & Multiboard Communications Centre, 1994-1996
                              All rights reserved


╓───────────────────────────────────────────────────────────────────────────╖
║ What is it?                                                               ║
╙───────────────────────────────────────────────────────────────────────────╜

    A premium upload scanner, description handler and true duplicate CRC
    detection built in.  Also can write a message to the user, explaining
    why the file failed, and/or to the Sysop with a warning or message
    receipt.  Fast and easy to use!


╓───────────────────────────────────────────────────────────────────────────╖
║ Quick Note                                                                ║
╙───────────────────────────────────────────────────────────────────────────╜

    Although the docs aren't the shortest ones, I suggest  you at least
    skim through them in order to get your system set up correctly... If
    you are confident that you can set up the program then run UPSETUP
    and you can also use the F1 key from that program for online help.

    Remember that 90% of all errors are caused by not reading the program
    documentation. :)


╓───────────────────────────────────────────────────────────────────────────╖
║ Overview                                                                  ║
╙───────────────────────────────────────────────────────────────────────────╜

    UpCheck and it's companion utilities are more than any Sysop could
    require in an upload file processing system...

    UpCheck is a small and quick program that is capable of scanning an
    upload for file integrity, duplications, as well as being able to
    remove unwanted files, add files and then recompress the archive in
    maximum compression mode.

    You also have the ability to quickly insert the FILE_ID.DIZ, DESC.SDI
    or DESC.SDN description into the file base description.  If the file
    does not contain a description, you can search text files, capture
    logs and even other BBS lists for a matching description to insert.

    You can set UpCheck to send a message to the user if a file should
    fail, as well as the option to send yourself a receipt of the failure.

    If you are using RemoteAccess 2.x, then you can also send online
    messages to the user to detail why a file failed while they're still
    online the system.

    UpCheck comes with a program called UpUtils.   This program can
    perform such database features as creating duplicate file signatures
    from your existing collection of files, insert the descriptions of
    files into your file database, quickly comment all of your ZIP files
    in your current hard drive collection, in order to bring them all up
    to date.  UpUtils can also set and return errorlevels depending on
    the type of archive is being processed.

    ...in short, UpCheck does what all upload scanners do, and then adds
    features not found in any other scanners.  It combines many features
    that are found in numerous other third party applications - all into
    one extremely inexpensive and powerful package.


╓───────────────────────────────────────────────────────────────────────────╖
║ UpSetup - Configuration program                                           ║
╙───────────────────────────────────────────────────────────────────────────╜

    UpCheck is very easy to install.

      1) First, unpack the contents of the archive into a directory
      2) Run the UPSETUP program

    Remember that the UPCHECK.CFG file that is created by UpSetup should
    always be in the same directory as the *.EXE files.   Also, the file
    UPCHECK.PAC must also be in the same directory as these above files.

    The database  files that you  setup in  UPSETUP do not need to be in
    any particular directory,  but to keep things simple you may want to
    specify that they be created in the same directory.

    To save space, and your time, we have installed a comprehensive
    online help system with UpCheck that you can activate from the setup
    program by pressing F1.

    If you wish to create a text file from this help file, rather than
    viewing it as you go, you can run HELP2DOC.EXE which will create
    a readable documentation file detailing each option.


╓───────────────────────────────────────────────────────────────────────────╖
║ UpCheck - Upload scanning program                                         ║
╙───────────────────────────────────────────────────────────────────────────╜

    UpCheck, the executable itself, is the actual scanning program for
    when a user uploads a file.  It is run from your bulletin board in
    a numerous number of ways.  If the following setups do not work for
    your system,  I would suggest that you consult your BBS software
    documentation for info on installation of an upload scanner.

    Please remember that when running UpCheck you should have about 400
    to 450k conventional memory available to call the external programs
    for decompression, recompression and scanning.  UpCheck itself only
    takes about 3k when calling these programs, but some of them require
    a lot of memory themselves, so to save problems, it's best to make
    sure you have a lot of memory available.


    Running UpCheck 7.0
    ──────────────────────────────────────────────────────────────────

     UPCHECK [dropfile [/I:hex,irq,locked]] <archive> [node] [options]

       <> = Required parameters
       [] = Optional parameters

       [dropfile]   Full path and filename of EXITINFO.BBS, DORINFOx.DEF
                    or DOOR.SYS.  If no dropfile is specified, then it
                    will run in local mode without any remote display.

       [/I:hex..]   Use internal communications routines with the specified
                    information instead of the fossil driver.  For example
                    to not use the fossil driver, but use the internal com
                    routines on COM2 (2f8), IRQ5 and with a locked baud rate
                    of 57600, use /I:2F8,5,57600

                    ** IMPORTANT NOTE **

                    If you are using the internal communication routines,
                    then UpCheck can not take advantage of it's swapping
                    routines, and if you require more memory to run the
                    scanner and extractors, you will need to use a program
                    called "SHROOM.COM" (freqable using "SHROOM" from me
                    at 1:2401/305)  Another solution might be temporairily
                    installing a fossil driver before UpCheck is run and
                    unloading it afterwards.

       <archive>    The archive filename (or wildcard search) to process.

       [node]       Define the current node.  This is mainly important
                    for logging purposes.  Also, if you are using the
                    DOOR.SYS file you never need to declare the node number.

       [options]    /NOViruscheck - Disable virus checking
                    /NOAgecheck   - Disable file age checking
                    /NODupecheck  - Disable duplicate file checking

                                                                                      [node]       Optionally override the node number
    ═══ Running under RemoteAccess 2.x

         When running under RemoteAccess, the line that you should enter
         in the...  "Options -> Files -> Upload scan" ...field should look
         something like this:

             C:\UPCHECK\UPCHECK.EXE \RA\EXITINFO.BBS @ *N *M

         Or if you are running a multinode system:

             C:\UPCHECK\UPCHECK.EXE \RA\NODE*N\EXITINFO.BBS @ *N *M

         Recall from your RemoteAccess documentation that the *N is replaced
         with the node number and the @ is replaced with the path/name of
         the uploaded file, and that the *M means to use the MemorySwap
         function of RemoteAccess.

         Here's an example below...

         ═════════════════════════════════════════════════════════════════
         Scan online  Yes
         Failed scan  /move to 58
         Scan utility \RA\DOORS\UPCHECK\UPCHECK.EXE EXITINFO.BBS @ *N *M
         ═════════════════════════════════════════════════════════════════

         UpCheck doesn't care  about the Failed Scan action, as RemoteAccess
         will handle it when it gets the Pass or Fail sign from UpCheck.
         You might however, want to either delete it or move it to another
         directory,  as otherwise it will still be available for users.

         UpCheck doesn't care about the Scan Online either. If the dropfile
         is missing, it will assume that there is no user online and will
         surpress any output to the modem.  Note though, that if a dropfile
         cannot be found, UpCheck can't figure out who is uploading the
         file, therefore will not send mail to anyone should a file fail.

         Also remember to turn on upload scanning in the area(s) that you
         permit uploads.

         You might also want to change the language prompt # 637 from
         "Failed Virus Scan" to "Failed" as there are many reasons a file
         can fail.

    ═══ Running under TriBBS

         When running under TriBBS, turn the "Scan Uploads" to "NO" in the
         setup.  TriBBS looks for a file called "UPLOAD.BAT"  file in its
         node directory, and runs it if it exists.

         Therefore you should place a file called "UPLOAD.BAT" that looks
         similar to this, in _EACH_ of your node directories.

         --- UPLOAD.BAT
             @echo off
             c:\upcheck\UPCHECK.EXE c:\tribbs\dorinfo1.def %1
             if errorlevel 1 goto :fail
             goto :end
             :fail
             rem *** actions to take on failed file ***
             move %1 c:\badfiles
             c:\upcheck\UPUTILS.EXE /E 1
             :end

             ( Of course change the paths mentioned  )
             ( here to paths that reflect your setup )

         If you are running more than one node, then copy the UPLOAD.BAT
         to each node directory, and change the reference from node 1 to the
         other nodes, for example: c:\tribbs to show as c:\tribbs2, etc.

         It seems that some TriBBS users have had a problem when using
         the DOOR.SYS dropfile when scanning, therefore I would suggest
         using the DORINFOx.DEF file if you have any problems.

    ═══ Running under SuperBBS 1.17+

         When running under SuperBBS, you should set the CONFIG.EXE ══
         Paths ══ Virus Scanner to look something like this:

             C:\UTIL\UPCHECK.EXE C:\SBBS\DORINFO1.DEF %1

             ( Where %1 is the drive\path\filename.ext )

         Also CONFIG.EXE ══ Paths ══ Virus Check, should be set to "Yes".
         If you require or have a more complex setup, you can either edit
         your BBS.BAT file, or call a batch file for scanning, instead the
         actual EXE file. Remember that UpUtils can be utilized to change
         and report errorlevels as needed.

    ═══ Running under PCBoard

         Running under PCBoard is a little different then  for most systems.
         You will need a batch file that looks something like this:

         --- PCBTEST.BAT
             @echo off
             if not %2 == UPLOAD goto :not_upload
         δ   TYPE %3 >> c:\pcb\main\public
             DEL %3
             IF exists pcbfail.txt DEL pcbfail.txt
             c:\upcheck\UPCHECK.EXE door.sys %1
             IF errorlevel 1 ECHO. > pcbfail.txt
             goto :end

             REM --------------------------------------------
             REM This is the part for non-upload testing...
             REM Used from the original PCBTEST.BAT
             REM --------------------------------------------
             :not_upload
             testfile %1 arc zip
             if errorlevel == 98  goto end
             if errorlevel == 2   goto zip
             if errorlevel == 1   goto arc
             goto end

             :zip
             echo ■ Testing ZIP file integrity
             pkunzip -t %1 > pcbfail.txt
             if errorlevel == 1 goto end
             del pcbfail.txt
             goto end

             :arc
             echo ■ Testing ARC file integrity
             pkxarc -t %1 > pcbfail.txt
             if errorlevel == 1 goto end
             del pcbfail.txt
             goto end

             :end

         δ   In the above example the c:\pcb\mail\public
             is the name of your upload directory.


    ═══ Running under other BBS software

         UpCheck can run under practically any type of BBS software with
         few modifications or troubles.  The key things to remember are
         that you should turn on the Upload Scanning feature of your
         software, and for the file name of the Upload Scanning Program,
         just insert UPCHECK.EXE with the appropriate parameters as
         mentioned above.


╓───────────────────────────────────────────────────────────────────────────╖
║ UpCheck - The log file                                                    ║
╙───────────────────────────────────────────────────────────────────────────╜

    The log file contains information about who uploaded what, and what
    happened to the file.  It has four possible entry types...

    1) User: This is the user's name
    2) File: This is the file that was processed
    3) Code: This is a code to explain an error if one occurred
    4) Stat: This is the status of the file

    Below is  a table that  gives a reference  to many  of the possible
    values that "Code" may return.

       ═════╤════════════════════════════════════════════════════════
       Code │ Section = Program return codes
       ═════╪════════════════════════════════════════════════════════
        0-x │ Every program has its own return code setup, consult
            │ its documentation regarding the (x) return code

       ═════╤════════════════════════════════════════════════════════
       Code │ Section = Swapping routines
       ═════╪════════════════════════════════════════════════════════
        1-1 │ No space for swapping
        1-2 │ Program is too low in memory
        4-0 │ Error allocating environment
        5-0 │ Error calling swap
        5-1 │ Could not return from swap
        5-2 │ Could not swap out
        6-x │ Error caused during redirection

       ═════╤════════════════════════════════════════════════════════
       Code │ Section = Program being called
       ═════╪════════════════════════════════════════════════════════
        2-0 │ Not found
        2-1 │ Invalid drive
        2-2 │ Invalid path
        2-3 │ Invalid name
        2-4 │ Invalid drive letter
        2-5 │ Path too long
        2-6 │ Drive not ready

       ═════╤════════════════════════════════════════════════════════
       Code │ Section = Dos error codes
       ═════╪════════════════════════════════════════════════════════
        3-2 │ File not found
        3-3 │ Path not found
        3-5 │ Access denied
        3-6 │ Invalid handle
        3-8 │ Not enough memory


╓───────────────────────────────────────────────────────────────────────────╖
║ UpUtils - System Utilities                                                ║
╙───────────────────────────────────────────────────────────────────────────╜

    UpUtils is a supplementary program that is designed to simplify the
    job of creating duplicate  databases and  making sure  that all the
    file  descriptions are correct,  as  well as  add support for third
    party utilities.  Wildcards are valid for UpUtils.


    Running UpUtils
    ──────────────────────────────────────────────────────────────────

    ═══ Command line parameters

         /A = Add the files signature into the bad files listing. This
              is good for files that stay the same except their name,
              like randomly named BBS ads.

         /I = Enable the insertion of descriptions that are included
              inside some of the files.   This allows you to quickly
              put your descriptions into the data base.

         /Y = Yank descriptions from text files.  This switch will extract
              descriptions from other BBS lists, captured logs, FILES.1
              type files, in just about any format.

              If the file does not contain a FILE_ID.DIZ, DESC.SDI or
              DESC.SDN, then UpUtils will attempt to locate the files in
              the 'Description Files', that are set in UpSetup.  If found,
              it will extract the description from the text files and insert
              it into the FDB

              The "/I"  switch must be on for the "/Y" switch to operate.

         /D = Enable duplicate checking & building.  This allows you to
              build a dupe list of all your files that are presently
              on your system.

         /K = Kill duplicate files.  This switch will cause all the files
              that are checked and duplicates to be deleted.

              **USE THIS WITH EXTREME CAUTION**

              You could lose all your files if you do not use this one
              properly.   The "/D" switch must be on for the "/K" switch
              to operate.

         /P = This is the same as the /K switch but will prompt you for a
              decision before deleting the file.  The "/D" switch must be
              on for the "/P" to operate.

         /S = Scan subdirectories.   This switch is useful when doing all
              your files as it allows the program to search the specified
              directory and all of its lower subdirectories also.

         /Q = Query the database.  This switch will return the current
              statistics of the database holding the information on the
              number of files processed, failed and passed, etc.

         /C = Comment ZIP files.  This switch will comment the ZIP files
              it comes in contact with,  with the ZIP comment file as
              specified in UpSetup.

         /Z = Purge the duplicate files database.  This command will remove
              signatures of files that are smaller than the 'minimum size to
              store' setting.  The benefits of a smaller database is mainly
              speed while checking for any duplicate files.  The drawback
              is the chance of smaller files passing the dupe check when
              they are duplicates.

         /E = Returns an errorlevel as specified.  This is only good when
              creating an advanced batch file setup.   Refer to the next
              section for more info.

         /R = Returns an errorlevel associated to the type of file processed.
              Again, this is for the advanced batch file setups.

         The UpUtils program also requires a file specification for files
         to process.   Wild cards are valid.  For example, if you want
         to process all ZIP files, you would put "*.ZIP" for your file
         specification.

         Although UpCheck will handle multi-level embedded archives,
         UpUtils only will seek into the original archive.  The reason for
         this, is that any other way would make the building of your
         database too incredibly time consuming, and that the first level
         is usually more then enough for testing.

         If you require each file to be processed fully, use UpCheck in
         local mode instead of UpUtils.


    Sample batch files for automated tools
    ──────────────────────────────────────────────────────────────────

    ═══ Batch Files

         Download a lot of files but hate uploading them locally or
         running UpCheck in local mode?   Well with UpUtils,  you can
         use a batch file like this...

         @echo off
         MOVE \downloads\*.* \bbs\uploads
         UPUTILS /i /d /c \bbs\uploads\*.*

         It's a fast way to add the signatures to the duplicate base,
         comment your ZIP files and insert the FILE_ID.DIZ.

         If you need to perform full scanning, and to add your BBS file
         to the archive, then use a batch file like this...

         @echo off
         move \downloads\*.* \bbs\uploads
         UPCHECK \bbs\uploads\*.*

         This will perform the full scanning on the files and add the
         archive comment, archive file, recompress, delete all the
         unwanted files, scan, etc.. and add the FILE_ID.DIZ to the
         filebase description.  Remember that for both of these batch
         files, it's a good idea that the "\bbs\uploads" directory be
         empty before running this, as otherwise, it will process the
         files that had already been processed prior to running the batch
         file.   Also note, that you should replace the "\bbs\uploads"
         and "\downloads" with the appropriate paths for your own system.


╓───────────────────────────────────────────────────────────────────────────╖
║ Advanced User Tools                                                       ║
╙───────────────────────────────────────────────────────────────────────────╜

   With the UpUtils utility you can build your own advanced batch file.
   With a great batch file, you can make just about anything happen with
   your archives.

   The two functions /REPORT and /ERRORLEVEL allow for some great ways
   to handle certain conditions.

   The easiest way to show how  you can use these is to look at the file
   ADVANCED.BAT that is included in this archive.

   Remember that UpCheck does not require that you make such a batch
   file system and will run just fine in 99.99% of all situations. These
   functions are to provide additional ways for you to implement third
   party utilities.


╓───────────────────────────────────────────────────────────────────────────╖
║ Scanning in text for descriptions                                         ║
╙───────────────────────────────────────────────────────────────────────────╜

    With UpUtils, you can retrieve descriptions for files that do not
    have a FILE_ID.DIZ, DESC.SDI or DESC.SDN in them.   This is done by
    setting up some "Description files" in the UpSetup program, and then
    using the "/YANK" switch of UpUtils (with the "/INSERT" switch also)
    What UpUtils will do is scan through these "description files" and
    search for a matching filename.  If one is found, it will grab the
    description that is listed, and insert it into your filebase.  The
    files can be almost any text format, as UpUtils will synchronize the
    descriptions itself.  For example, if you called up a BBS, you could
    turn on your 'capture' function of your terminal, then when you had
    downloaded some files, you could use this capture file as a file to
    search through in case the files didn't have a FILE_ID.DIZ type file
    in them.  This is what you can do:

      1) Go into your terminal and start a capture file
      2) Call a BBS and download some files, read mail, whatever
      3) Repeat step 2 as many times as you wish
      4) Exit the terminal
      5) Run UpUtils with /INSERT /YANK /COMMENT  and /DUPE turned
         on, in order to insert all the descriptions (yanked or
         embedded), comment the ZIP files with your logo, and add
         the files data into the duplicate database.

    With this you will never need to enter a description manually into
    your file listings again!

    Another use for this might be if setting up a new BBS,  and you want
    to add all the descriptions for the files you have.  Well, you could
    download a couple BBS lists from other systems, and use those for
    description files to be yanked from.   Also, if you ever lost your
    descriptions, you could insert them back using your own BBS listing.


╓───────────────────────────────────────────────────────────────────────────╖
║ Running with TBAV                                                         ║
╙───────────────────────────────────────────────────────────────────────────╜

    UpCheck will run with any scanning system created now or in the
    future.  UpCheck will handle multiple scanners, because it can call
    any program you wish, including batch files.  Here's an example file
    that will use McAfee's scanning system, and then ThunderByte after.

         @echo off
         SCAN *.* /sub /nomem /nopause        (for McAfee Scan v1.x)
         SCAN *.* /sub /nomem                 (for McAfee Scan v2.x)
         if errorlevel 1 goto :end
         if exist *.exe goto :next
         if exist *.com goto :next
         if exist *.sys goto :next
         goto :end
         :next
         TBSCAN nb nm nh ba lo ll=0 ap ol ln=c:\upcheck\upcheck.log
         :end

    To implement this,  select UpSetup ═ External Programs ═ Scanning and
    replace the "SCAN.EXE etc" with  the name of the batch file you just
    created.  Now your system is setup to work with TBAV and McAfee.

       Scanning Program:  SCAN.BAT

          (  Provided SCAN.BAT is in your system path, otherwise  )
          (  include the full path to the batch file you created. )

    With the same principles, you can do any type of scanning,  or other
    modifications on archives for that matter, by replacing the standard
    "External Programs" with your own customized batch files.


╓───────────────────────────────────────────────────────────────────────────╖
║ Matchup files                                                             ║
╙───────────────────────────────────────────────────────────────────────────╜

    If you plan on receiving uploads into directories and having the file
    listing for that directory stored in another directory, you will need
    to use a matchup file.

    The structure of a matchup file is quite simple:

    Full_path_to_file_list,Directory_path_for_uploads

    For example, you could call your matchup file MATCHUP.CFG:

    C:\PCB\DIR1,C:\FILES\UPLOADS
    C:\PCB\DIR2,C:\FILES\GAMES
    C:\PCB\DIR3,C:\FILES\BBSDOORS

    Then you would tell UpCheck to use this matchup file in order to find
    the correct file listing to update when uploads were received.


╓───────────────────────────────────────────────────────────────────────────╖
║ License and Disclaimer                                                    ║
╙───────────────────────────────────────────────────────────────────────────╜

    UpCheck is not free.

    It is being marketed under the "try before you buy" or shareware
    concept. You are entitled to use UpCheck, UpSetup, UpUtils and the
    companion utilities for a period up to forty-five (45) days, after
    which you MUST register it or stop using it.

    Registration entitles you to use UpCheck and its companion programs
    as well as any future versions of the programs that may or may not
    be released, subject to any new licensing arrangements. Registration
    will also unlock all of the features that UpCheck is capable of. (In
    other words, the {+} features)

    By running any of the executable programs included, you agree that
    Pete Rocca, nor any affiliates of Pete Rocca are responsible for
    any damage ever experienced, however so created. If you cannot agree
    to this, then your privilege to use any of these programs is revoked
    and it becomes illegal for you to execute any programs included with
    this documentation.

    You may freely copy and distribute the shareware version of UpCheck
    as long as its original archived contents are not modified in any
    way.  You may not distribute a registration key without the express
    written consent of Pete Rocca at Multiboard Communications Centre.
    You may not use a registration key that is not licensed to you by
    Pete Rocca, the author of this program.

    It is illegal to edit, alter, hack, reverse engineer and / or modify
    any components of the UpCheck archive in any manner.

    If dispute of any issues on legal grounds said above, then governing
    law of Ontario, Canada will rule.


╓───────────────────────────────────────────────────────────────────────────╖
║ Registration                                                              ║
╙───────────────────────────────────────────────────────────────────────────╜

    UpCheck is probably one of the most powerful utilities that you will
    have running on your system.  - It's probably also the lowest priced
    piece of Shareware that does so much.   Compare all it's features to
    some programs that only perform one or two of it's functions and are
    more expensive.  If you continue to use this product, please support
    it, and mail in your registration.

    Simply fill out the included registration form and mail it to the
    address specified within.


╓───────────────────────────────────────────────────────────────────────────╖
║ Support                                                                   ║
╙───────────────────────────────────────────────────────────────────────────╜

   If you have any questions or comments, you  can netmail me at FidoNet
   address 1:2401/305 (XA,CM,V34,VFC,V32,V42).  Please poll back within
   24 - 48 hours for a reply, or request  that I route the message back
   to you.

   Also you can contact me via the internet at "support@multiboard.com"
   or visit our WWW page at "http://www.mgl.ca/~multib".  You can also
   find our latest releases at "ftp://ra.uti.com/sys/bbs/bbs/mcc"

   You can also find me in the RemoteAccess Utilities FidoNet area, as
   well as in the MCC_SUPPORT FidoNet echo as well.


╓───────────────────────────────────────────────────────────────────────────╖
║ Common questions and answers                                              ║
╙───────────────────────────────────────────────────────────────────────────╜

    Q: Can I run it with TBAV and F-PROT?
    A: Yes,  read the "Running with TBAV" section,  and simply adjust the
       batch file as need.

    Q: My users don't get anything on their side when UpCheck is running?
    A: Make sure that the dropfile (DOOR.SYS, DORINFOx.DEF, etc) is where
       you have specified on the command line. If the dropfile is missing
       UpCheck will run in local mode only.

    Q: It seems to lockup during zipping or unzipping.
    A: Try adding "-)"  (without the quotes)  to the end  of the .ZIP de/
       recompression lines. This disables the DPMI option of ZIP which is
       not fully compatible with some DPMI servers.

    Q: Do I have to put the files in my path?
    A: No,  nor do you need to set any environment variables. If you want
       to be able to  run these files  from anywhere on your system,  you
       might want  to make some  batch files that  are in your path, that
       would simply look like this:

       --- UPCHECK.BAT
       @echo off
       c:\upcheck\UPCHECK.EXE %1 %2 %3

       --- UPUTILS.BAT
       @echo off
       c:\upcheck\UPUTILS.EXE %1 %2 %3 %4 %5 %6 %7 %8 %9

    Q: Will UpCheck work properly on multinode systems if someone else is
       uploading, or browsing the file areas?
    A: Absolutely.  UpCheck is able to fully scan files, check duplicates
       update the filebase and  post messages when  other nodes are using
       the same files.  UpCheck is fully SHARE/Network locking aware.

    Q: I noticed that  with 2400 baud callers,  sometimes the file starts
       scanning before they have the updated screen?
    A: Yes, UpCheck will dump the screen to the modem,  and then start to
       perform its tasks.   This way,  the user has less time to wait for
       their upload to be processed.

    Q: Can I disable virus scanning?
    A: Yes, specify the scanning program as "OFF" (without the quotes)

    Q: Does UpCheck work with OS/2?
    A: Yes.  This program has not had any reported bugs when running with
       OS/2 2.0 through 3.0, as well as WinOS/2, DESQview 2.40 through 2.63,
       DESQview/X 1.2 through 2.0 and MS-DOS 3.0 through 7.0.  It also
       works under Windows 3.x, WindowsNT and Windows95.

    Q: I see this wierd  blue square  flashing in the top right corner of
       my screen.
    A: This is an indicator to you  that file access has been denied from
       UpCheck or UpUtils for more than a half a second. It will continue
       for about 30 seconds or until the files are made  available to it.
       This is to let you know the current situation, so you do not think
       that your system is 'frozen' or 'hung'.  The square  will never be
       displayed to a remote caller.

    Q: The file listings are not being updated!
    A: There are a number of reasons this might be happening.
         The most common are...
         1) scanning files in a directory that is not defined in either
            the FILES.RA (RemoteAccess 2.x) or in the matchup file for
            non-RemoteAccess 2.x users.
         2) the filebase was locked for more that 30 seconds
         3) the filelist name in the matchup file is incorrect


╓───────────────────────────────────────────────────────────────────────────╖
║ Errors                                                                    ║
╙───────────────────────────────────────────────────────────────────────────╜

   If you ever get a runtime error, chances are pretty good that you have
   incorrectly specified a path or file name, or you that the UPCHECK.CFG
   or UPCHECK.DAT file is corrupted.

   In any case, if you ever get a runtime error, the only thing that will
   most likely happen is that the  file will report failed.  Any runtime
   errors will NOT cause your system to 'hang'.

   Any logical errors or runtime errors that you cannot seem to resolve
   should be reported to 1:2401/305 for my evaluation, please include the
   error number and location, the look of the screen and the current task
   that the program was under and I will get back to you with a solution.

        Example : Runtime error 103 at 05C3:3029
                                  \         \
                                   Number    Location


   Other neat stuff:

   UpCheck avoids a large number of problems that other scanners seemed
   to have over looked.  The classic one is this:

      a) a file called TEST.ARJ gets uploaded and rearchived to ZIP
         format so now a file called TEST.ZIP exists

      b) a different program called TEST.LZH gets uploaded and
         rearchived to  ZIP, the BBS allowed the upload because the
         file TEST.LZH did not exist, but the scanner failed to
         realize that another program already existed in the same
         directory with the same name.  The scanner would either
         delete the first file, or add all of TEST.LZH's files into
         the first file. Yuck!

   UpCheck would have renamed the second file TEST.ZI0 and updated the
   filebase accordingly. UpCheck will continue renaming from ZI0 to ZI9
   to ZIA to ZIZ as files are duplicated. (Although the rarity of any of
   this happening is so far fetched, it shows the detail and concern
   that UpCheck exhibits)

   Many other scanners will also not update the filebase with the new
   size or type of the file once rearchived (and/or the garbage killed)
   but UpCheck will always update the base.

   Also, many scanners either abort or 'freeze' the system if a caller
   hangs up during scanning.... not UpCheck.

   Also, if the file doesn't exist in the filebase, some scanners will
   not update it with the added information, or the FILE_ID.DIZ files.

   If you find a problem, PLEASE let me know as soon as possible so I
   can fix it and get you rolling again in no time flat!


╓───────────────────────────────────────────────────────────────────────────╖
║ Acknowledgments                                                           ║
╙───────────────────────────────────────────────────────────────────────────╜

    Requires at least Dos 3.3 and  about 450k free conventional memory.
    (Can't do much about the memory problem, only 3k of that is mine,
    the rest you can blame on McAfee and the author of SQZ.) SHARE.EXE
    must also be loaded for Dos systems.

    The JAM message base format is used in UpCheck and  this is the JAM
    license header...  "JAM(mbp) - Copyright 1993 Joaquim Homrighausen,
    Andrew Milner, Mats Birch, Mats Wallin. ALL RIGHTS RESERVED."   The
    RemoteAccess filebase format, RemoteAccess and RA are (C) Copyright
    Andrew Milner and Wantree Development, 1993.   All rights reserved.
    The TriBBS  message base format is Copyright 1993 Mark D.  Goodwin.
    SuperBBS Bulletin  Board Software is Copyright (C) 1990-1993, Risto
    Virkkala and Aki Antman.  The PCBoard software is Copyright (C)1993
    by Clark Development Company, Inc.

    PKZIP/UNZIP,PKARC/PKXARC, Copyright PKWARE; ARJ, Copyright Robert K
    Jung; LZH/LHA, Copyright Haruyasu Yoshizaki; PAK,  Copyright NoGate
    Consulting; UC2, Copyright Ad Infinitum Programs;  SQZ, Copyright J
    I. Hammarberg;  SCAN, Copyright by McAfee Associates;  TBSCAN/TBAV,
    Copyright Thunderbyte B.V; X00, Copyright Ray Gwinn; BNU, Copyright
    David Nugent & Unique Computing; DESQview, Copyright by Quarterdeck
    Software;  MS-DOS, MS-Windows,  Copyright by Microsoft Corporation;
    OS/2, Copyright International Business Machines Corporation. Thanks
    to the  public domain swapping  utilities that required very little
    in the way of tweaking, by Thomas Wagner. GIF(tm) is a trademark of
    CompuServe. JPG is maintained by an ISO WorkGroup and ANSI.

    Also, a BIG THANKS, to my wife Laurie,  who hates me being on 'this
    damn machine', but still finds the way to support me.  Thank you.

    Thanks to you,  the user,  for actually reading to the  end  of the
    documentation, and remember, please register, it's cheap!


                           * Documentation End *