home *** CD-ROM | disk | FTP | other *** search
/ ftp.wwiv.com / ftp.wwiv.com.zip / ftp.wwiv.com / pub / BBS / ZLAB_19C.ZIP / ZIPLAB.DOC < prev   
Text File  |  1992-02-03  |  47KB  |  948 lines

  1.  
  2. ZipLab PLUS Version 1.9c
  3. (C)Copyright 1991 by Jeffrey S. Morley
  4. January 20th, 1991
  5.  
  6. Archive testing and maintenance program for
  7. PCBoard/ProDoor Sysops, and all BBS users.
  8.  
  9.  
  10.                                
  11.                                
  12. ##############################################################################
  13.                               Table of Contents
  14. ##############################################################################
  15.  
  16. Introduction to ZipLab Plus ...............................................  1
  17. Installation of ZipLab(PTEST.CFG) / Quick Start ...........................  2
  18. Explanation of items in PTEST.CFG / Example ...............................  4
  19. ProDoor Setup .............................................................  5
  20. ZipLab Plus Version History ...............................................  6
  21. Credits ...................................................................  8
  22.  
  23.  
  24.  
  25.  
  26. ##############################################################################
  27.                        INTRODUCTION TO ZIPLAB PLUS  
  28. ##############################################################################
  29.  
  30. What is ZipLab Plus?
  31.  
  32. ZipLab Plus is a program which will test archived files.  In addition, 
  33. ZipLab will allow you to add .ZIP comments, strip out unwanted members, and 
  34. much, much more!  ZipLab was primarily designed for PCBoard/ProDoor SysOps, 
  35. to test files as they are uploaded to their systems.  It can also be used by 
  36. any BBS user who wants to test and maintain those archive files downloaded 
  37. from a BBS.  
  38.  
  39.  
  40. The following is a quick list of ZipLab's features:
  41.  
  42.  
  43. Testing:  
  44. * Test for CRC errors in the archive file.
  45. * Test for imbedded archive files and if found, CRC check those too.
  46. * Test for imbedded .TD0 (Teledisk) files and if found, test with TDCHECK.
  47. * Virus SCAN archive member files, using SCAN.EXE from McAffey.
  48. * SCAN inside archive files imbedded inside another archive file.
  49. * Test .GIF files for validity if you accept that file format (Optional)
  50. * Run SCAN on files which you optionally pass without ZIP testing.
  51. * Reject programs older than a date (mmyyyy) which you specify.
  52. * Will fully test "self-extracting" archives of the .ZIP/.ARJ/.LZH formats.
  53.  
  54. Maintenance:
  55. * Remove all archive comments from the file.
  56. * Replace archive comments with your own. (Optional)
  57. * Delete unwanted BBS ads and/or other unwanted archive members as you define.
  58. * "Rusty and Eddy" protection!  See "Quick Start" 
  59. * Allows you to optionally add a file to the archive.
  60. * Will maintain an information listing of archive files that have been tested.
  61.   This file will contain the FILE_ID.DIZ description if contained in the
  62.   archive, as well as all other information about the file.
  63.  
  64. BBS specific features:
  65. * Add the resolution of .GIF files to the description (Optional)
  66. * Adds most recent archive member date to the description (Optional)
  67. * Optionally replace the description left by the user if FILE_ID.DIZ is
  68.   found in the archive file.
  69. * Will make a notation in the CALLER file for the current node of any 
  70.   files which fail upload testing, including the failure reason.
  71. * Allows your users to run the TEST command in PCBoard to test files, but
  72.   ZipLab will not remove the file if it fails DATE checking.  The file will
  73.   be moved for failure on other tests.  You will be notified via the node's
  74.   CALLER file of archives which fail PCBoard's TEST command.
  75.  
  76.   
  77. General:
  78. * Run the full range of tests on .ZIP, .LHZ and .ARJ archive formats
  79. * Works both on a PCBoard/ProDoor BBS, as well as in non-BBS LOCAL mode!       
  80.   
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.   
  88.  SPECIAL NOTICE ***** SPECIAL NOTICE **** SPECIAL NOTICE ***** SPECIAL NOTICE
  89.  
  90.  
  91.  
  92.   ** ZIPLAB IS NO LONGER "FREEWARE". REGISTRATION IS REQUIRED FOR ITS USE **
  93.  
  94.     PLEASE SEE THE ENCLOSED REGISTER.DOC FILE FOR REGISTRATION INFORMATION
  95.  
  96.           
  97.  SPECIAL NOTICE ***** SPECIAL NOTICE **** SPECIAL NOTICE ***** SPECIAL NOTICE
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106. ##############################################################################
  107.                        INSTALLATION OF ZIPLAB PLUS  
  108. ##############################################################################
  109.  
  110. REQUIRED FOR OPERATION:
  111.  
  112. You must already have the following programs.....
  113.  
  114. PKZIP.EXE   - Phil Katz archive create program (version 1.01 +)
  115. PKUNZIP.EXE - Phil Katz archive extract program (version 1.01 +)
  116. LHA.EXE     - Yoshi's archive program (version 2.13 +)
  117. ARJ.EXE     - Robert Jung's archive program (version 2.30 +)
  118. TDCHECK.EXE - .TD0 (Teledisk) checker from SyDex (any version)
  119. SCAN.EXE    - McAffey's virus detection program (any version)
  120.  
  121. There are other small utility programs which I have bundled with this 
  122. .ZIP. They may require registration for continued use.  PLEASE SUPPORT 
  123. SHAREWARE AND THE SHAREWARE CONCEPT! REGISTER THESE PROGRAMS IF REQUESTED 
  124. TO DO SO!
  125.  
  126. RECOM.EXE   - Mike Loewen's ZIP file comment remover (PLEASE REGISTER!)
  127. GIFTEST.EXE - Dave Navarro's .GIF file tester (PLEASE REGISTER!)
  128. GETCRC.EXE  - Gets a file's CRC32 value.  For "Rusty and Eddy" protection.
  129.               Written by me (No registration required).  
  130. DELF.COM    - A version of DEL with no "Are you sure?" prompt written by me.
  131.               (No registration required)
  132.  
  133.  
  134.  
  135. ##############################################################################
  136.                                QUICK START 
  137. ##############################################################################
  138.  
  139.  
  140. * Place the PTEST.EXE, and SETUP.EXE files into a directory which is in
  141.   your DOS PATH.
  142.  
  143. * UnZIP the enclosed supplemental utilities into directories in your DOS 
  144.   PATH. Make note of where you put them, you will need this information 
  145.   later.
  146.  
  147. * Create, or use any existing directory to hold your PTEST configuration 
  148.   files. Change into this directory, and run SETUP.EXE once for each of 
  149.   your nodes. Be sure to give different configuration file names for each 
  150.   node.  I use PTEST1.CFG and PTEST2.CFG. You may keep the particular 
  151.   node's configuration file in the PCBoard ROOT/HOME directory for the 
  152.   node, but this is not required.  
  153.  
  154. * Fill in the following information when prompted by SETUP.EXE:
  155.  
  156.         -  The [drive:\path\]filename.ext of the .CFG file you wish created.
  157.            (This information will not be written to the .CFG file)
  158.         -  The type of modem HANDSHAKE you desire.  This can be 
  159.            0, 1, 2 or 3.  0=none, 1=XON/XOFF, 2=CTS, 3=CTS & XON/XOFF
  160.            (Use 2 or 3 with an error correcting modem...)
  161.         -  The DRIVE:\PATH\NAME of your PCBOARD.DAT file for this node.
  162.         -  The name of your BBS system.  43 characters maximum.
  163.         -  The DRIVE and PATH to the directory where rejects will be
  164.            placed pending manual sysop inspection.
  165.         -  The date (mmyyyy) which will be the minimum accepted year.  ZIPs
  166.            containing files older than this will be rejected.
  167.         -  A "Y" if you wish to replace the description left by the user
  168.            with the contents of FILE_ID.DIZ (if found in the archive).
  169.            A "N" if you do not wish to make use of this feature.  No changes
  170.            will be made in either case if FILE_ID.DIZ is not found.
  171.         -  A "Y" if you wish the "recent date" notation added to the file
  172.            descriptions.  A "N" if you do not wish this addition.
  173.         -  Information to appear in the description before the "recent date"
  174.            This can be "CRC", "FILES", or "NONE"
  175.            CRC   = The CRC value of the archive
  176.            FILES = The number of files in the archive
  177.            NONE  = Just that... none.
  178.         -  The fully qualified filename of the zip comment to add, or
  179.            "ZIPLAB" if you wish ZipLab to create a comment for you,
  180.            or "NONE" if you don't want to add a comment.
  181.         -  The fully qualified filename of a file which you may wish to
  182.            add to the .ZIP, or "NONE" (please!) if you can refrain from
  183.            this practice.
  184.         -  Full DRIVE:\PATH to PKZIP.EXE.
  185.         -  Full DRIVE:\PATH to PKUNZIP.EXE.
  186.         -  Full DRIVE:\PATH to LHA.EXE.
  187.         -  Full DRIVE:\PATH to ARJ.EXE.
  188.         -  Full DRIVE:\PATH to TDCHECK.EXE.
  189.         -  Full DRIVE:\PATH to SCAN.EXE.
  190.         -  Full DRIVE:\PATH to RECOM.EXE.
  191.         -  Full DRIVE:=PATH to DELF.COM
  192.         -  Full DRIVE:\PATH to GIFTEST.EXE (or NONE if not using)   
  193.         -  Command line PARAMETERS you wish to pass to GIFTEST.EXE
  194.            /B:2 /N:2 /C:C:\VGA\GIFTEST.CFG
  195.            Just enter NONE if you do not desire to use parameters.  
  196.         -  A list, each on one line, of any extensions (.EXE, .TXT 
  197.            etc) Which will be passed without normal ZIP testing.  SCAN 
  198.            will still be performed on these files.  Any extensions 
  199.            other than .ZIP which do not appear in this .CFG file will 
  200.            be rejected by the process.  The "." is optional. If .GIF 
  201.            appears in this list, GIFTEST will be used to test the 
  202.            integrity of the .GIF file. .ZIP, .ARJ and .PAK files will 
  203.            always be tested, and their inclusion here is not required.
  204.            If you enter a "*" as one of the extentions, then ALL files 
  205.            will be passed through, with non-archived files being 
  206.            SCAN'd only.
  207. NEW!    -  A list, each on one line, of files which you wish deleted 
  208.            from .ZIP's before posting.  This could include the famous 
  209.            "READMEOR.DIE", "BBS.AD", or other unwanted advertising. 
  210.            You may also have a file with these names listed one on 
  211.            each line, and pass the name of the file with an "@" before 
  212.            the name.  The other way to do this (the best way) is to use
  213.            the enclosed GETCRC.EXE program, to find the CRC32 value of
  214.            the BBS advertisement you wish to remove.  Add this in the 
  215.            following format to a file called CRC.ADS (MUST have this name).
  216.            
  217.            00000000,filename.ext
  218.            
  219.            Where "00000000" is the CRC32 value, and "filename.ext" is the
  220.            name of the BBS advertisement you wish to remove.  You can use
  221.            GETCRC to do this automaticaly, by typing:
  222.            
  223.            GETCRC filename.exe >>CRC.ADS {ENTER}
  224.            
  225.            Then place the full path and name of CRC.ADS on a line in
  226.            PTEST.CFG, just as if it were any other BBS advertisement
  227.            name you were adding.  Now ZipLab PLUS will find that pesky
  228.            BBS add and delete it, EVEN IF IT HAS BEEN RENAMED.  This is
  229.            is what I call my "Rusty and Eddy" protection!
  230.            
  231.            Please see the example PTEST.CFG to be sure you add it in the
  232.            right place and in the right format.  NOTE!  This feature will
  233.            NOT work with .LZH files at this time, as LHA only stores CRC16
  234.            values.
  235.  
  236. * Edit your existing PCBTEST.BAT file, and delete the whole thing except 
  237.   for two lines:
  238.   
  239.   Sample PCBTEST.BAT file:
  240.   
  241.   @ECHO OFF
  242.   PTEST %1 C:\ZIPLAB\PTEST1.CFG %2
  243.  
  244. * That's it... Now when PCBTEST.BAT is run by PCBoard, it will pass 
  245.   command over to PTEST.EXE with the parameter containing the path
  246.   and name of the file to be tested.  PTEST will check out the file,
  247.   placing any rejects in the holding directory you specified in the
  248.   SETUP process above.  
  249.  
  250.  
  251.  
  252.  
  253. ##############################################################################
  254.                         A SAMPLE PTEST.CFG FILE
  255. ##############################################################################
  256.  
  257.             
  258.             2           
  259.             C:\NODE1\PCBOARD.DAT
  260.             The Interconnect BBS
  261.             M:\HOLD
  262.             199001
  263.             Y
  264.             Y
  265.             FILES
  266.             C:\EXE\COMMENT.CMT
  267.             C:\EXE\FILETO.ADD
  268.             C:\ZIP\PKZIP.EXE
  269.             C:\ZIP\PKUNZIP.EXE
  270.             C:\ZIP\LHA.EXE
  271.             C:\ZIP\ARJ.EXE
  272.             C:\ZIP\TDCHECK.EXE
  273.             C:\DIAGS\SCAN.EXE
  274.             C:\EXE\RECOM.EXE
  275.             C:\UTILS\DELF.COM            
  276.             C:\EXE\GIFTEST.EXE
  277.             /B:2 /N:2 /C:C:\VGA\GIFTEST.CFG
  278.             .ROM
  279.             .GIF
  280.             C:\EXE\CRC.ADS
  281.             @BBSADS.LST
  282.  
  283.             
  284.  
  285. ##############################################################################
  286.                        SOME NOTES ON MEMORY USAGE
  287. ##############################################################################
  288.  
  289. * NOTE!  Since PCBoard is SHELLING out to run PCBTEST.BAT, there is 
  290.   limited memory available for PTEST.EXE.  If you are running in a 
  291.   multitasking or other memory constrained situation, PTEST may not work! 
  292.   You should have at least 250k free memory when shelled out of PCBoard.  
  293.   If this is a problem, you may want to consider the VAROOM (overlay) 
  294.   version of PCBoard, which runs in considerably less memory than the 
  295.   standard PCB.EXE.
  296.   
  297.   The other option is to run PCBoard with the SET PCB = /SWAP environment 
  298.   variable.  This will cause PCBoard to "swap" its code to the best 
  299.   available storage (EMS, DISK) whenever a SHELL function (external 
  300.   protocol, viewfile, and even DOORS if you have the SHELL column in 
  301.   DOORS.DAT(LST) set to "Y") is called.  This method will cause a slight 
  302.   delay when SHELLING, but will provide the largest amount of available 
  303.   DOS memory for your external code.
  304.  
  305.  
  306.  
  307.  
  308. ##############################################################################
  309.                             PRODOOR USAGE NOTES         
  310. ##############################################################################
  311.  
  312. *  PRODOOR SYSOPS -
  313.    You will need to set up your PROUTEST.BAT file like this:
  314.                 
  315.    
  316.    @echo off
  317.    rem -- process test uploads request - for ProDOOR 3.4
  318.    rem -- %1-logfile, %2-testdir, %3-comport
  319.    
  320.    rem -- test each uploaded file individually
  321.    proecho %3 ~~Testing uploads.  Please wait...~
  322.    
  323.    SET PCBDOOR=PRODOOR
  324.    for %%f in (%2\*.*) do COMMAND /c PTEST %%f drive:\directory\configfilename
  325.    SET PCBDOOR=
  326.    
  327.    :end
  328.    
  329.    
  330.    Replace the "drive:\..." stuff with the location and name of the PTEST 
  331.    configuration file for this node.
  332.  
  333.    Be sure you have enough ENVIRONMENT space to set up the PCBDOOR variable.  
  334.    If you are using DesqView, you may want to set PCBDOOR=xxxxxxx in your 
  335.    AUTOEXEC.BAT to be sure enough room is allocated in your DesqView 
  336.    partitions for this variable.  The x's will be replaced by PRODOOR when 
  337.    PROUTEST.BAT is executed.  I need this variable set to "PRODOOR", or PTEST 
  338.    won't know you are running out of ProDoor.  You don't want to leave it set 
  339.    to PRODOOR though, since this could confuse things for other 
  340.    doors/processes. Thus the "SET PCBDOOR=" line.  ZipLab will fully work with 
  341.    ProDoor, including display/modification of the file descriptions.
  342.              
  343.                
  344.  
  345.  
  346. ##############################################################################
  347.                      VERSION HISTORY (NEWEST TO OLDEST)
  348. ##############################################################################
  349.  
  350.                           
  351.                           ZipLab PLUS Version 1.9c
  352.                           
  353. * Changes are NOT required(but may be desirable), in your configuration for
  354.   this version!  Please see the "Rusty and Eddy" Protection below, and
  355.   run SETUP.EXE to add the appropriate entry if desired.
  356.   
  357. * Non-standard comm ports are back!  I have talked with Jeff Sumburg, the
  358.   author of QBSerial (The communications routines used in ZipLab) about
  359.   the problems I was having with non-standard comm ports in an earlier 
  360.   version of ZipLab, and he gave me some tips on using his code to enable
  361.   communications with ports which are not at the standard DOS supported
  362.   address and IRQ locations.  Mostly his advice was "Jeeze Jeff,  did you
  363.   read the manual?" <grin>.  In any case, ZipLab PLUS will now get both the
  364.   IRQ and PORT ADDRESS from PCBoard.Dat.  If you have set a non-standard comm 
  365.   port with PCBSETUP, ZipLab PLUS will use them.   
  366.   
  367. * "Rusy and Eddy" Protection(tm) - There are some BBS systems which insist 
  368.   on putting annoying, space wasting BBS advertising in everything which 
  369.   passes through their hands. There are even some who are so intent that you 
  370.   read all about how many megabytes and Dual Standards they have that they 
  371.   have a routine to create a new name for the BBS ad before they insert it.  
  372.   A new feature of ZipLab PLUS will allow you to use the CRC32 value of the 
  373.   ads you wish to remove, instead of just the name.  All you do is use the 
  374.   enclosed GETCRC.EXE program, to find the CRC32 value of the BBS 
  375.   advertisement you wish to remove.  Add this in the following format to a 
  376.   file called "CRC.ADS" (NOTE! It MUST have this name).
  377.   
  378.   00000000,filename.ext
  379.   
  380.   Where "00000000" is the CRC32 value, and "filename.ext" is the name of the 
  381.   BBS advertisement you wish to remove.  You can use GETCRC to do this 
  382.   automaticaly, by typing:
  383.   
  384.   GETCRC filename.exe >>CRC.ADS {ENTER}
  385.   
  386.   Then place the full path and name of CRC.ADS on a line in PTEST.CFG, just 
  387.   as if it were any other BBS advertisement name you were adding.  Now 
  388.   ZipLab PLUS will find that pesky BBS add and delete it, even if it has 
  389.   been renamed.
  390.   
  391.   Please see the example PTEST.CFG to be sure you add CRC.ADS in the right
  392.   place and in the right format.  NOTE!  This feature will NOT work with
  393.   .LZH files at this time, as LHA only stores CRC16 values.  It will work
  394.   with both archive and self-extracting .ZIP and .ARJ files.
  395.  
  396. * The parameter 'CRC' in the config file is no longer valid.  I have removed
  397.   the program's ability to get the file CRC of the archive file, which was
  398.   then displayed on the line with the newest and oldest file dates.  I am
  399.   currently working with the author of ZDCS, to provide hooks from ZipLab
  400.   to this fine product.  There is just no need to weigh down the ZipLab 
  401.   code with a function which is implemented in another product.  If you
  402.   are using CRC in your .CFG file, please replace with FILES or NONE.
  403.     
  404. * The two most common "description" files are FILE_ID.DIZ and DESC.SDI.  
  405.   ZipLab will now ignore these files in the date verification routines, 
  406.   so the act of using a tool to add a FILE_ID.DIZ to an archive will not
  407.   cause it to pass date checking.
  408.   
  409. * Some corrections were made to the way "self-extracting" archives were 
  410.   handled, and this feature should be more reliable.
  411.   
  412. * ZipLab will now handle removing and/or replacing comments in .ARJ file
  413.   formats, and will properly handle imbedded .ARJ files.  I am using and
  414.   testing with ARJ version 2.30, and this version is recommended.
  415.   
  416. * Tons more work on trapping any possible errors which may occur.  I am
  417.   now 99% positive that ZipLab can't "hang" your system at an "abort, 
  418.   retry, fail?" prompt.  Please let me know if have this occurs at any 
  419.   time!  I still have a few Sysops who are having problems with ZipLab
  420.   under DesqView (although most run it just fine), and a few with problems
  421.   under Lantastic (again, most are running with no problem).  I am working
  422.   at isolating what set of conditions are giving these few people trouble,
  423.   and hope to have it pinned down soon.
  424.   
  425.                           
  426.                           ZipLab PLUS Version 1.9b
  427.  
  428. * NO Changes to your configuration are required from version 1.9a.  Changes
  429.   ARE required from 1.8c or earlier.
  430.                           
  431. * Well, the swapping routines I added in the first 1.9 version have turned
  432.   out to be a whole lot more trouble than they are worth.  Instead of
  433.   solving memory problems for some people, the additon of these routines
  434.   seem to have caused no end of other problems for a larger group of folks.
  435.   I have removed the swapping routines for now, until I can find a method
  436.   which is stable with QuickBasic (particuarly in a QEMM/DesQView setup).
  437.   This does mean that some people who are in extremely memory constrained
  438.   conditions will NOT BE ABLE TO RUN ZIPLAB PLUS.  Again, ZipLab will need
  439.   about 160K of RAM to run, and the ZIP/ARJ/LHA programs used in testing
  440.   will required additional memory (PKUNZIP needs about 80K more).  If you
  441.   can't give ZipLab this much memory when running PCBTEST.BAT, then it
  442.   just isn't going to work for you right now...
  443.   
  444. * Aside from that, this version is mostly a lot of changes to tighten up
  445.   error detection and reporting.  The code has been re-written to a large
  446.   extent to allow for better error trapping.  Any problems should now be
  447.   correctly reported in PTEST.ERR, with a better explanation of what went
  448.   wrong, what file was being accessed, and when in the process the error 
  449.   occured.  More importantly, there should be lots less errors to begin
  450.   with.  The code will handle missing files, incorrect PTEST.CFG parms,
  451.   and low-memory conditions in a much cleaner fashion.
  452.   
  453. * The one big feature change in this version is that ZipLab will now test
  454.   "self-extracting" archives.  If you put ".EXE" as one of the extensions
  455.   you wish to pass, all .EXE files will be examined for the signatures of
  456.   the 3 supported archive types, and if found to be self-extracting files,
  457.   will be fully tested.  If not self-extracting (but in fact just .EXE
  458.   files), they will be SCAN'd for virus infection, and then passed.
  459.   
  460. * Sam Smith has changed the format of the $DOOR.NAM file (where the 
  461.   descriptions are held while testing) in the latest versions of ProDoor.
  462.   This version of ZipLab PLUS will correctly handle both the new and the
  463.   old $DOOR.NAM formats.  Please let me know if there are any further 
  464.   problems with Ziplab and ProDoor.
  465.     
  466.   
  467.                           ZipLab PLUS Version 1.9a
  468.  
  469. * NO Changes to your configuration are required from version 1.9.  Changes
  470.   ARE required from 1.8c or earlier.
  471.   
  472. * This is a really quick one, sorry.  I found a problem with the swapping
  473.   routines on machines with no XMS or EMS memory.  ZipLab was incorrectly
  474.   creating the swap file at one point in the process, and the "custom
  475.   comment" was not being inserted.  All other processes were working fine,
  476.   and in any case - it's fixed... Again, sorry for the quick release.
  477.     
  478.   
  479.                           
  480.                           ZipLab PLUS Version 1.9
  481.  
  482. * Changes to your configuration ARE required for this release!  Run SETUP!
  483.  
  484. * This version of Ziplab will now swap itself to XMS, EMS or DISK (whatever
  485.   it can find, in that order) on all SHELL functions.  This will mean a
  486.   significant reduction in the amount of memory required for PTest.Exe.
  487.   Please let me know if any problems are seen running in unusual memory
  488.   conditions, such as under DesqView, OmniView, Windows, or network software.
  489.   
  490. * A new version of DELF.COM is included in this version (no longer in the
  491.   DELF11.ZIP archive) which has been modified to take advantage of the
  492.   new "swap" capabilities of ZipLab.  You must add the location of this
  493.   new version of Delf to your PTest.Cfg, by running Setup.Exe.  If you 
  494.   see "unable to erase" error messages overwriting the ZipLab screen, it
  495.   means you are not using the new version of Delf.  If you use Delf for
  496.   purposes other than ZipLab (I do...) then keep the old version in your
  497.   DOS path, put the new version in a directory NOT in the path, and have
  498.   PTest.Cfg point specifically to the new version.
  499.   
  500. * The reason for failure will now be added to the file description for
  501.   PCBoard or ProDoor if a file is rejected by ZipLab.  This description
  502.   will be posted by PCBoard / ProDoor to your "private" DIRxx file.
  503.   
  504. * ZipLab can now optionally create a .ZIP "comment" for you, in place of
  505.   inserting one you create yourself.  To enable this feature, place the
  506.   word "ZIPLAB" in the field for the "comment location" in PTest.Cfg.
  507.   
  508.   The format of the comment created and added by ZipLab is:
  509.   
  510.   ───────────────────────────────────────────────────
  511.   File ZLAB_18C.ZIP tested by ZipLab Plus version 1.9a
  512.   ───────────────────────────────────────────────────
  513.   * No virus infection detected by SCAN.EXE
  514.   * File passed all CRC integrity checking
  515.   
  516.   Tested on 12-21-1991 at 03:11:42
  517.   Date of Newest file is 12/21/1991
  518.   Date of Oldest file is 01/20/1991
  519.   
  520.   ZipLab PLUS version 1.8b
  521.   Compiled 12/02/91 at 10:15pm A PCBTest.Bat 
  522.   enhancement for PCBoard/ProDoor SysOps.  
  523.   Tests ZIP,ARJ,LZH,GIF files.  CRC value, 
  524.   dates, and (optionally) FILE_ID.DIZ inserted 
  525.   in / replacing description of file. Process 
  526.   includes SCAN, CRC checking, date limits, 
  527.   comment replacement/removal, BBS advertising 
  528.   removal and more... $10 Shareware by Jeffrey 
  529.   S. Morley 
  530.  
  531.   As you can see, the contents of FILE_ID.DIZ or DESC.SDI will be 
  532.   added to the description if either of them is included in the file.
  533.   The "user's" description will NOT be added in leu of these files, as
  534.   descriptions left by users are not always as "descriptive" as they 
  535.   should be...
  536.   
  537.   Also, before you ask - I will NOT add information to the comment which
  538.   could identify a particular BBS system.  There are boards who run 
  539.   private or adult upload areas who would rather not have their board's
  540.   or users names in the .ZIP comment.
  541.  
  542. * There is still an outstanding problem with -AV'd files.  Be aware 
  543.   that if a file has had "AV" applied to it, and you delete a file
  544.   which fits your criteria of a "BBS advertisement", then the file
  545.   WILL fail subsequent testing with ZipLab Plus.  The AV will have
  546.   been modified by deleting the file.  I am working on which of 
  547.   several methods to use to correct this.
  548.   
  549.                           
  550.                           
  551.                          ZipLab PLUS Version 1.8c
  552.  
  553. * Changes to your configuration ARE required for this release!                           
  554.                           
  555. * I think I have finally tracked down the elusive "ERROR 6" problem that
  556.   some sysops are having.  The problem was related to the size of your
  557.   CALLER file, where I was stupidly using an integer variable in a file
  558.   which certainly has the ability to grow to over 65,000 records.  I use
  559.   a utility in my EVENT which maintains my CALLER file at a certain size,
  560.   and so never saw the problem here.  This problem is now fixed.
  561.   
  562. * If the upload was marked as "private" with the "/" character in the 
  563.   first position of the description, and a FILE_ID.DIZ was found, the
  564.   replacement description was not being marked as "private".  Fixed.                              
  565.   
  566. * The beeps which are produced by ZipLab when a file fails any of the 
  567.   tests will now follow the setting of the "alarm" function in PCBoard.Dat.
  568.   This is set with the F7 key at the Call Waiting screen.  If this is
  569.   set to "off", then ZipLab will produce no sounds.
  570.   
  571. * There was a problem with ProDoor and the FILE_ID.DIZ routines which 
  572.   would cause an ERROR 52 in LOCAL mode.  This has been fixed.  
  573.   
  574. * One feature change this version.  At the request of several sysops, I
  575.   have made the date validation based on YEAR and MONTH instead of just
  576.   year.  This involves a change to your PTEST.CFG file, so please run
  577.   SETUP.EXE and create new config file(s).  If you set the earliest 
  578.   date which you accept to "199006", then all files newer than May 1990
  579.   will pass, and all files May 1990 and older will fail.
  580.   
  581.   
  582.                           
  583.                           ZipLab PLUS Version 1.8b
  584.                          
  585. * Changes to your configuration ARE required for this release!                           
  586.  
  587. * Several Sysops were having problems with ZipLab hanging or even 
  588.   locking up their computers from time to time.  This seemed to be 
  589.   most evident when running the latest 2.41 version of DesqView, but 
  590.   on a few systems, was independant of DV.  The problem for these few 
  591.   systems seems to have started with version 1.6 of ZipLab Plus, and 
  592.   the major change in that version was the new serial routines I 
  593.   introduced to allow for non-standard commport IRQ's.  I have gone 
  594.   back to the previous version of the routines at this time, and would 
  595.   like feedback on whether or not this corrects the problem for those 
  596.   systems which were hanging...  If you in fact have a non-standard 
  597.   IRQ for your commport, and ZipLab 1.8 is working ok for you, STAY 
  598.   with that version. I hope to have the situation straightened out for 
  599.   the next full version, so we can have the non-standard commports as 
  600.   well as a stable product on as many machines as possible.  If you 
  601.   have had problems with ZipLab crashing, please give this version a 
  602.   try to see if it corrects your problem.
  603.   
  604. * Other problems which some people are experiencing is that ZipLab 
  605.   will return ERRORs 9, 5 or 6, will see all uploaded files as having 
  606.   bad CRC values, won't replace the description with File_Id.Diz, or 
  607.   or won't add the date information to the description.  These are 
  608.   almost certainly due to not having enough RAM memory free when 
  609.   ZipLab is executing.  If you are running under a multi-tasker 
  610.   (DesqView, OmniView etc...) and are having the problems described 
  611.   above, you MUST use the "SET PCB=/SWAP" command in either your 
  612.   Autoexec.Bat or in each nodes Board.Bat.  This will cause PCBoard to 
  613.   get out of the way when SHELL'ing out to ZipLab, and you should then 
  614.   have plenty of memory.  If you are having ANY problems with ZipLab 
  615.   Plus, please try the /SWAP setting above, and see if that corrects 
  616.   them.  ZipLab does require a fair amount of memory (like 160K), and
  617.   then ZipLab shells out to run PKUNZIP (another 80K or so).
  618.  
  619. * One other note.  I have tried to build in as much error trapping as 
  620.   possible, and will be looking to improve this for the next version. 
  621.   Howver, if something gets by me, and you walk in to an "Error in 
  622.   module PTEST at address xxxx:xxxx - Hit any key to return to system" 
  623.   message, on your computer, PLEASE REBOOT at this time.  If I am 
  624.   unable to catch the error and exit through my error traps, your 
  625.   serial port may not be left in the proper state.  This almost 
  626.   certainly will cause a "hang" at some point later on.
  627.   
  628. * Please re-run SETUP, or simply remove the second line from any of your
  629.   PTEST.CFG files.  This line is in support of the IRQ number, and must
  630.   be removed for ZipLab 1.8b to function properly.
  631.   
  632.     
  633.                             
  634.                           ZipLab PLUS Version 1.8
  635.                           
  636. * NO changes to your configuration are required for this release! 
  637.  
  638. * The DATE CHECKING was moved up in the process, just after the CRC 
  639.   checking of the file.  This way, if a file is going to fail in any 
  640.   case becuase it is old, no reason to wait for all the other testing 
  641.   and modifications.  I do need to at least CRC check first, as a bad 
  642.   archive will at best cause my date checking routines to return the 
  643.   wrong date, and at worst cause a program crash.
  644.   
  645. * Some other minor cosmetic changes, and some tightening up of the code
  646.   to improve speed.
  647.   
  648.   
  649.   
  650.                           ZipLab PLUS Version 1.7
  651.                           
  652. * NO changes to your configuration are required for this release!
  653.                           
  654. * This version is primarily to fix some problems ZipLab was having with
  655.   file descriptions and ProDoor.  All of the options for adding to the
  656.   file descriptions, as well as replacement with FILE_ID.DIZ (if desired)
  657.   are now fully supported in both PCBoard 14.5a and ProDoor 3.4.  Sam Smith
  658.   is apparently considering changing from the current $DOOR.NAM method to
  659.   a more "PCBoard'ish" UPDESC.[node] method of storing file descriptions,
  660.   and if/when this happens additional changes will probably be required.
  661.   
  662. * The sample PTEST.CFG file which is included in the ZLABP_xx.ZIP archive
  663.   is now fully commented.  This is to help those who wish to manually 
  664.   change existing .CFG file(s), instead of recreating with SETUP.EXE.  The
  665.   ";" characters and the comments which follow can be left in the .CFG 
  666.   file, or removed as is your preference.  Please don't use the ";" character
  667.   in actual .CFG data (like your BBS name), or ZipLab will parse the .CFG
  668.   file incorrectly.  The file created by SETUP.EXE will not contain comments.
  669.   
  670. * In testing the current version of ZipLab, It has been determined that the
  671.   memory requirements are between 146,052 and 159,480 bytes of RAM, depending
  672.   on the number of members in the archive.  Keep in mind that you will need
  673.   this much free RAM, as well as another copy of COMMAND.COM when PCBoard
  674.   shells out to run PCBTEST.BAT.  See the notes under "Quick Start" above
  675.   for some suggestions on managing memory with PCBoard.
  676.   
  677. * Several SysOps have expressed some confusion about the registration process
  678.   for ZipLab.  There are NO "keys", "serial numbers" or "registered versions"
  679.   required for ZipLab.  ZipLab as downloaded from any BBS is fully functional,
  680.   with no advertising, "beg screens", delays or registration reminders.  It
  681.   is expected that you will register ZipLab if you are going to use it, and
  682.   when you do, you will be entered into my database for purposes of receiving
  683.   what I hope is quick and friendly support.  Once registered for any 1.x
  684.   version of ZipLab, you are automatically entitled to run future versions,  
  685.   but you will need to do so before I release version 2.0.  Registration of
  686.   version 2.0 will cost more than the nominal $10.00 I have charged while
  687.   in the "development" 1.x version, and after 2.0 is released I will accept
  688.   no further registrations of 1.x.
  689.   
  690.   
  691.   
  692.                           ZipLab PLUS Version 1.6
  693.  
  694. * Changes to your configuration ARE required for this release!                           
  695.  
  696. * Version 1.5 was opening the CALLER file in exclusive mode, which would
  697.   cause a conflict with PCBoard in the SHELL mode.  I now open the 
  698.   CALLER file in shared mode, and the "error 70" should be eliminated.
  699.  
  700. * ZipLab will now support non-standard commport IRQ addresses.  I have 
  701.   added a line to the .CFG file to allow you to set the IRQ for the 
  702.   commport.  ZipLab will get the commport itself by looking in 
  703.   PCBoard.Dat.  ZipLab will obey the IRQ setting you specify, but will 
  704.   use standard Base Port addresses.  If your commport has non-standard 
  705.   IRQ AND Base Port addresses, ZipLab will most probably not function 
  706.   properly.  If you have a standard commport, and are using COM1-COM4,
  707.   please just enter a '0' (zero) in the field when prompted by SETUP.
  708.   
  709.   
  710.                           ZipLab PLUS Version 1.5
  711.  
  712. * You must run SETUP.EXE and create a new .CFG file for this version!
  713.                            
  714. * A record of files which fail ZipLab's testing process will now be
  715.   written to the CALLER file for the current node.
  716.  
  717. * Users can now run the TEST command in PCBoard to check files before 
  718.   downloading, but the files will not be moved offline if they fail 
  719.   DATE checking.  The user will be informed of any problems with the 
  720.   file, and names of files which fail TEST will be written to the 
  721.   CALLER file for the  current node.  A Change is required to your 
  722.   PCBTEST.BAT file to support this feature!
  723.   
  724.   @ECHO OFF
  725.   PTEST %1 C:\P2\PTEST.CFG %2
  726.                            ^^NEW!!
  727.   
  728.   Note the additon of %2 at the end of the command line.  PCBoard will
  729.   pass the word TEST as %2 when using the TEST command from the board,
  730.   and will pass nothing in %2 when testing an upload.
  731.                            
  732. * The user was being displayed the name of the file including drive and
  733.   path when a file failed testing.  This has been modified to show only
  734.   the filename, for security reasons.  
  735.  
  736. * In order to allow maximum flexibility in using GIFTEST for testing 
  737.   .GIF files, ZipLab will no longer make ANY assumptions about what
  738.   command lines need to be passed to GIFTEST.EXE.  You should use
  739.   GTSETUP.EXE (from GIFTEST) to configure GIFTEST, and then use the
  740.   new item in the PTEST.CFG file to pass any additonal parameters you
  741.   require.  Please run SETUP.EXE to effect the change required in the
  742.   PTEST.CFG file, and read the documentation for GIFTEST to see what
  743.   command line parameters you require.
  744.   
  745.   
  746.  
  747.                            ZipLab PLUS Version 1.4
  748.                             
  749. * A CONFIGURATION CHANGE IS REQUIRED FOR THIS VERSION!!!  RUN SETUP.EXE!
  750.  
  751. * Added an entry in the .CFG file for the type of information to appear at 
  752.   the beginning of the line added to the file description.  The choices 
  753.   are:
  754.   
  755.                    ENTRY:    MEANING:
  756.                    
  757.                    CRC       The CRC32 value of the archive file.
  758.                    FILES     The number of files in the archive
  759.                    NONE      Insert only the date information.
  760.                               
  761.   Note that if you see two files with the same CRC32, they are the SAME 
  762.   file, even if the names and dates are different.  How you use this 
  763.   information is up to you for now, although I plan for a future release 
  764.   of ZipLab to have the capability to search a database of existing file 
  765.   CRC32's on your system, and reject re-named duplicates.
  766.   
  767.   Note as well that calculating the CRC32 will cause a momentary delay 
  768.   during the "checking CRC" process.  The delay will be a second or two on 
  769.   a small file, and up to 15-20 seconds on a file around 1meg.
  770.   
  771. * Added an entry in the .CFG file which if "Y" will search the archive 
  772.   for FILE_ID.DIZ. If FILE_DIZ is found, ZipLab will replace the 
  773.   description left by the user with the description contained in 
  774.   FILE_ID.DIZ.  Set this to "N" if you do not wish this feature, but
  775.   I do strongly recommend it.  FILE_ID.DIZ is a standard format file
  776.   containing the author's description of the archive contents.  Why not
  777.   get the description from the "horses mouth"?  Not all Shareware authors
  778.   are inserting FILE_ID.DIZ yet, but it is becoming increasingly popular.
  779.   
  780. * Please run SETUP.EXE to create the new .CFG file(s) for your system.
  781.   
  782.   
  783.                               
  784.                            ZipLab PLUS Version 1.3
  785.  
  786. * No configuration file changes required for this version.
  787.  
  788. * Corrected several things which were not working correctly.  
  789.  
  790.   1)  If a file failed any test, ZipLab was doing everything it was supposed
  791.       to, but then exiting with an ERROR 76.  Fixed.
  792.   2)  A flag on ARJ was set wrong, so that imbedded files with the same 
  793.       name as a file in the top level .ARJ would cause an "overwrite?" pause.
  794.   3)  SCAN'ing for virus infestation was not working properly in "imbedded"
  795.       archives.  ZipLab will now properly SCAN executables and overlays 
  796.       contained in imbedded archives.
  797.   4)  I broke CRC checking in archives and .TD0 files in the 1.2 version.
  798.       This has been fixed.  Archives and .TD0 files inside the top level
  799.       archive will now be CRC checked properly.
  800.   5)  I was previously only running SCAN against .EXE and .COM files in
  801.       the archive.  I have added .OVL (which SCAN recognizes as executable).                        
  802.       
  803.                             
  804.                             ZipLab PLUS Version 1.2
  805.                             
  806.                             
  807. * No configuration file changes required for this version.
  808.  
  809. * Fixed a tricky little problem with an ASM routine I use to RD directories.
  810.   The routine was not properly killing the directory if SET ZIPLAB= was used
  811.   to set the "work" directory to a RAM drive.  This should now work fine.
  812.   There were other instances where some machines (or DOS') were having 
  813.   trouble with removing the "work" directory.  These are also fixed...
  814.   
  815. * Fixed a problem where PKUNZIP was stopping with a "do you want to overwrite?"
  816.   message (which we couldn't see), if a file had imbedded paths with files of
  817.   the same name in different paths.  This should no longer be a problem.
  818.   
  819. * The LHARC program is now called LHA.EXE in newer versions.  ZipLab will 
  820.   work properly with either LHARC.EXE or LHA.EXE, but defaults to LHA.EXE.
  821.   
  822.                                   
  823.                             ZipLab PLUS Version 1.1
  824.                             
  825. * No configuration file changes required for this version.
  826.  
  827. * I had left in a lot of "local" display of the testing process, so that I
  828.   could get useful debugging information back from my users.  I have now
  829.   removed as much as possible of the local displays, and the process should
  830.   look a lot less jerky to the watching sysop.
  831.   
  832. * Added a the ability to use ".*" as one of the extensions which will be
  833.   passed without archive testing.  If you put ".*" in using Setup.Exe, ALL
  834.   files will be passed.  Files passed with this method OR by specifing
  835.   particular extensions in PTest.Cfg will still be SCAN'd for virus'.  
  836.   
  837. * Fixed a problem where in LOCAL mode using wildcards, a directory which
  838.   contained a mixture of archive types (ZIP, ARJ, LZH) would cause problems
  839.   after testing the first type.
  840.   
  841. * Some users were having problems reassigning the "working" directory.  This
  842.   is by default PTEST.DIR under the current directory (C:\PCB\PTEST.DIR\ for
  843.   most sysops), but can be changed to another directory with an environment
  844.   variable.   In your Autoexec.Bat, the line "SET ZIPLAB=d:\path" will allow
  845.   any drive and directory to be used for the "working" directory.  PLEASE,
  846.   remember that this directory will be used and DELETED when the process is
  847.   done.  Several people tried to use C:\PCB or just C:\ and experienced 
  848.   unfortunate effects.  I have tested ZipLab PLUS with a ramdrive as the
  849.   "working" directory, and it seems to work fine.  There may be a problem
  850.   with directories containing a "." in early versions of DOS. if you are
  851.   not running DOS 4.0 or later, and are having problems with ZipLab Plus,
  852.   you may want to try reassigning to another directory name.
  853.   
  854. * Descriptions will not be modified if you are not running PCBoard 14.5(a)
  855.   or later.  Early 14.5 versions didn't save the descriptions in the same
  856.   location during the testing process, and ZipLab Plus won't find them.
  857.                             
  858.                             
  859.                             ZipLab PLUS Version 1.0
  860.                 
  861. * Configuration file changes required for this version! (from old ZipLab)
  862.  
  863. * This is the new ZipLab PLUS!  A lot of hard work has gone into this and 
  864.   earlier versions,  and I will be requiring a *REGISTRATION FEE* with 
  865.   this version.  See REGISTER.DOC for details on how to register ZipLab 
  866.   PLUS.
  867.                 
  868. * ZipLab will now test .ARJ and .LZH files, as well as the .ZIP 
  869.   format.  You will need to have ARJ.EXE and LHA.EXE if you accept 
  870.   these formats, and a change to the .CFG file is *REQUIRED* to tell 
  871.   PTEST where they are.  You must put them in the PTEST.CFG file, even 
  872.   if you don't accept these formats,  and don't have the programs... 
  873.   Just lie to it.
  874.                 
  875. * ZipLab now fully supports ProDoor as well as PCBoard.
  876.  
  877. * You may now run ZipLab while out of the bulletin board system and use 
  878.   wildcards (* or ?) in the testing procedure. This will allow you to test 
  879.   existing archive file(s) on your system.  *NO* changes will be made to 
  880.   existing descriptions. To enable this feature, place the word LOCAL at 
  881.   the end of the PTEST command line.
  882.  
  883.   EXAMPLE: C:\ZIPLAB>PTEST m:\pcb\dir1\*.zip ptest.cfg LOCAL
  884.                 
  885. * ZipLab will now SCAN archives inside archives to test for virus 
  886.   infestation.
  887.   
  888. * You may now have rejected uploads left in your private directory if you 
  889.   prefer this setup.  Set the "holding" directory  to the location of your 
  890.   "private" or "upload"  directory  (whichever you wish),  and the file(s) 
  891.   will remain there. The description(s) will be posted to your "private" 
  892.   dir file.  This corrects a situation where sysops trying to do this with 
  893.   earlier releases of ZipLab would lose the rejected file.
  894.                 
  895. * By default, ZipLab will use a directory called PTEST.DIR under the 
  896.   current directory for unzip'ing and testing purposes.  This directory 
  897.   will be erased and removed by ZipLab at the end of the run.  If you wish 
  898.   to use another directory for this purpose (like a RAM drive to improve 
  899.   speed), set the DOS environment variable "ZIPLAB".  
  900.  
  901.   EXAMPLE:  SET ZIPLAB=E:\WORKDIR
  902.  
  903. * You may choose to add a file to the archive package, by adding the 
  904.   appropriate information to the PTEST.CFG file.  I am opposed to this 
  905.   practice, but don't desire to tell anyone how to run their shop.
  906.  
  907. * The ORIGINAL file date of the archive file is now retained. Earlier 
  908.   versions of ZipLab would set the archive file date  to the date of the 
  909.   newest member in the archive.  This was required for age testing, but is 
  910.   no longer.
  911.                 
  912. * ZipLab will NOT leave behind  "hidden,  read-only  or  system" files 
  913.   which were imbedded in archives.  They will be tested, and properly 
  914.   deleted when the tests are finished.
  915.                 
  916. * ZipLab now uses GIFTEST.EXE to test .GIF files (if permitted).  This 
  917.   program by Dave Navarro will allow you to set up a GIFTEST.CFG file - 
  918.   giving you even more control over  .GIF  testing.  An addition to your 
  919.   PTEST.CFG file is required to support this.  Please read the docs with  
  920.   GIFTSTxx.ZIP  for details  on  how to best set up the GIFTEST.CFG file. 
  921.   YOU MUST REGISTER GIFTEST TO USE IT!
  922.                 
  923. * You may now put all BBS advertising file  names  into a text  file, one 
  924.   on each line.  In PTEST.CFG, place an "@" before the name of this text 
  925.   file, and ZipLab will delete all listed advertising  files in one pass.  
  926.   THIS IS MUCH FASTER for those with multiple advertising files to reject.
  927.  
  928.  
  929.  
  930.  
  931. ***********************************************************************************************
  932.  
  933.    This program was written in QuickBasic 4.5, with some help from 
  934. Hammerly Computing's ProBas 4.01.   I have also included a few utilities 
  935. which PTEST will use in the course of testing.  These utilities are the 
  936. property of the authors, and you are strongly requested to register them 
  937. if you continue to use ZIPLAB PLUS.
  938.  
  939.                              Jeffrey S. Morley
  940.                            The Interconnect BBS
  941.                                (703)425-2505
  942.  
  943.             PLEASE SEE REGISTER.DOC FOR REGISTRATION INFORMATION
  944.  
  945.                 (C)Copyright 1989-1991 by Jeffrey S. Morley
  946.  
  947.  
  948.