home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.wwiv.com
/
ftp.wwiv.com.zip
/
ftp.wwiv.com
/
pub
/
UPCHECK
/
ZL2B0213.ZIP
/
ZIPLAB.DOC
< prev
next >
Wrap
Text File
|
1993-02-20
|
51KB
|
1,125 lines
▒▒▒▒▒▒▒▒▒▄ ▒▒▒▒▄ ▒▒▒▒▒▒▒▒▒▄ ▒▒▒▒▄ ▒▒▒▒▒▒▒▒▄ ▒▒▒▒▒▒▒▒▒▄
▀▀▀▀▀▒▒█▀ ▒▒█▀ ▒▒█▀▀▀▒▒█ ▒▒█▀ ▒▒█▀▀▀▒▒█ ▒▒█▀▀▀▒▒█
▒▒█▀ ▒▒█ ▒▒█ ▒▒█ ▒▒█ ▒▒█ ▒▒█ ▒▒█ ▒▒█
▒▒▒█▀ ▒▒█ ▒▒▒▒▒▒▒▒█ ▒▒█ ▒▒▒▒▒▒▒▒█ ▒▒▒▒▒▒▒█▀
▒▒█▀▀ ▒▒█ ▒▒█▀▀▀▀▀▀ ▒▒█ ▒▒█▀▀▀▒▒█ ▒▒█▀▀▀▒▒█
▒▒█▀ ▒▒█ ▒▒█ ▒▒█ ▒▒▄ ▒▒█ ▒▒█ ▒▒█ ▒▒█
▒▒▒▒▒▒▒▒▒▄ ▒▒▒▒█ ▒▒▒▒█ ▒▒▒▒▒▒▒▒▒█ ▒▒▒▒█ ▒▒▒▒█ ▒▒▒▒▒▒▒▒▒█
▀▀▀▀▀▀▀▀▀ ▀▀▀▀ ▀▀▀▀ ▀▀▀▀▀▀▀▀▀ ▀▀▀▀ ▀▀▀▀ ▀▀▀▀▀▀▀▀▀
▒▒▒▒▒▒▒▒▒▄ ▒▒▒▒▄ ▒▒▒▒▄ ▒▒▒▒▄ ▒▒▒▒▒▒▒▒▄
▒▒█▀▀▀▒▒█ ▒▒█▀ ▒▒█▀ ▒▒█▀ ▒▒█▀▀▀▒▒█
▒▒█ ▒▒█ ▒▒█ ▒▒█ ▒▒█ ▒▒█ ▀▀
▒▒▒▒▒▒▒▒█ ▒▒█ ▒▒█ ▒▒█ ▒▒▒▒▒▒▒▒▄
▒▒█▀▀▀▀▀▀ ▒▒█ ▒▒█ ▒▒█ ▀▀▀▀▒▒█
▒▒█ ▒▒█ ▒▒▄ ▒▒█ ▒▒█ ▒▒▄ ▒▒█
▒▒▒▒█ ▒▒▒▒▒▒▒▒▒█ ▒▒▒▒▒▒▒▒█ ▒▒▒▒▒▒▒▒█
▀▀▀▀ ▀▀▀▀▀▀▀▀▀ ▀▀▀▀▀▀▀▀ ▀▀▀▀▀▀▀▀
▒▒▒▒▒▒▄ ▒▒▒▒▒▒▄
▀▀▀▒▒█ ▒▒█▀▒▒█
▒▒▒▒▒▒█ ▒▒█ ▒▒█
▒▒█▀▀▀▀ ▒▒█ ▒▒█
▒▒▒▒▒▒▄ ▒▒▄ ▒▒▒▒▒▒█
▀▀▀▀▀▀ ▀▀ ▀▀▀▀▀▀
Copyright (C)1989-93 by Jeffrey S. Morley
ZipLab PLUS Version 2.ß.11
(C)Copyright 1989-93 by Jeffrey S. Morley
February, 17th, 1993
Archive testing and maintenance program for PCBoard/ProDoor Sysops.
##############################################################################
Table of Contents
##############################################################################
To jump to a section, do a search on the page number in the format:
"Pgx" where "x" is the page number to jump to.
Introduction to ZipLab Plus 2.0 .......................................... 1
Installation of ZipLab / Requirements .................................... 2
Installation of ZipLab / Quick Start ..................................... 3
Installation of ZipLab / A Sample Configuration File ..................... 8
Installation of ZipLab / Configuration Details ........................... 9
I. Conference Specific Configurations ......... 9
II. The ZDCS Duplicate Checking System ......... 9
III. ZLABxxx.TCN Trashcan File(s) ............... 10
IV. ZLABxxx.CMT Comment File(s) ................ 10
V. CRC.ADS .................................... 11
VI. LST.ADS .................................... 12
VII. *.MSG The Message Files .................... 12
VIII PKZIP 2.0 .................................. 13
Installation of ZipLab / Usage Notes and Warnings ........................ 14
I. Command Line Parameters .................... 14
II. PCBoard's TEMP Directory ................... 13
III. ZipLab's WORK Directory .................... 15
IV. Using Giftest with ZipLab .................. 15
Installation of ZipLab / Some Notes on Memory Usage ...................... 17
Installation of ZipLab / ProDoor Differences ............................. 18
ZipLab Plus Version History .............................................. 20
About ZipLab Plus and the Author ......................................... 21
Pg1
##############################################################################
INTRODUCTION TO ZIPLAB PLUS
##############################################################################
What is ZipLab Plus?
ZipLab Plus is a shareware program which will test archived files. In
addition, ZipLab will allow you to add .ZIP comments, strip out unwanted
members, and much, much more! ZipLab was designed for PCBoard/ProDoor
SysOps, to test files as they are uploaded to their systems. It is run in
the PCBTEST.BAT file which comes with PCBoard 14.5. PCBTEST.BAT is run by
PCBoard when an upload completes.
The following is a quick list of ZipLab's features:
Testing:
* Test for CRC errors in the archive file.
* Test for imbeded archive files and if found, CRC check those too.
* Test for imbeded .TD0 (Teledisk) files and if found, test with TDCHECK.
* Virus check archive member files, using your favorite virus checker.
* Virus check inside archive files imbeded inside another archive file.
* Test .GIF files for validity if you accept that file format (Optional)
* Run virus check on files which you optionally pass without ZIP testing.
* Reject programs older than a number of days which you specify.
* Uses a "trashcan" file to reject by description keywords you specify.
* Will fully test "self-extracting" archives of the ZIP/ARJ/LZH formats.
* Fully integrated with the ZDCS duplicate checking system from Mike Cocke.
Maintenance:
* Remove all archive comments from the file.
* Replace archive comments with your own. (Optional)
* Add the contents of FILE_ID.DIZ to the archive comment.
* Use special ZipLab "@" codes to include test information in the comment.
* Adds the reasons to the comment on files which fail ZipLab Plus testing.
* Delete unwanted BBS ads and/or other unwanted archive members as you define.
- ZipLab tests for BBS ads by FILENAME or file CRC.
* Allows you to optionally add a file to the archive.
PCBoard/ProDoor BBS specific features:
* Add the resolution of .GIF files to the description (Optional)
* Adds most recent archive member date to the description (Optional)
* Adds the number of archive members to the description (Optional)
* Optionally replace the description left by the user if FILE_ID.DIZ is
found in the archive file. Formatted to the correct 45 char standard.
* Will make a notation in both the CALLER file and the private DIRx
file for files which fail upload testing, including failure reason.
* Allows your users to run the TEST command in PCBoard to test files.
* Takes the phone "offhook" if the user hangs up before/during testing.
* Sends a mail message to the user letting him know why a file was
rejected, and to both the user and the Sysop when a virus is found.
* Allows full conference specific configurations.
General:
* Run the full range of tests on .ZIP, .LHZ and .ARJ archive formats
* Works on a PCBoard/ProDoor BBS in both online and local modes.
* Works with both the old and new versions of PKZip.
Pg2
##############################################################################
ZIPLAB PLUS REQUIREMENTS
##############################################################################
! YOU MUST BE RUNNING PCBOARD VERSION 14.5(a) OR PRODOOR VERSION 3.44 !
You must have the following programs. Several are included in the ZipLab
Plus archive, but registration of ZipLab DOES NOT include registration of
any of these products. Please SUPPORT SHAREWARE and register these products
with their respective authors.
PKZIP.EXE - Phil Katz's archive create program (version 1.01 or 2.04)
PKUNZIP.EXE - Phil Katz's archive extract program (version 1.01 or 2.04)
LHA.EXE - Yoshi's archive program (version 2.13 +)
ARJ.EXE - Robert Jung's archive program (version 3.00 +)
SCAN.EXE * - McAffey's virus detection program (any version)
RECOM.EXE - Mike Loewen's ZIP file comment remover
GIFTEST.EXE - Dave Navarro's .GIF file tester (optional)
TDCHECK.EXE - .TD0 (Teledisk) checker from SyDex (optional)
ZDCSFC.EXE - The ZDCS duplicate checking system from Mike Cocke.
Version 2.01 or better is required for seamless operation.
* Note! This can be replaced with the virus checking program of your choice,
subject to restrictions and requirements outlined in the installation guide.
Programs I have written and which are part of the ZipLab Plus package.
DELF.COM - A version of DEL with no "Are you sure?" prompt.
ZLSCR.COM - A little utility called by ZipLab to help handle the local
screen during testing (Based on ProNS.COM by Sam Smith).
ZCRC.EXE - A small utility to get file CRC values for placement in your
ADS.CRC file.
ZLAB.EXE - The ZipLab Plus executable program.
ZSHELL.EXE - Used by ZipLab to manage memory during "shells"
ZVALID.EXE - Used to test validity of your ZipLab configuration files.
Pg3
##############################################################################
QUICK START
##############################################################################
* ZipLab does a LOT of things. It is a complicated program, but a breeze to
set up and run... IF you follow the directions and read this entire
documentation. Print this document and follow it step by step. You can't
miss.
* Create a directory to hold ZLAB.EXE, the sample ZLAB000.CFG, ZLAB000.TCN,
CRC.ADS, LST.ADS, *.MSG, ZLAB000.CMT, ZSHELL.EXE, ZVALID.EXE, ZLSCR.COM,
and ZERROR.DAT files. This directory should be in your DOS PATH. All
ZipLab files can be shared by multiple nodes. Node specific
configurations are not required. Let's assume you use C:\ZIPLAB for now.
* UnZIP the enclosed supplemental utilities into directories in your DOS
PATH. Make note of where you put them, you will need this information
later. Make sure DELF.COM and RECOM.EXE are in your path, and that you
know where they are. This also applies to PKZIP, PKUNZIP, ARJ, LHA, SCAN,
GIFTEST, TDCHECK and ZDCS (all of which you should already have).
* Using a text editor, edit the ZLAB000.CFG file included in the archive.
The "000" in the config name is conference specific. The default is for
conference "0", the "Main Board". More later on how to create conference
specific configurations. for now, ZipLab will default to looking for
ZLAB000.CFG when run from any conference.
* Modify the following information for your system, in ZLAB000.CFG:
BBSName=
The name of your BBS system. 43 characters maximum.
SAMPLE: BBSName=The Interconnect Bulletin Board System
DateInDesc=
A "Y" if you wish the "recent date" notation added to the file
descriptions. A "N" if you do not wish this addition.
SAMPLE: DateInDesc=Y
AgeDays=
The number of days old which will be the maximum accepted age. Archives
containing files older than this will be rejected. Example: 730 would
mean any file older than two years would fail.
SAMPLE: AgeDays=730
DizInComment=
A "Y" if ZipLab should add the contents of FILE_ID.DIZ (if found) to the
bottom of the zip comment. "N" to disable.
SAMPLE: DizInComment=Y
DizInDesc=
A "Y" if you wish to replace the description left by the user with the
contents of FILE_ID.DIZ (if found in the archive). A "N" if you do not
wish to make use of this feature.
SAMPLE: DizInDesc=Y
Pg4
FilesInDesc=
A "Y" if you wish the "number of archive member files" notation added to
the file descriptions. A "N" if you do not.
SAMPLE: FilesInDesc=Y
Handshake=
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...)
SAMPLE: Handshake=3
OKExtensions=
A list, all on one line, (separated by ";" - EXE;TXT;GIF) Which will be
passed without normal ZIP testing. SCAN and date checking will still be
performed on these files. Any extensions other than ZIP/ARJ/LZH which do
not appear in this list will be rejected by the process. If GIF appears in
this list, GIFTEST will be used to test the integrity of the GIF file. If
you enter a "*" as one of the extentions, then ALL files will be passed
through, with non-archived files being SCAN'd and date checked only.
"NONE" in this position will only allow ZIP/ARJ/LZH files to pass.
SAMPLE: OKExtensions=GIF;EXE;PCX
SendMsgToMain=
A "Y" if you wish all mail messages sent on failure of an upload to be
sent to your Main Board conference. A "N" if you wish the messages sent
to the conference in which the upload was made.
SAMPLE: SendMsgToMain=Y
SendSysopMsg=
A "Y" if you wish the sysop to also receive a mail message in the instance
of a virus detection. A "N" if you do not.
SAMPLE: SendSysopMsg=Y
SendUserMsg=
A "Y" if you wish ZipLab to send a mail message to the user when a file
fails testing. A "N" if not.
SAMPLE: SendUserMsg=Y
ARJPath=
Full DRIVE:\PATH\FILENAME of ARJ.EXE.
SAMPLE: ARJPath=C:\UTILITY\ARJ.EXE
AddFilePath=
The fully qualified filename of a file which you may wish to add to the
.ZIP, or "NONE" (please!) if you can refrain from this practice. Once
again, ZLAB000.ADD will make sense later.
SAMPLE: AddFilePath=NONE
CRCPath=
The full DRIVE/PATH/FILENAME of a text file containing the file CRC for
files you wish removed before posting the archive. This file can be
called anything, but CRC.ADS works for me. You can use the included
ZCRC.EXE to help maintain this file. More on the use of ZCRC.EXE later.
SAMPLE: CRCPath=C:\ZIPLAB\CRC.ADS
CommentPath=
The full DRIVE\PATH\FILENAME of a zip comment to add. Again, it is
recommended that the name ZLAB000.CMT be used for consistancy. Specify
"NONE" if you don't want to add a comment, or "ZIPLAB" to have ZipLab
create one for you.
SAMPLE: CommentPath=C:\ZIPLAB\ZLAB000.CMT
Pg5
DelfPath=
Full DRIVE:=PATH\FILENAME of DELF.COM
SAMPLE: DelfPath=C:\UTILITY\DELF.EXE
FailDir=
The DRIVE and PATH to the directory where rejects will be placed pending
manual sysop inspection. This can be a common directory on multiple node
systems, but SHOULD be an empty (existing) directory dedicated to this
purpose. I recommend "d:\FAIL" or "d:\HOLD" as likely names.
SAMPLE: FailDir=C:\FAIL
GiftestPath=
Full DRIVE:\PATH\FILENAME of GIFTEST.EXE (or "NONE" if not using)
SAMPLE: GiftestPath=C:\UTILITY\GIFTEST.EXE
LHAPath=
Full DRIVE:\PATH\FILENAME of LHA.EXE.
SAMPLE: LHAPath=C:\UTILITY\LHA.EXE
LSTPath=
The full DRIVE/PATH/FILENAME of a text file containing the NAMES (one on
each line) of files you wish removed before posting the archive. This file
can be called anything you wish, I suggest LST.ADS. Any files listed in
this text file which exist in the uploaded archive will be removed.
SAMPLE: LSTPath=C:\ZIPLAB\LST.ADS
MsgDir=
The DRIVE\PATH to the directory which will hold the .MSG files. These are
the mail messages sent to the user/sysop on failure.
SAMPLE: MsgDir=C:\ZIPLAB
RecomPath=
Full DRIVE:\PATH\FILENAME of RECOM.EXE.
SAMPLE: RecomPath=C:\UTILITY\RECOM.EXE
ScanPath=
Full DRIVE:\PATH\FILENAME of SCAN.EXE, or another virus checker program.
Be sure the program you may chose (other than SCAN) is appropriate for
ZipLab. It MUST have reasonable memory requirements, allow for automatic
command line use, and return a DOS ERRORLEVEL on virus detection. I do
not warrent that any virus checker other than SCAN or F-PROT will work
correctly.
SAMPLE: ScanPath=C:\UTILITY\SCAN.EXE
TDCheckPath=
Full DRIVE:\PATH\FILENAME of TDCHECK.EXE. (or "NONE" if not using)
SAMPLE: TDCheckPath=C:\UTILITY\TDCHECK.EXE
TcanPath=
The full DRIVE\PATH\FILENAME of your ZLAB000.TCN (trashcan) file. The
filename need not follow the ZLABxxx.ext format, but it will make
conference specific work much easier later.
SAMPLE: TcanPath=C:\ZIPLAB\ZLAB000.TCN
UnZipPath=
Full DRIVE:\PATH\FILENAME of PKUNZIP.EXE.
SAMPLE: UnZipPath=C:\UTILITY\PKUNZIP.EXE
Pg6
ZDCSPath=
Full DRIVE:\PATH\FILENAME of ZDCSFC.EXE, main executable for the
ZDCS duplicate checking system. Use NONE if you wish to disable
this feature.
SAMPLE: ZDCSPath=C:\ZDCS\ZDCSFC.EXE
ZShellPath=
Full DRIVE:\PATH\FILENAME of ZSHELL.EXE This executable is run by
ZipLab, and should not be run from the DOS command line. It is
required that ZipLab know where to find the file.
SAMPLE: ZShellPath=C:\ZIPLAB\ZSHELL.EXE
ZipPath=
Full DRIVE:\PATH\FILENAME of PKZIP.EXE.
SAMPLE: ZipPath=C:\UTILITY\PKZIP.EXE
GiftestParms=
Command line PARAMETERS you wish to pass to GIFTEST.EXE. Please refer to
the documentation for GIFTEST for details! Just enter "NONE" if you do not
desire to pass parameters.
SAMPLE: GiftestParms=NONE
ScanErrorLevel=
The DOS ERRORLEVEL which is set by your virus checker if a file virus is
detected. This can only be ONE number, and unlike DOS, it is not a
function of "more than this number". It is EXACTLY this number. Again, I
have tested this with SCAN and F-PROT, but have no idea if any other virus
checkers return appropriate ERRORLEVELs. The ERRORLEVELS set on virus
detection for the two programs that I have tested are:
SCAN 1
F-PROT 3
SAMPLE: ScanErrorLevel=1
ScanParms=
Optional command line switches to pass to the virus checker. Be sure you
have read the docs for the program you use. As with the program in
general, I only warrent that the switches I have used as an example for
SCAN or F-PROT will work correctly. If you decide to use something else,
be sure you understand and have tested any switches you provide. I do
feel confident that these work:
SCAN /NOMEM /NOBREAK /NOEXPIRE /NOPAUS
F-PROT /NOMEM /NOBREAK /OLD
Do NOT set a switch which causes the virus checking program to delete or
rename the file. ZipLab will take care of that.
"NONE" will cause ZipLab to not pass any parameters except the filename(s)
to test.
SAMPLE: ScanParms=/NOMEM /NOBREAK /NOEXPIRE /NOPAUSE
Pg7
UnZipParms=
An optional list of extra parameters you wish to pass to PKUNZIP.EXE on
the command line. Some PKUNZIP 2.0 switches:
-) Turn off DMPI memory usage
-- Turn off XMS memory usage
-+ Turn off EMS memory usage
-3 Turn off 386cpu specific code
"NONE" will cause ZipLab not to pass any extra parameters. If you are
using PKZip 1.1, NONE is appropriate. If using 2.04x, you MAY need
to use one or more of these parameters on your system.
SAMPLE: UnZipParms=NONE
ZipParms=
An optional list of extra parameters you wish to pass to PKZIP.EXE on the
command line. Some PKZIP 2.0 switches:
-) Turn off DMPI memory usage
-- Turn off XMS memory usage
-+ Turn off EMS memory usage
-3 Turn off 386cpu specific code
-~ Turn off NETWORK specific code
-( Uses slower form of memory handling
"NONE" will cause ZipLab not to pass any extra parameters. If you are
using PKZip 1.1, NONE is appropriate. If using 2.04x, you MAY need
to use one or more of these parameters on your system.
SAMPLE: ZipParms=NONE
* Save the ZLAB000.CFG file with your changes, and then run the program
ZVALID.EXE - "ZVALID ZLAB000.CFG". A text file called ZVALID.RPT will be
created in your current directory, with notations anyplace that there are
errors or missing items in your .CFG file. Re-edit your ZLAB000.CFG and
re-run "ZVALID ZLAB000.CFG" until you have a solid column of "OK!" at
the right of the ZVALID.RPT file. You can then be sure that your .CFG
file is correct for your sytem.
* Edit your existing PCBTEST.BAT file, and delete the whole thing except
for two lines:
Sample PCBTEST.BAT file:
@ECHO OFF
C:\ZIPLAB\ZLAB.EXE %1 C:\PCB C:\ZIPLAB %2
^1 ^2 ^3 ^4
1) %1 PCBoard will populate this with the DRIVE\PATH\FILE to test.
2) C:\PCB The PCBoard "home" directory for the node.
3) C:\ZIPLAB The directory containing your ZLABxxx.CFG file(s).
4) %2 PCBoard will populate this with TEST if a user is running
the TEST command on the board. You can also pass LOCAL
to this parameter to run ZipLab from DOS.
* Note! Although ZipLab can share its configuration files, it should be run
FROM the PCBoard "home" directory of each node. Do not change directories
in PCBTEST.BAT to your "ZIPLAB" directory.
Pg8
##############################################################################
A SAMPLE ZLAB000.CFG FILE
##############################################################################
[Preferences]
BBSName=The Interconnect Bulletin Board System
DateInDesc=Y
AgeDays=730
DizInComment=Y
DizInDesc=Y
FilesInDesc=Y
Handshake=2
OKExtensions=GIF;TXT;JPG
SendMsgToMain=Y
SendSysopMsg=Y
SendUserMsg=Y
[Locations]
ARJPath=C:\UTILITY\ARJ.EXE
AddFilePath=NONE
CRCPath=C:\ZIPLAB\CRC.ADS
CommentPath=C:\ZIPLAB\ZLAB000.CMT
DelfPath=C:\UTILITY\DELF.COM
FailDir=C:\FAIL
GiftestPath=C:\UTILITY\GIFTEST.EXE
LHAPath=C:\UTILITY\LHA.EXE
LSTPath=C:\ZIPLAB\LST.ADS
MsgDir=C:\ZIPLAB
RecomPath=C:\UTILITY\RECOM.EXE
ScanPath=C:\UTILITY\SCAN.EXE
TDCheckPath=C:\UTILITY\TDCHECK.EXE
TcanPath=C:\ZIPLAB\ZLAB000.TCN
UnZipPath=C:\UTILITY\PKUNZIP.EXE
ZDCSPath=C:\ZDCS\ZDCSFC.EXE
ZShellPath=C:\UTILITY\ZSHELL.EXE
ZipPath=C:\UTILITY\PKZIP.EXE
[Parmameters]
GiftestParms=/B:1 /M:640x480x16 /F:C:\PCB\TEMP\UPDESC.1
ScanErrorLevel=1
ScanParms=/NOMEM /NOBREAK /NOEXPIRE /NOPAUSE
UnZipParms=NONE
ZipParms=NONE
Pg9
##############################################################################
CONFIGURATION DETAILS
##############################################################################
I. Conference Specific Configurations
You MUST at least have created a file named ZLAB000.CFG for ZipLab Plus to
operate. The "000" tells ZipLab that this is the configuration file for the
Main Board Conference, but is also the default for any conferences that do
not have specific configuration files.
To create a configuration for another conference (let's use your "GAMES"
conference, number "5", as an example), copy ZLAB000.CFG to another file,
replacing the "000" with the conference you wish to set up. In this case,
you would copy ZLAB000.CFG to ZLAB005.CFG. Then, modify ZLAB005.CFG to be
specific to your Games Conference.
You can change just about every configuration item to be specific to the
Games conference. Some things you might want to change are:
* The "Board Name" field - Maybe It will say "Joes BBS - Games Conference"
* The name of your .TCN (trashcan) file. You may want to exclude more
(or less) types of files from this conference. Just call the file
ZLAB005.TCN.
* The "Date Limit" field. Maybe you want only the LATEST games.
* The "Zip Comment" field. Have a conference specific .ZIP comment by
changing the name to ZLAB005.CMT.
* The use (or non-use) of GIFTEST.EXE, and the acceptance of .GIF files.
Repeat this process for any other conferences you wish to have specific
ZipLab configurations for. Don't forget, as ZipLab will use ZLAB000.CFG for
any conference for which there is not a specific .CFG file, you don't HAVE
to set up config files for any conference except the Main Board.
* Note! Be sure that any files like ZLAB005.TCN or ZLAB005.CMT that you
specify actually do exist! You can create them before or after you edit
the config files, but certainly before you run ZipLab Plus (unless you
want to test my error handling system <g>).
II. The ZDCS Duplicate Checking System
ZDCS is a set of programs written and distributed as Shareware by Mike W.
Cocke. This program will create a database of all files (including all
files INSIDE archives) on your BBS. When run against an upload, ZDCS will
check its database against the individual members of the uploaded archive,
and can be given a percentage of duplicate files which will be allowed. If
the percentage of files in this archive which are already in other archives
on your system exceeds the allowed percentage, ZDCS will tell ZipLab to
"fail" the file.
When configuring ZDCS for ZipLab, do not have ZDCS erase or move any files
which "fail" testing. ZipLab will handle that part of it. No "/D" please!
You must have version 2.01 or better of ZDCS for the integration between
ZipLab and ZDCS to appear "seamless", but version 2.0 of ZDCS will function
correctly otherwise.
Pg10
The latest version of ZDCS is available on The Hacker's Central BBS, at
(201)-334-2005. Mike has stated that he will allow download of ZDCS by
first-time callers to his BBS.
NOTE! ZDCS is a Shareware program, and your registration of ZipLab does
NOT entitle you to use ZDCS for longer than a normal 30-day
evaluation period. Please register ZDCS if you plan to use it
with or without ZipLab.
I DO NOT provide technical support for ZDCS. I found the documentation
provided with the package to be clear and correct, and further support for
registered ZDCS users can be arranged with the author of ZDCS. I will say
it now, so there is no mistake... I run ZDCS 2.01 with ZipLab here, it works
GREAT, and if it doesn't work right for you, you need to review all
documentation. I will not answer questions in any forum concerning the care
and feeding of ZDCS. For that matter, I don't expect the author of ZDCS to
answer questions about problems you may have with ZipLab.
III. ZLABxxx.TCN The "trashcan" file(s)
This file holds text key-words or key-phrases which are used to reject files
based on either the filename or contents of the file description. If you for
instance did not want "adult" .GIF files uploaded to your system, but did
want to allow other .GIF file uploads, you might put the following lines in
ZLAB000.TCN:
ADULT
X-RATED
"X RATED"
"WESSON OIL AND RUBBER SHEETS"
MADONNA
Or whatever you feel would allow ZipLab to identify the kind of files you
have in mind, without being so generic as to cause perfectly acceptable
files to fail. The .TCN file is NOT case sensitive.
ZipLab Plus will test the filename, user supplied description, and the
contents of FILE_ID.DIZ (if found) against this list, and will reject any
files which contain these "trashcan" words/phrases.
* Note! To imbed "white space" either in, before, or after an entry, use
the QUOTE (") character to surround the phrase or word. For instance, if
you wanted to exclude files with the word "WIN" in them, you should use
" WIN " so that things like "TWIN" or "WINNER" don't also fail.
IV. ZLAB000.CMT The "comment" file(s)
This is a text file which will be added as a .ZIP (or .ARJ) comment to the
archive file. As you can see from the filename format, you can certainly
have a different comment file for each conference if you so desire.
Pg11
This file can say anything you want. I have also included some ZIPLAB-
specific "@ZCODES" which can be imbeded in the text to add information
which ZipLab Plus will provide at run-time. You may NOT use PCBoard's
"@-Codes", only the ones that ZipLab Plus supplies:
@ZCODE MEANING FORMAT / ADDITIONAL DESCRIPTION
@ZFILENAME@ File Name "filename.ext"
@ZTYPE@ Archive Type ".ZIP", ".ARJ", or ".LZH"
@ZUPLDATE@ Date Tested "mm/dd/yyyy"
@ZUPLTIME@ Time Tested "hh:mm:ss"
@ZBBSNAME@ Board Name from ZLABxxx.CFG
@ZUSERNAME@ User Name "firstname lastname"
@ZUSERFNAME@ User First Name "Sally", "John", etc..
@ZNUMMEMBERS@ Number of Files count of files in archive
@ZNEWEST@ Newest File "mm/dd/yyyy"
@ZOLDEST@ Oldest File "mm/dd/yyyy"
@ZPASSFAIL@ Pass-Fail Status "passed" or "failed"
@ZFAILREASON@ Reason for Failure "CRC checking" , "Virus checking" etc...
@ZTCANTEXT@ Trash Can Text Text which failed .TCN checking - if any.
@ZVERSION@ Version Number Version of ZipLab Plus ("2.0")
@ZDATELIMIT@ Date Limit "mm/dd/yyyy"
@ZFOUNDDIZ@ FILE_ID.DIZ Found "found" or "not found"
@ZNODE@ Node Number BBS node number
@ZCONFERENCE@ Conference Number conference the user is in (as a number)
* Note! You may also use the word "ZIPLAB" in this field in ZLABxxx.CFG,
and ZipLab will create a comment for you, with much of the above
information. As always, you may also use "NONE", and ZipLab will not add
any comment at all.
V. CRC.ADS
This file will contain the file CRC-32 values (and names) of files which
you wish removed from the archive prior to posting. The format of the
file is:
00000000,filename.ext
Where "00000000" is the file's CRC-32, and filename.ext is one of the names
by which the file is known. The filename is not optional, but can really be
anything, as ZipLab could care less what a file is called. If it matches on
the CRC-32 value, it WILL be removed.
You will want to maintain your CRC.ADS file using the ZCRC.EXE file which is
included in the ZipLab Plus archive. Just type:
"ZCRC [d:\path\]CRC.ADS [d:\path\]filename.ext"
and ZCRC.EXE will place the proper information for the filename you replace
"filename.ext" with at the bottom of the CRC.ADS file.
As always, a "NONE" in the ZLABxxx.CFG file in this position will cause
ZipLab Plus to skip this process.
* Note! It is certainly acceptable to have different "CRC.ADS" files for
different conferences, and you could use the "ZLABxxx.CRC" convention if
you wish. I find that trying to maintain multiple versions of this file to
be a fair amount of trouble however, and don't particuarly recommend it.
Pg12
VI. LST.ADS
This is a text file (one on each line) containing only the names of files
you wish removed without testing. The difference between this file and the
CRC.ADS file is that you can test for a particular file name, and it will
remove it even if the person adding the file changes the contents from time
to time. This file also supports "wildcards", so you can test for those
names where "special" characters (above 126 ASCII) have been used to create
a filename, by masking out those characters.
As an example, you could test for a BBS ad called "S£ïMΣ.Pïτ" by adding
"S??M?.P??" as an entry in LST.ADS (of course, "SIMMS.PAS" would fail as
well, so be careful how you use wildcards.).
Use "NONE" in the field in ZLABxxx.CFG to disable this feature.
VII. *.MSG The mail message files
The mail message files are text files (the @ZCodes can be used, and in fact
you could imbed PCBoard's @Codes as well, they will just get passed through
to the message and handled by PCBoard when the user reads the message.),
which will constitute mail messages sent to the user when a file fails. This
can be used to tell the user the reason for the rejection, to remind him of
rules you may have about types of file you accept, or to reassure him that
you still love him even though his file did have a CRC error <g>.
Remember when modifying or creating these files, that there are limits on
mail messages in PCBoard. Also, be sure to leave enough room for any
@ZCodes to expand to actual values without running longer than 78 characters
per line.
The files MUST have the names below, and samples of all the files are
included in this archive. These files should be in a central location,
perhaps the C:\ZIPLAB directory where you have the .TCN, .CMT and other
ZipLab files is best. One of the entries in the ZLABxxx.CFG files will let
you tell ZipLab where to find these files.
The files (and failure reasons) that ZipLab Plus uses are:
NAME OF FILE REASON FOR FAILURE
------------ ------------------
OLDDATE.MSG Failed date limit checking
FILECRC.MSG Failed CRC or -AV checking
DUPES.MSG Failed ZDCS duplicate checking
IMBEDCRC.MSG An imbeded archive failed CRC or -AV checking
TRASHCAN.MSG .TCN (Trashcan) text was found in the description
BADTD0.MSG A Teledisk format (.TD0) file failed TDCHECK
USRVIRUS.MSG Message sent to USER on virus detection
SYSVIRUS.MSG Message sent to SYSOP on virus detection
UNACCEPT.MSG An unaccepted file format was uploaded
GIFFAIL.MSG A .GIF file failed GIFTEST
DO NOT RENAME THESE FILES!
Pg13
VIII. PKZIP 2.04
There have been found to be problems with PKZIP 2.04 and some hardware. If
you have problems with PKZIP 2.04 and ZipLab, you should use the command
line parameters in the example .CFG file in this documentation (Page 7).
These command line parameters will disable certain "advanced" memory
functions of PKZIP and PKUNZIP. The command line parameters are explained
in the detailed section about the ZLABxxx.CFG file (Pages 4 and 5).
NOTE! There are two switches "-~" and "-)" shown for PKZIP.EXE and not for
PKUNZIP.EXE. PKUNZIP.EXE does not support (or require) these switches, and
their use will cause an error.
NOTE! DO NOT PASS THE ACTUAL COMMAND FUNCTION (like -a or -d for PKZIP / -x
or -v for PKUNZIP) on this line of extra parameters. ZipLab will pass the
appropriate primary command parameter. You should only send extra switches
which change the operation of PKZIP or PKUNZIP. READ THE DOCS FROM PKWARE
BEFORE USING OPTIONS OTHER THAN THOSE IN THE SAMPLE! READ BOTH MANUAL.DOC
AND ADDENDUM.DOC WHICH CAME IN PKZ204x.EXE. IF IN DOUBT, DON'T DO IT!
Pg14
##############################################################################
USAGE NOTES AND WARNINGS
##############################################################################
I. Command line parameters -
ZLAB.EXE has the following commmand syntax:
ZLAB d:\path\filename d:\pcbpath d:\cfgpath [UPLOAD|LOCAL|TEST]
d:\path\filename - The file to test, normally passed by PCBoard.
d:\pcbpath - The "home" PCBoard directory for this node.
d:\cfgpath - The directory containing your ZLABxxx.CFG files.
UPLOAD - This is the default if no 4th parameter is given.
ZipLab will consider itself to be in regular "online"
upload mode. PCBoard will pass this in %2 when a
user uploads to the board.
LOCAL - Causes ZipLab to function without any output to the
comm port. Use this for testing files already on your
hard drive, or that you have downloaded yourself and
wish to post. No changes will be made to any DIRx
files. Failed files will be moved to your "fail" dir.
TEST - PCBoard will pass this as %2 if you are using the TEST
command inside PCBoard. Files will only be moved to
the "hold" directory if they fail CRC or Virus
checking. No changes will be made to any DIRx files.
Normal comm port output.
II. PCBoard's "TEMP" directory -
Line 179 of your PCBOARD.DAT file (maintained with PCBSETUP.EXE) is critical
to the operation of ZipLab Plus. This is the "temporary" directory in which
(among other things) PCBoard holds the file descriptions for uploads before
they are actually posted. This directory MUST exist, and be EMPTY (don't
use your root directory of your boot drive like a couple of people have in
the past!). PCBSETUP WILL NOT CREATE THIS DIRECTORY WHEN YOU EXIT, even
though it does create just about every other directory you specify if it
doesn't exist. This is just a quirk of PCBSETUP, and it is up to you to be
SURE this directory is both in PCBOARD.DAT and that it exists.
Pg15
III. ZipLab Plus' "WORK" directory -
This directory is created (and removed) each time ZipLab Plus runs. It
is used to hold unzipped files and other temporary files while ZipLab is
running. By default, ZipLab creates a new directory under your current
one (your PCBoard root directory in most cases) called .\ZLAB.DIR, which
it removes when done. If you want to redirect this to another drive
(say a RAM drive for additional speed), set an environment variable
called "ZIPLAB" to the drive and directory name you wish.
SET ZIPLAB=E:\ZWORK
* Note! This is another case where flexiblity is great, but can be
dangerous if you don't pay attention. Setting ZIPLAB= to oh, say the
root directory of your boot drive - would have results which may cause
you to think poorly of my program (and I of your mental capacity).
IV. Using GIFTEST with ZipLab
ZipLab does not pass any default parameters at all to Giftest.Exe. You
will need to do that by specifing the parameters on the line in the
ZLAB000.CFG which is for this purpose. If all you want to do is test .GIF
files for integrity, and make sure they pass some standard of resolution
and colors that you set, This is all pretty easy. Just use:
/M:640X480X256 (replace the resolution and colors with yours)
Giftest will work just fine with a simple parameter line like this. If you
want to insert the resolution/colors into the PCBoard description, it gets
a bit tricky... The first thing you have to tell Giftest is what board
type you are running, so follow the parms above (no spaces) with:
/B:x (Where "x" is a "1" for ProDoor or a "2" for PCBoard)
Now we need to tell Giftest where the description file is for the node you
are on. This is the tricky part... To do this, you are GOING TO HAVE TO
HAVE A DIFFERENT ZLAB000.CFG FILE FOR EACH NODE. Follow the parms above
(no spaces) with:
/F:drive:\path\description.file
Now in PCBoard, that is going to be the drive and directory which is
specified on line 179 of PCBoard.Dat, and then the filename of UPDESC.x
where "x" is replaced with the node number for the current node. (just
use UPDESC without an extension if you are not running nodes)
In Prodoor, the path will be your PCB home directory FOR THAT NODE, and
the filename will be $DOOR.NAM.
Please do not use the "/E" parameter on the Giftest parameter line. ZipLab
will take care of the file if it fails, there is no need to have Giftest
erase the file, and it will only confuse ZipLab.
You will then have to do this for each node you have, and they will have
to be in different directories. I recommend that you use something like
C:\ZIPLAB\NODE1 as a directory to hold your node 1 .CFG files. All the
other files for ZipLab with the exception of the ZLABxxx.CFG files can
still be shared and can reside in C:\ZIPLAB or wherever you have specified
in the .CFG files.
Pg16
Then change your ZLAB command line in PCBTEST.BAT to something this for
node 1:
PCBoard:
ZLAB %1 %PCBDRIVE%%PCBDIR% C:\ZIPLAB\NODE1 %2
ProDoor:
ZLAB %TARGET% %pcbdrive%%pcbdir% C:\ZIPLAB\NODE1
The other option is to put the ZLABxxx.CFG files in the home PCB directory
for each node, and then the command line is simple:
PCBoard:
ZLAB %1 %PCBDRIVE%%PCBDIR% %PCBDRIVE%%PCBDIR% %2
ProDoor:
ZLAB %TARGET% %pcbdrive%%pcbdir% %pcbdrive%%pcbdir%
Pg17
##############################################################################
SOME NOTES ON MEMORY USAGE
##############################################################################
* NOTE! Since PCBoard is SHELLING out to run PCBTEST.BAT, there is
limited memory available for ZLAB.EXE. If you are running in a
multitasking or other memory constrained situation, ZLAB may not work!
You should have at least 250k 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 PCB145.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.
Pg18
##############################################################################
PRODOOR DIFFERENCES
##############################################################################
* PRODOOR SYSOPS -
You will need to set up your PROUTEST.BAT file like this:
@echo off
rem -- process test uploads request - for ProDOOR 3.44
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 ZLAB %f d:\pcbpath d:\path\cfgpath
SET PCBDOOR=
:end
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
partitions for this variable. The x's will be replaced by PRODOOR when
PROUTEST.BAT is executed. I need this variable set to "PRODOOR", or ZLAB
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 fully work with
ProDoor, including display/modification of the file descriptions.
* Note! Sam Smith has included an example PROUTEST.BAT/PROUT1.BAT
with ProDoor, which as of this writing shows how to use
ZipLab Plus 1.9c to do testing. This WILL NOT work with
ZipLab Plus 2.0, as the command line parameters for ZipLab
have changed.
Here is the relevant portion of PROUT1.BAT (called by
PROUTEST.BAT).
rem -- test archives using ziplab plus by jeffrey s. morley
rem -- ziplab plus tests zip, arj, and lzh files
:test
addbidir %pcbdrive%%pcbdir%\$door.nam %TARGET%
tm /l ptest %TARGET% u:\prod\ptest%PCBNODE%.cfg >>u:\prod\test%PCBNODE%.log
set PCBDOOR=PRODOOR
set ZIPLAB=T:\PTEST%PCBNODE%
cdto t:\scr%PCBNODE%
! ptest %TARGET% u:\prod\ptest%PCBNODE%.cfg
cdto u:\prod
set PCBDOOR=
if not exist %TARGET% del %dszlog%
if not exist %TARGET% goto end
:end
Pg19
The line I have marked with an "!" is the command line for
ZLAB.EXE and MUST be changed to read:
zlab %TARGET% %pcbdrive%%pcbdir% u:\prod
if you are going to use the sample PROUTEST/PROUT1 batch
files from Sam.
Pg20
##############################################################################
VERSION HISTORY (NEWEST TO OLDEST)
##############################################################################
ZipLab Plus Beta 2.ß.1
Version 2.0 beta version
December 27, 1992
First release of version 2.0 to wide-area beta. Please, Please! read the
documentation carefully, as well as the BETA.DOC file included. Significant
changes have been made to every part of ZipLab Plus, and none of your old
executables or configurations will work without replacement or modification.
Pg21
##############################################################################
ABOUT ZIPLAB PLUS AND THE AUTHOR
##############################################################################
ZipLab Plus started out as a somewhat complicated batch file sometime in
1989. We all had been running PKUNZIP -t against uploads for some time, but
I wanted a batch file that would do a bit more, like use SCAN to test for
virus infection, reject old archives, and strip out .ZIP comments. I also
wanted to present an interesting interface to the user, letting him/her
know what was going on in the program.
As the functions in ZipLab increased and became more complicated, it took
longer and longer to test files in the somewhat inefficient batch file
environment. I then decided to port the program over to my programming
language of choice (or at least default) QuickBasic 4.5.
At this time I decided to make the program "shareware" to compensate for
at least some of the time I was spending on the program. I must say that
ZipLab Plus has exceeded my expectations as a shareware offering, and I
am grateful (and a little stunned) for the response by Sysops who have
registered the program. I had always heard figures like "only 5% or less
of those who use shareware register", but if this is true then 10's of
thousands of sysops are currently using ZipLab Plus. I don't believe that
to be the case, and am instead inclined to believe that sysops, unlike
doctors and lawyers, are NOT their own worst customers.
This program was written in QuickBasic 4.5, with some help from Tom Hanlin's
PBClone library, and various home-grown assembly and C routines. I have
included a few utilities which ZLAB 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 ZIPLAB PLUS.
Jeffrey S. Morley
The Interconnect BBS
(703)425-2505
PLEASE SEE REGISTER.DOC FOR REGISTRATION INFORMATION
(C)Copyright 1989-1993 by Jeffrey S. Morley