ZIPLAB.DOC

22.7 KB 641d4dbac6936ff6…
                        
                 ZipLab X  -  Our Tenth Anniversary Version
                   (C)Copyright 1991 by Jeffrey S. Morley
                             June 21th, 1991

                   PCBTest.Bat enhancer for PCBoard 14.5
                  
                  *** NOW SUPPORTS PRODOOR VERSION 3.4 ***
                   
ZipLab X is a alternative/replacement for the normal PCBTEST.BAT file 
which is run by PCBoard after a user uploads file(s).  In the past, we have 
all run maybe PKUNZIP -T on each file, and if there were no CRC erorrs, all 
was considered well.  There is a lot more we can do to protect ourselves and 
our users from unwanted files!  ZipLab will do the following:

* Test for CRC errors in the .ZIP file.
* Test for imbedded .ZIP files and if found, CRC check those too.
* Test for imbedded .TD0 (Teledisk) files and if found, test with TDCHECK.
* Virus SCAN imbedded EXE and COM files, using SCAN.EXE from McAffey.
* Remove all .ZIP comments from the file.
* Replace .ZIP comments with your own. (Optional)
* Delete unwanted BBS ads and/or other unwanted ZIP members as you define.
* Test .GIF files for validity if you accept that file format (Optional)
* Reject programs older than a date (year) which you specify.
* Adds most recent .ZIP member date to the description (Optional)

*******************************************************************************
          
 ******** A CHANGE TO YOUR .CFG FILE *IS* REQUIRED FOR THIS RELEASE! *********

REQUIRED:
You must already have the following programs:

PKZIP.EXE   - Phil Katz archive create program (version 1.01)
PKUNZIP.EXE - Phil Katz archive extract program (version 1.01)
TDCHECK.EXE - .TD0 (Teledisk) checker from SyDex (any version)
SCAN.EXE    - McAffey's virus detection program (any version)

There are other small utility programs which I have bundled with this .ZIP.
Those which were not written by me may require registration for continued
use.  PLEASE SUPPORT SHAREWARE AND DO SO!

RECOM.EXE   - Mike Loewen's ZIP file comment remover and date stamper.
TESTGIF.EXE - Dave Navarro's .GIF file tester (part of GIFTST33.ZIP)
DELF.COM    - A version of DEL with no "Are you sure?" prompt written by me.
              (No registration required)


Quick Start ---

* NOTE!  Since PCBoard is SHELLING out to run PCBTEST.BAT, there is limited
  memory available for PTEST.EXE.  If you are running in a multitasking 
  or other memory constrained situation, PTEST may not work!  You should 
  have at least 210k free memory when shelled out of PCBoard.  If this is
  a problem, you may want to consider the VAROOM (overlay) version of 
  PCBoard, which runs in considerably less memory than the standard PCB.EXE.
  
  The other option is to run PCBoard with the SET PCB = /SWAP environment
  variable.  This will cause PCBoard to "swap" its code to the best available
  storage (EMS, DISK) whenever a SHELL function (external protocol, viewfile,
  and even DOORs if you have the SHELL column in DOORS.DAT(LST) set to "Y")
  is called.  This method will cause a slight delay when SHELLing, but will
  provide the largest amount of available DOS memory for your external code.
  
* Place the PTEST.EXE, SETUP.EXE and DELF.COM files into a directory which is
  in your DOS PATH.
* UnZIP the enclosed supplemental utilities into directories in your DOS PATH.
  Make note of where you put them, you will need this information later.
* Create, or use any existing directory to hold your PTEST configuration files.
  Change into this directory, and run SETUP.EXE once for each of your nodes.
  Be sure to give different configuration file names for each node.  I use
  PTEST1.CFG and PTEST2.CFG. You may keep the particular node's configuration
  file in the PCBoard ROOT/HOME directory for the node, but this is not 
  required.  
* Fill in the following information when prompted by SETUP.EXE:

        -  The type of modem HANDSHAKE you desire.  This can be 
           0, 1, 2 or 3.  0=none, 1=XON/XOFF, 2=CTS, 3=CTS & XON/XOFF
           (Use 2 or 3 with an error correcting modem...)
NEW!!   -  The DRIVE:\PATH\NAME of your PCBOARD.DAT file for this node.
        -  The name of your BBS system.  43 characters maximum.
        -  The DRIVE and PATH to the directory where rejects will be
           placed pending manual sysop inspection.
        -  The date (yyyy) which will be the minimum acepted year.  ZIPs
           containing files older than this will be rejected.
        -  A "Y" if you wish the "recent date" notation added to the file
           descriptions.  A "N" if you do not wish this addition.
        -  The fully qualified filename of the zip comment to add, or
           type "NONE" if you don't want to add a comment.
        -  Full DRIVE:\PATH to PKZIP.EXE.
        -  Full DRIVE:\PATH to PKUNZIP.EXE.    
        -  Full DRIVE:\PATH to TDCHECK.EXE.
        -  Full DRIVE:\PATH to SCAN.EXE.
        -  Full DRIVE:\PATH to RECOM.EXE.
        -  Full DRIVE:\PATH to TESTGIF.EXE (Just lie to it if not using)   
           (I need these spelled out becuase the method I am using 
            to get ERRORLEVELS returned to the program requires it.)
        -  A list, each on one line, of any extensions (.GIF, .TXT etc)
           Which will be passed without normal ZIP testing.  Any 
           extensions other than .ZIP which do not appear in this .CFG
           file will be rejected by the process.  The "." is optional.
           If .GIF appears in this list, TESTGIF will be used to test
           the integrity of the .GIF file.
        -  A list, each on one line, of files which you wish deleted
           from .ZIP's before posting.  This could include the famous
           "READMEOR.DIE", "BBS.AD", or other unwanted advertising.

            Sample PTEST.CFG file:
            
            2           
NEW!!!      C:\NODE1\PCBOARD.DAT
            The Interconnect BBS
            M:\HOLD
            1990
            Y
            C:\EXE\COMMENT.CMT
            C:\ZIP\PKZIP.EXE
            C:\ZIP\PKUNZIP.EXE
            C:\ZIP\TDCHECK.EXE
            C:\DIAGS\SCAN.EXE
            C:\EXE\RECOM.EXE
            C:\EXE\TESTGIF.EXE
            .ROM
            .GIF
            ANNOYING.BBS
            README.TOO

* Edit your existing PCBTEST.BAT file, and delete the whole thing except
  for two lines:
  
  Sample PCBTEST.BAT file:
  
  @ECHO OFF
  PTEST %1 C:\ZIPLAB\PTEST1.CFG
  
NEW!!!  Note the addition of a second parameter on the command line.  This
        parameter will let PTEST know where to find the configuration file
        for the current PCBoard node.
   
* That's it... Now when PCBTEST.BAT is run by PCBoard, it will pass 
  command over to PTEST.EXE with the parameter containing the path
  and name of the file to be tested.  PTEST will check out the file,
  placing any rejects in the holding directory you specified in the
  SETUP process above.  

  
* NEW IN THIS VERSION!!! ******************************************************

ZipLab X      - A CHANGE TO YOUR .CFG FILE *IS* REQUIRED FOR THIS RELEASE!
                A CHANGE TO YOUR PCBTEST.BAT/PROUTEST.BAT FILES ARE REQUIRED!
                
                There have been several changes to ZipLab, to allow full 
                support for ProDoor version 3.4.  You are now required to 
                add a line for the location and name of your PCBOARD.DAT
                file to the configuration files.  Due to this, you may now
                run PTEST.EXE while you are in ANY directory.  You will be
                passing the location and name of the configuration file on
                the PTEST.EXE command line in PCBTEST.BAT (or PROUTEST.BAT)
                
             *  PCBOARD SYSOPS -
IMPORTANT!      Run SETUP.EXE, and create new configuration file(s) for 
                each of your PCBoard nodes. You may/should give a different
                name to each node's configuration file.  Be sure the proper
                location of the node's PCBOARD.DAT is indicated in the file.
                
                Change the PCBTEST.BAT file by adding a parameter on the
                command line.  The command line will now read:
                
IMPORTANT!      PTEST %1 drive:\directory\configfilename
                
                Replace the drive:\... stuff with the location and name
                of the PTEST configuration file for this node.
 
             *  PRODOOR SYSOPS -
                You will need to set up your PROUTEST.BAT file like this:
                
 echo off
 rem -- process test uploads request - for ProDOOR 3.4
 rem -- %1-logfile, %2-testdir, %3-comport

 rem -- test each uploaded file individually
 proecho %3 ~~Testing uploads.  Please wait...~

 SET PCBDOOR=PRODOOR
 for %%f in (%2\*.*) do COMMAND /c PTEST %%f drive:\directory\configfilename
 SET PCBDOOR=

 :end
                Replace the drive:\... stuff with the location and name
                of the PTEST configuration file for this node.
 
                Be sure you have enough ENVIRONMENT space to set up the 
                PCBDOOR variable.  If you are using DesqView, you may
                want to set PCBDOOR=xxxxxxx in your AUTOEXEC.BAT to be
                sure enough room is allocated in your DesqView partions
                for this variable.  The x's will be replaced by PRODOOR
                when PROUTEST.BAT is executed.  I need this variable set
                to "PRODOOR", or PTEST won't know you are running out of
                ProDoor.  You don't want to leave it set to PRODOOR though,
                since this could confuse things for other doors/processes.
                Thus the "SET PCBDOOR=" line.  ZipLab will now fully work
                with ProDoor, including display/modification of the file
                descriptions.
                
             *  Other changes/fixes:
                
                Thanks go out to the MANY sysops who have contacted me with
                suggestions and bug reports.  Several of the fixes where 
                important enough to warrent a quick release of this version,
                so not all of the suggestions made it in yet.  Stay tuned...
                
                The descriptions were not being found on one-node systems.
                This was due to a misunderstanding on my part of how UPDESC.x
                was being handled in this case, and is now fixed.
                
                The VIRUS.LOG file was not being created if a virus was in
                fact detected.  This was due to an "ooops!".  I left a path
                hard coded in the program that was being used during testing.
                This is now fixed.  I have also added the DATE and TIME of
                the detection to the VIRUS.LOG.
                
                If you set (using SET ZIPLAB=) the work directory to the
                root directory of any drive, that root directory was being
                ERASED, and PTEST was not functioning properly.  This has
                been corrected, but PTEST will NOT allow you to have the 
                work directory set to ANY drive's root level directory.
                This includes RAM drives!  You MUST specify a subdirectory.  
                Don't forget, I erase and RD this directory after ZipLab 
                runs.  You don't really want the root directory of your boot 
                drive treated this way do you?
                
                An error would occur if characters which QuickBasic considers
                delimiters were used in the description of your board name in
                the .CFG file.  Fixed...  Use any characters you want! 
                
                TESTGIF.EXE has been updated with the new 1.1 version, and
                is contained in GIFTST33.ZIP in the package.  This program
                is copyrighted by DAVE NAVARRO, and it is expected that you
                will register it with him if you plan to test .GIF files.
                
                Due to some problems a few sysops were having with memory,
                ZipLab will now display the free RAM and String Space left
                on the bottom line while running.  This is ONLY displayed
                locally, and will not be seen by the user.  Please have
                this information handy if you need to contact me for 
                problem resolution.
                
             *  Still to do...
             
                I do have plans to futher enhance ZipLab, taking into 
                account the many suggestion I have received.  
                
                o Have ZipLab behave differently when TEST is run, as 
                  opposed to an upload situation.  Badly needed!
                o Integrate testing for other archive methods.  (Maybe...)
                o Display the reason for the rejection in the description
                  which is written to your PRIVATE dir.  
                o Consolidate ZipLab, ZipLab-WC and LabLocal into one 
                  "smart" program.  This will happen, but it may take 
                  a while.

                A special "Thanks" to Michael Keylin for his help with
                delousing...  Sorry about that FAT table <grin, ouch!>
                
                  
ZipLab IX     - A CHANGE TO YOUR .CFG FILE *IS* REQUIRED FOR THIS RELEASE!
                Added the ability to test .GIF files if ".GIF" is found as
                one of the accepted formats in PTEST.CFG.  I am using a
                small utility called TESTGIF.EXE which was written by 
                DAVE NAVARRO.  This is a shareware program, and it is 
                expected that you will register this package if you use it.
                I have bundled the entire GIFTST30.ZIP package with ZipLab,
                and documentation for registering it is included.  If you
                do NOT accept .GIF files on your board, just delete the
                GIFTST30.ZIP file, and no registration is required.  ZipLab
                does not require this program to be available if you are
                not going to be testing .GIF files.  See the "Quick Start"
                section above on where the TESTGIF.EXE information is entered
                into PTEST.CFG.  Even if you do NOT plan to use TESTGIF.EXE,
                you must enter a DRIVE:\PATH while in SETUP.EXE.  Just lie
                to  it...
                
                A complete rework of the output screens in this version.  I
                hope you like the new look.
                
                USER PROBLEMS AND SUGGESTIONS:
                
                A problem which would crop up if you didn't have DELF.COM
                (a small DEL clone with no "Are you sure?" prompt I wrote
                and included) in the DOS path.  Please be sure to have 
                DELF.COM in your path somewhere.  An entry in PTEST.CFG is
                not required, as I do not expect ERRORLEVELs to be returned
                by DELF. 
                
                You MUST run PTEST.EXE while in your PCBoard root (C:\PCB?)
                directory.  The PTEST.CFG file MUST be in this directory,
                although PTEST.EXE itself can be anywhere in the DOS path.
                Do not have PCBTEST.BAT change you to a C:\PTEST directory
                and run from there.  Nice idea, but it won't work. 
                
                Lots of people have asked if I could either port ZipLab to
                one or more of their favorite BBS software types, or create
                a "generic" version.  If those interested will be kind 
                enough to send me the files and file layouts required to
                get PCBOARD.SYS'ish information from other software types,
                I will be glad to create specific versions.  A generic 
                version may be the eventual outcome of these efforts.
                Send files to me here at the Interconnect BBS (703-425-2505).
                Start the description of the file with a "/" to make it
                a private upload, and be sure to include in the ZIP a text
                file explaining 1) Who you are, and where I can get ahold
                of you.  2) What BBS type we are talking about, and what the
                differences from PCBoard are that you know of.  3) The 
                appropriate files from which I can get information while a
                user is "shelled" out in an external process.  4) The file
                layouts of these files, with contents, lengths and data types.

ZipLab VIII   - NO CHANGES TO YOUR .CFG FILE IS REQUIRED FOR THIS RELEASE!
                Changed the format of the "date" line added to the DIRxx 
                file description.  Several users requested that both the
                newest AND the oldest date be indicated.  Done.
                
ZipLab VII(a) - NO CHANGES TO YOUR .CFG FILE IS REQUIRED FOR THIS RELEASE!
                Bug fix version only.  There was a problem in the logic with
                the new internal date verification.  Two things were happening.
                The first was that any ZIP which contained only one file was
                failing.  Fixed.  The second was that the OLDEST file in the
                ZIP was being used for the comparison, not the newest.  Fixed.

                The other addition to this release is the ability to change 
                the default location that PTEST.EXE uses to unzip files for
                testing with SCAN.EXE.  PTEST will normally create a directory
                under your PCB root directory called ..\PTEST.DIR and will 
                kill this directory when done.  If you wish to have this 
                work carried on someplace else, set up an environment 
                variable called ZIPLAB, and put the drive and path there.
                
                Example:  ZIPLAB=D:\WORK
                 
                You may wish this change if your PCB drive is quite small, 
                or if you wish the work to take place on a virtual disk for
                speed.  
                
ZipLab VII    - PTEST.CFG FILE HAS CHANGED!!!  YOU MUST RUN SETUP.EXE AGAIN TO
                CREATE THE CONFIG FILE.  DON'T FORGET THIS STEP, OR NOTHING   
                WILL WORK!
             
                I have eliminated the need for the TESTAGE.EXE program from 
                the process.  All testing of the dates of the various .ZIP
                file members is now built into the code.   Boy did I have a 
                good time figuring out how to turn 5781 into 04/21/1991!
                
                As a side-benefit, I now allow you the option of adding a  
                notation "Date of most recent .ZIP member >> mm/dd/yyyy" to
                the file description as posted by PCBoard.  This notation
                will be generated and added by ZipLab if a "Y" is included
                in the appropriate field in PTEST.CFG.  Place a "N" in this
                field to bypass this option.
                
                Also as a side-benefit, the date of the most recent file will
                be displayed by ZipLab when a .ZIP passes the age verification,
                and both the most recent and oldest will be displayed when a
                .ZIP fails.
                
ZipLab VI     - No changes to the .CFG file this version.  You need to nothing
                except replace the PTEST.EXE file.
                
                AAARGH!  Missed a hard-coded directory spec I left in the code.
                (I had put it in during the debug process.).  Unless you were
                lucky enough to have an "M:\HOLD" directory, all files that 
                failed the age test were being erased instead of moved.  Fixed.
                
                Added the bell (or is it whistle?) of having the first line of
                the description displayed while the file is testing.  Thanks go
                to Paul Beda for reminding me that the description is available
                during the PCBTEST process.  Try his RFUPDESC program to change
                the column 34-78 descriptions into full line ones.
                
ZipLab V      - PTEST.CFG FILE HAS CHANGED!!!  YOU MUST RUN SETUP.EXE AGAIN TO
                CREATE THE CONFIG FILE.  DON'T FORGET THIS STEP, OR NOTHING 
                WILL WORK!
                
                This version now supports users in NON-COLOR mode.  ZipLab will
                detect these users, and will not display any colors.  The user
                MUST STILL HAVE ANSI.SYS LOADED!  ANSI codes are used for moving
                the cursor.  If you have lots of users calling in with non-DOS
                machines which can't support ANSI, don't use ZipLab.
                
                Somewhat against my better judgement, you may now ADD a zip
                comment to the file while testing.  There is an additional 
                line added to PTEST.CFG.  If you can resist the urge to mess
                with the .ZIP, please put "NONE" in this field.
                
                Fixed some problems with TestAge, including a bad compile which
                was mistakenly sent out in some ZipLab IV packages.  
                
                Added the /NOMEM command to the call to SCAN.EXE, so your local
                RAM memory won't be tested every time.  This will speed things
                up quite a bit.
                
ZipLab IV     - This version of ZipLab is now an EXE file, instead of a series 
                of batch commands.  This was done to speed the process up.  The 
                batch file method, while effective and flexible, was very slow.  
                Many users were becoming discouraged waiting on large, 
                multi-file uploads to be tested. 
*******************************************************************************

  
This program was written in QuickBasic 4.5, with some help from Hammerly 
Computing's ProBas 4.01.  I have also included a few utilities which PTEST 
will use in the course of testing.  These utilities are the property of the 
authors, and you are strongly requested to register them if you continue to 
use PTEST.EXE.  There is no registration required for PTEST itself, nor for 
any of the little utilities included which were written by me.


Jeffrey S. Morley
The Interconnect BBS
(703)425-2505

* PTEST.EXE, SETUP.EXE, and DELF.COM are my own creations, and no
  registration is required.  They are all:
  (C)Copyright 1989-1991 by Jeffrey S. Morley