


        ZVTST.DOC 11 / 23 / 89

The programs described herein, excepting SCAN (Copyright McAfee
associates) and PKUNZIP (Copyright PKware) are released into the
public domain as of 11/23/89.  They may be freely distributed as
long as no fee over $5.00 US is charged for duplication services.


What is the Z/V test Kit?
-------------------------
ZVtest is a set of modular programs designed for the BBS SysOp
and the average computer user.  ZVtest allows you to automatical-
ly test ZIP files damage and the files contained in the ZIP file
for viruses.


Caveats (Warnings)
------------------
SysOps Please note: The SysOp components are written for PCBoard
                    BBSs.  This is the ONLY type of BBS that I am
                    SURE will be able to use the SysOp componants
                    of the ZVtest kit, try others at your own
                    risk.

In order to make use of the ZVtest kit, you will need a version
of McAfee Associates virus tester "SCAN".  I recommend version
1.7V49 or higher, since this is the version that I used to test
ZVTEST.   You will also need the PKZIP/PKUNZIP utility from
PKware Inc.   The latest version available at this time is 1.02
Both of these utilities should be in your path or in the current
directory (the one you'll be running ZVtest from).  PLEASE NOTE
that both of these utilities are shareware, and should be regis-
tered with their respective authors if you plan on using them
regularly.

You will also need plenty of free disk space, aproximately enough
to hold the unzipped contents of your largest ZIP file plus about
60 K.

Please also note that there are NO provisions in the ZVtest kit
for the use of ARC-type files.  Anyone still using ARC format
files deserves what he gets.



Files Contained in ZVtest. (approximately in order of use)
and projected user.
----------------------------------------------------------
ZVTST.TXT (all)
DFFIX.EXE (SysOp)
FLIST.EXE (all)
BATBLD.EXE (all)
DFUPD.EXE (SysOp)








Thumbnail descriptions:
-----------------------

     ZVTST.TXT
          you're currently reading it.

     DFFIX.EXE
          'Synchronize' the file dates in your directory list
          file with the date & time stamps of the files described
          therein.  Also rewrites the description information in
          proper case.

     FLIST.EXE
          Builds the list of files to be tested.

     BATBLD.EXE
          Creates a DOS batch file to test all of the selected
          files for the presence of viruses, as well as for
          damaged ZIP files.

     DFUPD.EXE
          Updates your directory list file to reflect any prob-
          lems found.


Using ZVtest
------------
I'll go thru this twice, once for SysOps and once for normal
users - You may want to skip whichever section doesn't apply to
you.



                             SysOps
                             ------

     For reasons of preserving my sanity, we'll start with some
     basic terminology: 
     DIR - the DOS drive & path where the files are actually
     located.
     DIRLIST - the text files that your BBS uses to hold the
     associated file name & description.
     TMPDIR - an empty subdirecory that can be located on any
     drive that will be used as temporary work space.  ZVtest
     will NOT create this.

     Okay, having gotten that out of the way.  I use a batch file
     to run ZVtest, you'll probably want to also.  The batch file
     that I use is included in the ZVtest release file as
     "SYSTST.BAT".











DFFIX.EXE
---------
Purpose:
          DFFIX does 2 things;  it reconciles the time & date
          stamp of the file with the date contained in your dir
          list.  (some transfer protocols keep the originating
          file creation date, and the file date is what FLIST
          uses to determine if the file needs to be tested.) and
          re-writes the dir file description information in
          proper upper/lower case convention. 

Usage:
          DFFIX requires 3 command line parameters.  They are;

          Parameter 1 is the drive, path and name of your DIRLIST
          file.

          Parameter 2 is the drive & path of your DIR.

          Parameter 3 is the drive, path and filename of the new
          DIRLIST file that dffix is about to create.

FLIST.EXE
---------
Purpose:
          FLIST creates a file named TESTFILS.LST  that contains
          the drive, path and filename of all files to be tested. 
          This file will be located in the current directory.

Usage:
          FLIST requires 1 command line parameter and has an
          optional second parameter.  The first argument is the
          drive and path of the directory containing the files to
          be tested.  The optional second argument is the word
          ALL , which will instruct FLIST not to do the normal
          date testing.  This option will simple produce a list
          of the files in the directory to be tested.

BATBLD.EXE
----------
Purpose:
          BATBLD reads the list of files produced by FLIST and
          creates a BAT file containing the DOS commands neces-
          sary to extract the file, detect any errors with the
          extract process, scan the files contained in the ZIP
          file for the presence of virus infections, detect any
          virus found information, and create a list of any
          'problem' files.







Usage:
          BATBLD requires 1 command line parameter, the directory
          to be used as temporary storage space for the tests. 
          This directory MUST exist (nothing in the ZVTEST kit
          creates or deletes directories), and should be empty. 
          If you supply the name of a directory that contains
          files, it won't contain them for long....

TESTFILS.BAT
------------
Purpose:
          BATBLD.EXE creates this file.  If one existed before,
          it was overwritten.  This is the DOS BAT file that
          performs all of the tests and captures the results.
Usage:
          TESTFILS.BAT requires and accepts no parameters or
          configuration files.  Any problems that the testing
          procedure finds will be in a file named PROBLEMS.LST,
          which will be located in the current directory. The
          files are listed one file per line of the file.  The
          type of problem will also be in this file - if the last
          character on the line is a 'Z', it was unextractable. 
          If the last character on the line is a 'V', a virus was
          detected.


DFUPD.EXE
---------
Purpose:
          DFUPD.EXE reads the list of files that had problems and
          updates your dirlist file, as well as deleting the file
          in question.  If the file was damaged, the first de-
          scription line for that file will be rewritten to say"
          DAMAGED UPLOAD: DELETED ".  If the file had a virus "
          infection, the first description line will be rewritten
          to say "VIRUS DETECTED: DELETED".  Each line will start
          with three (3) ascii code 240 (decimal)s.  I did NOT
          make the file delete an option, if you want me to, drop
          me a comment and I'll hook it up.  Personally, I didn't
          see the point.



Usage:
          DFUPD requires 3 command line parameters.  They are;

          Parameter 1 is the drive, path and name of your DIRLIST
          file.

          Parameter 2 is the drive & path of your DIR.

          Parameter 3 is the drive, path and filename of the new
          DIRLIST file that dffix is about to create.





SysOp usage comments, etc.
--------------------------
The following is the section of my event that runs the ZVtest
routines;


dffix q:\pcb\gen\dir21 r:\pcb\dir21 q:\pcb\gen\newupdr.tmp

                                        Reconcile the file dates
                                        with when they were
                                        uploaded, and clean up
                                        after the upper case
                                        typists of the world.


flist e:\pcb\dir21                      Check the files located
                                        in my recent uploads
                                        directory & list all of
                                        the ones that have been
                                        uploaded in the last 2
                                        days.


batbld e:\pcb\dir21\testwrk             Build the BAT file to
                                        perform all of the tests,
                                        and use the directory
                                        '\pcb\dir21\testwrk' on
                                        drive e: for the tempo-
                                        rary workspace.

call testfils                           Call the BAT file you
                                        just built.  Don't forget
                                        to CALL it, or control
                                        will never return to the
                                        event BAT!  (If you're
                                        using a DOS version pre
                                        3.3, use the command/c
                                        construct.)

if not exist problems.lst goto noprob   If the file PROBLEMS.LST
                                        doesn't exist bypass the
                                        next step or you'll get a
                                        'file not found' error,
                                        and the system will sit &
                                        wait for you to hit
                                        <ENTER>.


dfupd q:\pcb\gen\dir21 r:\pcb\dir21 q:\pcb\gen\newupdr.tmp
                                       
                                        Update the dir list file
                                        to reflect any problems
                                        found and delete the
                                        problem files.

:noprob                                 No problems were found in
                                        any of the files to be
                                        tested.







                         Standard Users
                         --------------


FLIST.EXE
---------
Purpose:
          FLIST creates a file named TESTFILS.LST  that contains
          the drive, path and filename of all files to be tested. 
          This file will be located in the current directory.

Usage:
          FLIST requires 1 command line paramater and has an
          optional second parameter.  The first argument is the
          drive and path of the directory containing the files to
          be tested.  The optional second argument is the word
          ALL , which will instruct FLIST not to do the normal
          date testing.  This option will simple produce a list
          of the files in the directory to be tested.

BATBLD.EXE
----------
Purpose:
          BATBLD reads the list of files produced by FLIST and
          creates a BAT file containing the DOS commands neces-
          sary to extract the file, detect any errors with the
          extract process, scan the files contained in the ZIP
          file for the presence of virus infections, detect any
          virus found information, and create a list of any
          'problem' files.

Usage:
          BATBLD requires 1 command line parameter, the directory
          to be used as temporary storage space for the tests. 
          This directory MUST exist (nothing in the ZVTEST kit
          creates or deletes directories), and should be empty. 
          If you supply the name of a directory that contains
          files, it won't contain them for long....

TESTFILS.BAT
------------
Purpose:
          BATBLD.EXE creates this file.  If one existed before,
          it was overwritten.  This is the DOS BAT file that
          performs all of the tests and captures the results.
Usage:
          TESTFILS.BAT requires and accepts no parameters or
          configuration files.  Any problems that the testing
          procedure finds will be in a file named PROBLEMS.LST,
          which will be located in the current directory. The
          files are listed one file per line of the file.  The
          type of problem will also be in this file - if the last
          character on the line is a 'Z', it was unextractable. 
          If the last character on the line is a 'V', a virus was
          detected.






General Comments on ZVTEST
--------------------------

I made little effort to make these programs 'pretty' since I was
in a hurry and simply needed them to WORK.  They do indeed work,
I have been using them on my BBS for about 8 weeks with no prob-
lems at all.  If you have questions or problems with the ZVtest
kit, this is where to reach me.


The Hacker Central BBS   |  201-334-2555  |  300/1200/2400   8N1



Since the ZVtest kit makes use of PKwares' PKZIP utility and
McAfee Associates SCAN  I want to urge you to register them if
you plan on using the ZVtest kit regularly.



I ask for no registration fees for ZVtest because I basically
wrote them for my own BBS.  If they do something that will help
you,  I'm glad I was able to be of help.  If you want to send
some money, I'd appreciate a donation to the Red Cross or the
American Cancer Society.  Better yet  - donate some blood at your
local hospital.


If you want to call my BBS and drop a comment (or a scream) I'll
be pleased to hear from you.



                                  Michael W. Cocke
                                  12/2/89



