THD ProScan Version 13.0
for DOS and OS/2
-----------
- Outline -
-----------
This document outlines the command lines, command line switches,
Conversion, Conversion levels, Environment variables and external files and
their effects on THDPRO.EXE.
-----------------
- Command lines -
-----------------
The following are some sample command lines for THDPRO.EXE. Although not
shown here, it is recommended that the full path to THDPRO.EXE be used at all
times.
THDPRO.EXE
- with no parameters shows Syntax screen
THDPRO.EXE D:\PATH\TESTFILE.EXT
- Causes THDPRO.EXE to test TESTFILE.EXT using the internally configured
comport and options (if any).
THDPRO.EXE D:\PATH\*.*
- Wildcards are supported in the REGISTERED version ONLY. Causes
THDPRO.EXE to test all files in "D:\PATH"
THDPRO.EXE /ID D:\PATH\FILENAME.EXT
- Causes THDPRO.EXE to identify the archive type of FILENAME.EXT. All
internally and externally configured archive types are recognized by
the ID procedure. Note that THD does perform some diagnostics on some
archive types which may make this take a little longer (and be a little
more reliable) than a simple signature search. Wildcards are accepted
in ID mode. This mode will NOT search subdirectories.
THDPRO CRC D:\PATH\FILENAME.EXT
- Causes THDPRO.EXE to add the CRC value of FILENAME.EXT to it's database
of files to delete by CRC (you must have selected to remove files by
CRC in THDCFG.EXE for this to be of any use). Wildcards are accepted in
CRC mode.
------------
- Switches -
------------
THDPRO.EXE accepts the following switches on the command line.
/ADD
- Using this switch tells THDPRO.EXE to toggle the flag in the
TESTINFO record which indicates that the user wishes to have a record
added to the file database if one does not already exist. THDPLUS does
not support this option. It is included for users of third party
utilities. This is identical in function to "SET THDOPT=ADD".
/CO
- Adding this switch to the command line tells THDPRO.EXE to enter
Convert-Only mode. In this mode no testing is performed. The file is
converted to the archive types defined by the Convert Indicator. This
command line switch must always be accompanied by a Convert Indicator
(See the "/TOxxx#" switch below).
/DC
- Using the /DC switch on the command line tells THDPRO.EXE to run in
Dupe-Checking mode. In this mode THDPRO.EXE will check each file before
it is tested to determine if an identical file has already been tested.
If so, this file will be skipped. If no duplicate has been found in the
THDPRO.DUP file then the file will be tested.
The use of this switch requires that a THDPRO.DUP file exists in the
THDPRO home directory. This file is created by the Dupe Checking option
which is selectable in THDCFG (Installation/Configuration).
/KO
- Tells THDPRO.EXE not to delete the original file (Keep-Original) when
doing conversions. If used THDPRO.EXE will not remove the original file
upon the success of a conversion. This switch must be used with a
Convert Indicator (see the "/TOxxx#" switch below) and may optionally
be used with the /CO switch.
/LA
- Using this switch (Log All), THDPRO.EXE will not exit immediately
following a failed virus scan. Instead, it will finish scanning with
all configured virus scanners before indicating a scan failure. This
can be used to record the log output of the virus scanners into
HEURIST.LOG. Note that Heurist log is removed if no suspicious code is
found by any of the virus scanners.
/LF= [Registered Version Only]
- The /LF (Language File) switch can be used by Registered versions of
THDPRO.EXE to cause THDPRO.EXE to use a language file other than the
default (LANGUAGE.THD located in THDPRO.EXE's home directory). Used as
/LF=d:\path\to\language.fil will cause THDPRO.EXE to use
d:\path\to\language.fil as the language file for this test.
/NODESC - Using this switch on the command line will result in normal running
of the test mode of THDPRO.EXE while NOT importing the descriptions
into your file data bases. This switch is useful when you wish
THDPRO.EXE to update your data bases in regards to name changes but not
in regard to descriptions.
/OV
- The OVerride switch causes THDPRO to ignore a number of internally
set options. These options include...
- Age/Date limitations
- Maximum Amount of disk space to use
- Maximum Time to allow
- Minimum Free Disk space
- SKIPFILE.THD (if it exists)
/RO
- The Read-Only switch tells THDPRO.EXE that no changes what-so-ever are
to be made to the original file being tested. Useful if you get errors
on networked system where write privileges are not allowed or any time
you wish to completely preserve the original file. Files on CD-ROM as
well as drive "A:" or "B:" are always treated as read-only.
/SEC
- This switch is used to generate and/or update the THDPRO.SEC file
(anytime a utility or the configuration is changed), simply run
THDPRO.EXE /SEC. This option will cause THDPRO.EXE to perform it's
"normal" self test and if that test is passed, then it will create a
THDPRO.SEC file using the configured information.
This option will perform no comparison to previously recorded values,
so if you have suffered a security breach and are unsure as to what
caused it, then do not run this until after running the security test
outlined below.
Also note that this command does NOT update the CRC's stored in the
THDEXARC.DAT file. IF the file failing the security test is one
contained in the THDEXARC.DAT file then you must run THDEXARC and
"edit" the affected utility. Upon saving the record, THDEXARC will
update the CRC to match the file(s) indicated in the archiver and/or
unarchiver path(s).
/SECTEST
- This option causes THDPRO.EXE to compare the current values in the
THDPRO.SEC and the CRC's recorded in the THDEXARC.DAT files files
against the CRC values of the files as they exist on disk. It will
report only those files whose CRC values are different from those
recorded in the THDPRO.SEC file. This operation causes no changes to
the THDPRO.SEC file, and should be used to see which utility or
utilities THDPRO.EXE believes have changed.
In addition to the utilities, the THDPRO.SEC file is also CRC checked
by the above procedure as well as at run time by THDPRO.EXE. A change
in that file's CRC is considered to be a security breach just as any
utility change would be.
/SUB [Registered Version Only]
- The Sub switch causes THDPRO.EXE to search all subdirectories for files
matching the filename supplied on the command line. This switch is only
available in the Registered version. It works in TEST or Convert modes.
It does not work in CRC or ID modes.
/C# (where # = one of 0,1,2,3,4,5,6,7,8) {COMPORT} - [DOS ONLY]
- Supplying "/C" followed by a number (0 - 255) on the command line
will cause THDPRO.EXE to ignore the internally configured comport and
use the comport number supplied on the command line. The use of "0"
will cause no remote output to take place (this forces local mode).
Other comport numbers will supply remote output to the comport
supplied.
/H# (where # is a valid file handle for the open comport) [OS/2 ONLY]
- Supplying "/H" followed by a valid file handle for the open comport on
the command line will cause THDPRO.EXE to ignore the internally
configured comport and use the file handle supplied on the command
line.
/60 /120 /250 /450 /750 /1500
- Use of any one of these switches will inform THDPRO.EXE that instead of
the comment size selected in installation, you prefer it use this
"/xxx" size for commenting files. Note that this size selection refers
ONLY to descriptions taken from a VENDINFO.DIZ and ONLY as used in file
comments. These switches were added to allow you to have 1500 character
descriptions in your File base but not be forced to have the same size
comment in your file comment (if you chose to use that option). These
switches have no effect when descriptions are taken from the other than
VENDINFO.DIZ files.
/TOxxx#
- This is what is referred to elsewhere as a Convert Indicator. This
switch tells THDPRO.EXE that you wish to convert the file. The archive
type to convert to and conditions are defined by the 'xxx' and '#'
portions as detailed below). This is essentially a three part switch.
- "/TO" tells THDPRO.EXE that it is to convert the file being tested.
- xxx is replaced by one of six archive types support by THDPRO.EXE
internally (ZIP, ARJ, LHA, SQZ, UC2, RAR)
- # is an optional conversion level in the range 0 - 6. See the section
below which deals with Conversion Levels.
/TOEXTxxx# [Registered Version Only]
- Essentially the same as the convert indicator above (/TOxxx#), this
switch tells the registered version of THDPRO.EXE to convert to an
archive type defined in the THDEXARC.DAT file (added via THDCFG-Archive
Editor).
- xxx is replaced by the "Archive Extension" as entered in the archive
editor for the archive type which is to be converted to.
- # is an optional conversion level indicator in the range 0 - 6. See the
section below which deals with Conversion Levels.
---------------------
- Conversion Levels -
---------------------
This section details the various conversion levels which are predefined
in THDPRO.EXE. These levels detail the conditions under which a file will (or
won't) be converted. The conversion level is the "#" part of the /TOxxx# or
/TOEXTxxx# switch.
No conversion level supplied (ie. /TOZIP )
- Convert Main and Embedded archives ONLY if they have
the correct extension for their archive type (lzh for LHA etc).
Level 0 (ie. /TOZIP0 )
- will convert ONLY the main archive (no Embedded conversions).
Level 1 (ie. /TOZIP1 )
- will convert ONLY files which have the correct extension for their
archive type AND are NOT the archive type to be converted to.
This level will not repack a zip when converting to zip.
Level 2 (ie. /TOZIP2 )
- Will convert files if the have the correct extension OR the
extension "EXE".
Level 3 (ie. /TOZIP3 )
- will convert any testable archive type regardless of it's extension
or present archive type. This is also the ONLY level which will
convert "AV" protected "ZIP" files or "secure" "ARJ" packets.
Level 4 - 6
- Levels 4 through 6 are user defined in THDCFG-Install/Configure. You
may choose to convert or not based on the following criteria.
(choose true or false in varying combinations to suit your needs)
Convert embedded archives
Convert SFX main archives
Convert SFX embedded archives
Convert odd name main archives
Convert odd name embedded archives
Convert protected main archives file
Convert protected embedded archives
Convert archives of the same type
* Embedded archives are archives fully contained within another archive
* odd name refers to any file extension which is not the usual
extension for the archive type
* Protected refers to a PKZIP AV, ARJ security envelope or RAR AV.
* Archives of the same type refers to archives of the type you are
converting to
-------------------------
- Environment variables -
-------------------------
THD ProScan supports five environment variables. They are...
THDZIP - THDARJ - THDRAR - THDOPT - THDRUNLOG
The first three environment variables are for use by persons who have
a registered version of PKZip, ARJ or RAR. The latter of the variables can
alter a number of default actions of THDPRO.EXE.
THDZIP
------
This variable accepts one of two settings. The first...
SET THDZIP=TRUE
This setting tells THDPRO.EXE that you are using a registered version of
PKZIP and would like to have the "AV" added when conversions to "ZIP" format
are performed.
SET THDZIP={drive:\path\to\your\AVEXTRA.TXT}
This setting tells THDPRO.EXE that you are using a registered version of
PKZIP and would like to have the "AV" and the AVEXTRA.TXT added when
conversion to "ZIP" format are performed. For information on AVEXTRA.TXT, you
should see your PKZIP users manual.
THDRAR
------
This variable accepts one setting.
SET THDRAR=TRUE
This setting tells THDPRO.EXE that you are using a registered version of
RAR and would like to have the "AV" added when conversions to "RAR" format
are performed.
THDARJ
------
This variable accepts only a single parameter.
SET THDARJ={drive:\path\to\your\SECURITY.KEY}
This setting tells THDPRO.EXE that you are using a registered version of
ARJ and would like to have the security envelope added when conversion to
"ARJ" format are performed.
Do not put any switches in this variable as THDPRO.EXE will supply the
necessary switches.
THDOPT
------
This variable is used to alter some default actions of THDPRO.EXE.
The available options are as follows...
THDOPT accepts eight switches. "DIRECT", "/LL=###", "STRIP","SOLID",
"ANSI", "ADD", "NFL" and "NDx" where the "x" represents a drive letter to be
used for expansion and testing of the file.
SET THDOPT=DIRECT will bypass the redirection of OS/2 output to the lower
screen and cause it to act as all previous versions have (use
the whole screen for output). This option was addded because in
some cases in early beta's the redirection caused minor
problems. This switch was added in case those problems
resurface.
SET THDOPT=/LL=### (where ### is a number between 1 and 255)
to change the maximum allowable line length to send to dos
without using the new workaround for long command lines
SET THDOPT=STRIP to strip carriage return/Line feed pairs from
Maximus style descriptions.
SET THDOPT=SOLID will cause conversions to "RAR" format TO produce
"solid" archives. (Uses the -s switch to create RAR archives).
SET THDOPT=ANSI will force ansi to the remote.
SET THDOPT=NDF will force THDPRO.EXE to attempt to use drive "F" for the
file testing process before using the internally configured
drive(s).
SET THDOPT=NFL tells THDPRO.EXE to send the "/NOFLOPPY" switch to F-Prot.
Use this ONLY if F-PROT requires the "NOFLOPPY" switch to run.
SET THDOPT=ADD tells THDPRO.EXE to toggle the bit in the TESTINFO.DAT
record which indicates that the user wishes to have database
entries created when they do not already exist (not supported
by THDPLUS).
SET THDOPT=ANSI NDE SOLID ADD NFL DIRECT
Force ANSI output, use drive "E" for the temporary drive
assignment, use the solid option when converting to RAR
format, Set the "add" flag in TESTINFO.DAT, use the
"/NOFLOPPY" switch with F-PROT and do not redirect OS/2's
screen output to the lower portion of the screen.
Note that only one alternate drive may be input using NDx. These
switches can be mixed and matched as necessary.
Contrary to popular opinion, there is no support for a "THDPRO"
environment variable. The purpose for which many programs use a similar
environment variable is not required by THDPRO.EXE as it finds this
information based on other factors.
SET THDPRO=XXXX
does absolutely nothing except waste your environment space.
DO NOT SET THIS VARIABLE unless you have a use for it yourself.
THD ProScan does not recognize it.
THDRUNLOG
---------
This option is used to generate a log file for use by the author in
debugging particularly odd errors. There should be no reason for the
average user to set this to any particular value unless instructed to
do so by myself. Use of this variable will dramatically hamper
performance. It is used as SET THDRUNLOG={path to runtime log file}.
------------------
- External Files -
------------------
THD ProScan uses a number of external files. For the purpose of this
document an external file is defined as any file not distributed with the THD
ProScan distribution archive.
There are essentially 3 types of external files that this document is
concerned with. Files that YOU create to modify the actions of THDPRO.EXE,
files that are created by one or more of the program files which affect the
operation of THDPRO.EXE, or files created by the program which you may or may
not see.
*** Section 1 - Files you create to modify THDPRO.EXE's actions ***
*** Section 2 - Files created by THD to modify THDPRO.EXE's actions ***
*** Section 3 - Other files created by THDPRO.EXE ***
*** Section 1 - Files you create to modify THDPRO.EXE's actions ***
COMMENT FILE
------------
This file can be any legal filename you like. It will be added to
each archive tested (or optionally selected at random or by area as determined
by the method you chose in THDCFG). The format of the file is essentially not
important in that it is standard text. Instead this section endeavors to
explain the replaceable keywords that may be used inside of a comment file to
be replaced at run time.
THD ProScan supports the use of some "key words" which it will search for
inside of file comments and replace with certain values prior to using the
comment. These keywords will be searched and replaced in all comments no
matter by what means the comment is chosen.
- keywords -
The list of valid keywords and their values is as follows
%THDVER% - The version of THD used. Format = "THD ProScan Version 13.0"
%TIME% - The Time (at which the comment is updated)
%DATE% - The Date (at which the comment is updated)
%NEWDATE% - The date of the newest file in the archive.
%OLDDATE% - The date of the oldest file in the archive.
%NEWFILE% - The name of the newest file in the archive.
%OLDFILE% - The name of the oldest file in the archive.
%DESC% - The description as used in the file bases update (if any)
%IFDESC% - Print this line ONLY if a description is used.
%P_NAME% - The Program name (according to Vendinfo.diz)
%P_VER% - The Program version (according to Vendinfo.diz/only numbers)
%A_NAME% - The Program's Author (according to Vendinfo.diz)
The latter 3 options will only be translated IF a vendinfo.diz is found,
so they may safely be used in comments. However note, that if the information
is NOT found, the entire line will not be printed, so it would be best to
keep each of these entries on a separate line in any comment in which they
might be used.
ie.
%P_NAME% Version %P_VER% by %A_NAME%
is acceptable (since none of these values would be translated in the
absence of a Vendinfo.diz)
Program Name - %P_NAME%
Version - %P_VER%
Author - %A_NAME%
Acceptable (all 3 lines would be removed if no Vendinfo.diz found)
%P_NAME% test by %THDVER% on %DATE%
would not be acceptable since the whole line would be removed if no
vendinfo.diz were found (thus the date and THD Version would not be
entered since this line would not be printed unless a vendinfo.diz
were found.)
It is imperative that no other information be entered on the same line as
%DESC%. This entry will not print the line on which this is entered. Instead
this line is replaced by the description to be used in the File base update
(this is for those who wanted FILE_ID.DIZ in the comment). The size of this
description, if it is taken from a vendinfo.diz file is selectable in
THDCFG.EXE (otherwise the full description contained in a valid
description file is used).
Lack of a description will result in no line at all (not even a blank
line).
The "%IFDESC%" is to be used on a line that you only wish to be print IF
a description is present.
reason being.. you might like to use something like this..
Description
-----------
%DESC%
Problem being that if no description is present the "Description" and
following underline would still be printed. To work around this it can be
entered in the comment file as ...
%IFDESC% Description
%IFDESC% -----------
%DESC%
which would only print the "Description" and "-----------" if a
description were present. (The position of %IFDESC% on the line is not
important and it could just as easily be placed at the end of the line with
no difference in final output.)
For the sake of demonstration, the following would give the exact same
result as above... (although for simplicity. I recommend putting it at the
beginning or end of the line)
De%IFDESC%scription
------%IFDESC%-----
%DESC%
The following is a sample comment and what follows is how it would look
as an archive comment after processing by THD. (note in the following
examples I have used the 250 character description from the Vendinfo and not
the 450 character that would be used in most circumstances [or possibly
longer given some people's refusal to go by the standard]).
Original comment file prior to processing...
-------------------------------------------------
| This file successfully passed testing by |
| %THDVER% |
| on %DATE% at %TIME%. |
| |
| Program Name - %P_NAME% Version %P_VER% |
| Author - %A_NAME% |
| %IFDESC% |
| %IFDESC% ***************** |
| %IFDESC% ** Description ** |
| %IFDESC% ***************** |
| %IFDESC% |
| %DESC% |
-------------------------------------------------
** After processing with no desc or vendinfo.diz...
-------------------------------------------------
| This file successfully passed testing by |
| THD ProScan Version 12.0 |
| on 06/05/1994 at 3:49PM. |
| |
-------------------------------------------------
** After processing with desc but no vendinfo.diz...
--------------------------------------------------
| This file successfully pass testing by |
| THD ProScan Version 12.0 |
| on 06/05/1994 at 3:49PM. |
| |
| |
| ***************** |
| ** Description ** |
| ***************** |
| |
| THD ProScan Version 12.0 Archive Processor. |
| File base updates for FILES.BBS, RG, TG and RA |
| formats. Multiple virus scans as well as many |
| configurable options. Allow user definable |
| conversions for supported archives. |
--------------------------------------------------
** After processing with vendinfo.diz (description is taken directly from
vendinfo.diz)...
--------------------------------------------------
| This file successfully pass testing by |
| THD ProScan Version 12.0 |
| on 06/05/1994 at 3:49PM. |
| |
| Program Name - THD ProScan Version 12.0 |
| Author - David Muir |
| |
| ***************** |
| ** Description ** |
| ***************** |
| |
| THD ProScan Version 12.0 Archive Processor. |
| File base updates for FILES.BBS, RG, TG and RA |
| formats. Multiple virus scans as well as many |
| configurable options. Allow user definable |
| conversions for supported archives. |
--------------------------------------------------
COMMENT LIST
------------
This file can be any legal filename you like. Its purpose is to
allow THDPRO.EXE to insert a comment at random or a specific comment
depending on the location of the file being tested. The file format is as
follows...
The file itself consists of 1 or two sections. The first section is
a list of filenames (complete with paths) of possible files to be
selected at random as a file comment. Each line consists of only the full
path and filename to one such comment file in all capital letters. This
is considered a RANDOM SELECTION LIST. Following the Random selection
list you can optionally have area specific comments. There must be no
blank lines in this file (especially not between the random selection
list and the area specific list.
A "specific" comment line in this file will consist of...
"IF" {QUALIFIER} {COMMENT}
[note that the entire line must be capital letters]
A "qualifier" is a string of text which will be looked for in the
path to the file being tested. It need not match the path exactly... But
rather if the "qualifier" is contained in the path then it will be
considered a match.
As an example. "C:" as qualifier would match every file in every
directory on drive "C". (Since the text "C:" would be found in the path
to any file on that drive). "C:\BBS" as a qualifier would match any file
found in the "C:\BBS" directory or any of it's subdirectories. And "C" as
a qualifier would match EVERY path that has a "C" anywhere in it.
A random comment will only be used when a matching qualifier is not
found. To use ONLY random comments, simply make a list of comment files
with no "IF" or {QUALIFIER}.
Sample "COMMENT.LST" (using only specific area comments)
IF C:\BBS\DLS\PROGUTIL C:\HEADERS\UTILHEAD.TXT
IF C:\BBS\DLS\BBSUTIL C:\HEADERS\BBSHEAD.TXT
IF C:\BBS\NORATIO C:\HEADER\FREE.TXT
IF C: C:\HEADERS\BBSAD.TXT
IF D:\MYUTILS C:\HEADERS\MYHEAD.TXT
IF D:\SYSOP C:\HEADERS\PERSONAL.TXT
In the list above, the "IF"'s, qualifiers, and headers are separated
in a column arrangement so that you can better distinguish them. This is
for your benefit and is not required. They must be separated by at least
a single space (although a column arrangement as shown above will also be
acceptable as long as the entries are separated by "spaces", not by
"tabs").
The "IF" statements must ALL be before the random selection list.
The lines without "IF" statements are comments which are to be chosen
from at random when there are no matching qualifiers.
When looking for a comment, THDPRO.EXE will look for the FIRST
matching "qualifier" (that is the text following the "IF" statement
above). In this regard a "match" is any qualifier which can be found in
the path of the file being tested.
If the qualifier is contained in the path to the file to be tested,
THDPRO.EXE will stop looking for a comment and use the first match.
In the above example you will notice that "C:" (the qualifier for
the fourth line) is contained in each of the first four qualifiers. IF it
were put as the first line, then THDPRO.EXE would use
"C:\HEADERS\BBSAD.TXT" for every file on drive "C". Since "C:" would be
found in any file in "C:\BBS".
So in this respect you must make sure that the order in which you
place the qualifiers will not conflict with any later qualifiers. That
is, a qualifier must NEVER fully contain a qualifier which appears before
it in the list. (ie. "C:\BBS\TEST" must appear before "C:\BBS" in the
list).
IF THDPRO.EXE cannot find a matching qualifier it will chose at
random a comment from the entries appearing without "IF" statements.
IF the comment chosen does not exist. THDPRO.EXE will insert the comment
from the very first line in the list (even if it has an "IF" statement).
IF the comment from the first line does not exist, no comment will be
added.
The list is considered complete if a blank line is found, so no blank
lines should be in the list. If there is a blank line in the list, all
text following the blank line will be ignored.
The best "simple" method I can give for ensuring the correct order of
"IF" statements is to put them in alphabetical order from BOTTOM TO TOP.
(that is... in reverse alphabetical order). Many word processors can do
this for you quickly and easily. And remember that the "IF" statements go
first and the order of the random comments is unimportant except that
they be after ALL "IF" statements.
GOOD LUCK. <G>
SKIPFILE.THD
------------
- This is a text file which tells THDPRO.EXE to skip files which match
the file specifications it contains. Note that although the text in
this document is indented the text in the actual SKIPFILE.THD must NOT
be indented.
Sample SKIPFILE.THD
-----start of file-------
miscellaneous text which occurs before either the keywords 'MAIN' or
'EMBEDDED' is ignored. Those keywords must be the ONLY text on the line
in order to be recognized as keywords. If the line contains anything
aside from the keyword it will be ignored. Wildcards are recognized in
this list.
MAIN
*.GIF
; comments can be embedded in the file by making the first character on
; the line a semi colon (;)
*.JPG
*.HYP
EMBEDDED
*.ZIP
*.VIR
VIRUS.*
-----end of file-------
explanation
MAIN - indicator that all file specs following this label are to be
skipped if they are the main file being tested.
*.GIF - \
*.JPG >- list of file specifications to skip if they are the MAIN file
*.HYP - /
EMBEDDED - indicator that all file specs following this label are to be
skipped if they are found internally in an archive.
*.ZIP - \
*.VIR >- list of file specifications to skip if they are embedded
VIRUS.* - / files
The list pertaining to 'MAIN' explicitly ends where 'EMBEDDED' begins or
when the end of the file is reached. Likewise the list pertaining to
'EMBEDDED' explicitly ends where 'MAIN' begins or when the end of the
file is reached.
The action of 'skipping' is different for main and embedded files.
If the file matching the spec to be skipped is the 'main' file (as
supplied on the command line either directly or via a wildcard) then the
file is skipped entirely (like it didn't exist). The only acknowledgement
that the file ever existed would be the 'files skipped' report at the end
of testing.
If the file matching the spec to be skipped is 'embedded' then it is
simply defined as not being of a recognized archive type. Otherwise
however it is still virus scanned and treated as any other files
(essentially the same as a text file would be treated). Skipping embedded
files does NOT cause them not to be scanned, it only causes then not to
be treated as recognized archive types.
PASSWORD.THD
------------
This is a user created file. PASSWORD.THD is a special file which when
located in the same directory as THDPRO.EXE can be used to supply passwords
during the testing of password protected archives.
The format of the file is...
One line per entry.
three words per line, each word separated by a " " (space).
needpass.zip zip ALIVE
| | | | | |
------ ----- - - -- --
| | |
| | > Password to use to unarchive
| > archive type
> file name (wildcards supported)
The first "word" must be the name of the file which is likely to be
password protected. It should include filename and extension in the same
format expected by DOS. Wildcards are accepted in the filename entry.
The second "word" is the archive type. This can be any of ARC, ARJ, PAK,
RAR, and ZIP. The other archive types are not supported by this feature and
the use of Info-Zip programs under OS/2 also excludes the ZIP type from this
specification (password protection is not available in all forms of
UNZIP.EXE).
PAK requires a registered version to use this feature. If you attempt to
use this with PAK archives without a registered version, errors will result.
Note that the archive type must match the type of the file being checked
in order for this password to be used. This is done because the "author"
usually only releases in a single archive type and anyone converting that
archive to another type is highly unlikely to preserve the password. If the
archive type does not match what is entered here, THD will not pass the
password on the command line.
The third "word" is the actual password to pass to the program when
expanding the archive. Note that passwords are almost always case sensitive
and THDPRO.EXE will not modify the case of the word you enter here (the
filename and archive type are not case sensitive).
So, to activate this feature you need to create PASSWORD.THD in the same
directory as THDPRO.EXE. With any text editor enter the file name, archive
type, and password (each separated by a single space) with one such entry per
line and as many lines as you like.
Note that since THD will only process this file if it exists, then I
recommend you only use it if you "regularly" get password protected archives
which you already know the passwords for.
Also since THDPRO.EXE will process every single line of PASSWORD.THD, then
it makes sense to keep the file as small as possible (although few people
would have a list large enough to noticeably impact performance).
ARCHIVE.THD
-----------
ARCHIVE.THD is a user created file which when located in the same
directory as THDPRO.EXE can cause THDPRO.EXE to archive a file of a specified
type into the specified archive format. This is only active in "test" mode (it
is not a "true" conversion).
The format of this file is one entry per line. The first line MUST be the
"type" to archive the file "in", and all following lines are the file
extensions that THD is to archive in this fashion. Note that the "." MUST be
used in the extensions (use an entry of "." alone to specify no file
extension).
The following would be an "example" of such a file.
-start of file-
ZIP
.TXT
.DOC
-end of file-
If your ARCHIVE.THD was as above then THDPRO.EXE would archive all *.TXT
and *.DOC files into a ZIP archive bearing the same filename as the original
TXT or DOC file.
THDPRO.AN?
----------
THDPRO.AN1, THDPRO.AN2, THDPRO.AN3, THDPRO.AN4, THDPRO.AN5, THDPRO.AN6,
THDPRO.AN7, THDPRO.AN8, and THDPRO.AN9 are ansi files which can be displayed
by THDPRO.EXE in the upper left corner of the USER SIDE view. These files are
NEVER displayed locally. In oder to be used these files must be located in the
same directory as THDPRO.EXE. THDPRO.EXE will randomly select from the
available ansi files (THDPRO.AN? and PAINSOFT.AN?) and the three internal
corner displays. THDPRO.EXE looks for these files in its home
directory and in numerical order. It stops looking when it fails to find the
next number THDPRO.AN? file (in numerical order). This means that if
THDPRO.AN1 does not exist, it will not look for any further THDPRO.AN? files.
Your THDPRO style custom ansi's can use the top/right corner (a box 35
characters wide by 16 high). That portion of the screen will be left untouched
when the test portion of the ansi is displayed immediately following. The
acceptable co-ordinates for your ansi are bound by position "1,1" and "16,35".
The rest of the display will be used by THDPRO.EXE.
The ansi "line length" cannot exceed 70 characters per line, or they will
NOT be displayed. The total number of lines is not important.
Note that the "Registered to xxxx" message is NOT displayed to the
remote when a user defined ansi is used. This is done to free up that space
for your use. You should keep that in mind when designing your ansi corners.
PAINSOFT.AN?
------------
As with the THDPRO.AN? file these are selected at random in combination
with the internal screen and any existing THDPRO.AN? files. Except that the
existence of a PAINSOFT.ANS file will override "all" random selection and it
will be used (always). The rules about numerical order (as for THDPRO.AN?
files) also apply to the PAINSOFT.AN? files.
First a note. The use of PAINSOFT.AN? is a delicate and involved process.
If you do not understand the workings of ansi drawing (and the code itself) I
suggest you not even attempt to use this file. This file will be a "complete"
ansi test screen and NOT an ansi corner (as above). It will contain a main
body ansi screen, followed by a number of "data" ansi lines that will be
displayed as discussed below. The format for a usable ansi of this format will
follow the following conventions.
IT must not use the two top lines of the screen. These are reserved by
THDPRO.EXE and will be rewritten immediately following each section of ansi
from the user's file. In this way it will never be over written by the user's
ansi.
The first "section" of the ansi file should contain the basic screen
image which is to be sent to the user BEFORE testing begins (Usually a screen
with blanks to be filled as testing proceeds).
The second section will be marked by a line (immediately following the
"main" section) with only the text ENDANSI (IN CAPITAL LETTERS). This will
signal the next series of commands are for filling in the test prompts. The
next section will consist of 19 ansi strings each of which will indicate a
certain process occurring. An optional final line can define the foreground
and background colours of the THD identification header. in order, they are..
indicator clearing line 1
indicator clearing line 2
the CRC test is starting
the CRC test was passed
the CRC test was failed
the file is being expanded
the file expanded okay
the file did NOT expand okay
the file is being virus scanned
the file passed virus scanning
the file failed virus scanning
the work space is being cleared
clearing of workspace is complete.
expanding for conversion
passed expansion for conversion
failed expansion for conversion
rearchiving for conversion
passed rearchiving
failed rearchiving
foreground/background colour definition (optional)
None of these strings may exceed 70 characters.
The first two lines are for clearing the "indicators". If you are using
"blocks" or other characters to display the testing, they should be "reset"
or cleared before the testing of embedded archives begins. These first two
lines are for that purpose. These two lines could also be used to erase
"text" and start again. They will be displayed immediately before the CRC
test begins. There is no need to "clear" any of the "Fail" indicators as the
testing would stop if any fail occurs. (with the possible exception of the
SCAN failure which can be skipped if THDPRO.EXE is configured to pass
heuristic failures). If you are not sure how to use them... leave them as
empty lines.
The third string (The CRC test starting string) could also be used to
clear the "pass" indicators (if the 2 indicator clearing lines are not
enough). So they will be cleared as the testing of internal files begins.
IF any of those strings is to be unused, a blank line MUST be entered in
it's place. Embedded testing will use the same indicators as the main file
testing. So only one set of indicators will be required. (Unlike the internal
ansi and ansi corners discussed above which have separate main and embedded
indicators).
The final configurable string is an optional colour configuration for the
THD identification header (shown at the top of the screen when using
PAINSOFT.AN? files). The format for this line is "EXACTLY"...
FOREGROUND=# BACKGROUND=#
where "#" - represents the colour number according to the following
0 = black
1 = red
2 = green
3 = yellow
4 = blue
5 = magenta
6 = cyan
7 = white
0 (black) may be used as a background colour ONLY. Foreground colours will
always be high intensity and background colours will always be low intensity.
Both colours MUST be defined or the display will default to YELLOW on RED.
(foreground must be specified first).
The "TESTING - FILENAME.EXT" will always be high intensity white in the
header.
The output of these files can be tested using THDCFG.EXE. See the document
regarding THDCFG-DEMO for details.
PAINSOFT.ANS
------------
PAINSOFT.ANS is a special case. If Found, PAINSOFT.ANS, will always be
used instead of ANY other ansi.
Painsoft.ans follows the same creation and viewing guidelines as
described above for PAINSOFT.AN? files. You may use this file to force the
same output on every file test. While boring, I'm sure some of you will find
it useful.
In English... If PAINSOFT.ANS exists in the same directory as THDPRO.EXE
then all random screen selection is bypassed and PAINSOFT.ANS is always sent
to the remote, regardless of the other ansi files present.
*** Section 2 - Files created by THD to modify THDPRO.EXE's actions ***
THDPRO.CRC
----------
- This file is created by THDPRO.EXE when the CRC option is used. The
contents of this file are used by THDPRO.EXE to determine which files to
delete from tested archives ONLY if you have chosen to delete files by CRC in
THDCFG. The location of this file is configured in THDCFG. It is a text file
which "could" be created manually although it is strongly recommended that you
not edit this file manually. The format of the file is as follows.
- No blank lines are allowed in this file. (A blank line is considered by
THDPRO.EXE to represent the end of the file)
- The first section is a list of file names (one per line, all capital
letters). All file names listed here are files with a size of 0 bytes
which are to be removed if found).
- A single line which reads ENDZEROLENGTHFILES to indicate that what
follows are files with a size larger than 0 bytes.
- The rest of the lines are 3 part lines with each part separated by a
comma (,).
These lines are the format...
{Filesize in bytes},{32 bit CRC of the file},{file name}
147846,C79A81B6,THDPRO.EXE
- THDPRO.EXE uses only the SIZE and CRC to determine if a file is
unacceptable. The filename is for informational purposes only. Note as
well that when THDPRO.EXE updates this file it will not add any entry
which duplicates an existing entry (even if the file name is different)
THDEXARC.DAT
------------
This file is created and manipulated by THDCFG.EXE. Is is essentially a
DATA file which THDPRO.EXE uses to determine the options to use for additional
archive types and/or virus scanners. The format of the file will not be
discussed here as it is not for manual editing under any circumstances.
Essentially it contains records of external archivers and scanners along with
their command lines and some other significant data.
If this file exists in the same directory as THDPRO.EXE then THDPRO.EXE
will check it on every run to determine if it needs to check the archives for
types other than those it has defined internally or if it needs to run virus
scanners which are not configured internally.
If this file is in a directory other than the directory in which
THDPRO.EXE resides then it will not be found.
TESTINFO.DAT
------------
This file is a temporary holding place for file information. This is a
data file created by THDPRO.EXE and used by THDPLUS.EXE. THDPRO.EXE will
create this file if any BBS type is configured in THDCFG. The file is always
created in the same directory that THDPRO.EXE resides.
THDPLUS.EXE will search for this file only in the directory in which it
resides and if found will attempt to process the information contained in it
depending on the configuration. (I know it's vague but it's the best I can
do).
The information in this file 'could' be used by third party programmers
to interface THDPRO.EXE with a BBS of their choosing. The structures are
available in "C" and "Pascal" in the file TESTINFO.RAR which is in the
distribution archive.
This file can be safely deleted if you do not require any further updates
to your BBS from the information it contains (if in doubt run
"THDPLUS.EXE /ALL /REMOVE" to ensure that all entries which can be updated
are, before you delete the file).
Under normal circumstances, this file will be created by THDPRO.EXE,
processed by THDPLUS.EXE and then deleted by THDPRO.EXE although some BBS
types may require that the information be left until the next time THDPRO.EXE
is run.
LANGUAGE.THD
------------
LANGUAGE.THD is THDPRO.EXE's Language file. It is created and maintained
by THDCFG. It should NEVER be modified manually. If it becomes corrupted use
THDCFG.EXE to create another.
*** Section 3 - Other files created by THDPRO.EXE ***
########.EXE
------------
The OS/2 version of THDPRO.EXE may (under certain conditions) create
executable files with 8 digit filenames where all the characters in the
filename are numbers. These are unique filenames used to avoid a command line
length problem with OS/2 WARP. These files will be deleted by THDPRO.EXE when
it has finished running them. If for any reason these files are not deleted,
you can safely delete them as long as no copy of THDPRO.EXE is running (these
files will only be created in THDPRO.EXE's home directory and will always have
a filesize of 2224 bytes).
THDINFO.###
-----------
Files called THDINFO.### (where ### are replaced randomly by numbers) are
placed in each file directory which THD creates under it main temporary
directory. These files contain information which is useful to THDPRO.EXE.
Users in general have no use for them as THDPRO.EXE deletes them immediately
after extracting the necessary information from them. These files are located
in the subdirectory structure created by THDPRO.EXE for testing files.
THDTEM.CRC
----------
This file is created by THDPRO.EXE as a temporary file when invoked in CRC
mode. Under normal circumstances users will never see this file as it is
deleted as soon as THDPRO.EXE is finished sorting the CRC records. If for some
reason you find this file it can be safely deleted. This file is created in
the same directory as THDPRO.CRC.
PAINPAIN.PAI
------------
This file is created and removed by THDPRO.EXE when circumstances make
deletion by filename impossible. If you ever find this file, it can safely be
deleted. These files will occur only within the temporary directory structure
created by THDPRO.EXE.
THDSWAP.###
-----------
THDSWAP.### (where ### are replaced randomly by numbers) is created if
THDPRO.EXE swaps to disk instead of memory. On most systems this file will
never be created. It can be safely deleted if found as long as there are
currently no copies of THDPRO.EXE running. This file is always located in
THDPRO.EXE's home directory.
THDPRO.LOG and THDPRO.OLD
-------------------------
THDPRO.LOG is the 'permanent' log file created and maintained by
THDPRO.EXE. Once you have reviewed its contents you can delete it if you wish.
THDPRO.LOG will be renamed to THDPRO.OLD when the configured log size is
reached. Any existing thdpro.old will be deleted at that time. Generally
speaking THDPRO.EXE will maintain these files and no user intervention is
required.
THDLOG.###
----------
THDLOG.### (where ### are replaced randomly by numbers) are temporary log
files. Generally the existence of these files indicates that a problem has
occurred during testing. THDPRO.EXE will add these to the THDPRO.LOG file when
it finds them and remove the original. Normally no intervention on the user's
part is necessary. These files will be located in the same directory as
THDPRO.LOG and can be safely removed as long as no copy of THDPRO.EXE is
running.
HEURIST.LOG
-----------
Heurist log is the filename in which the scanners log their output. This
file is never deleted or trimmed by THDPRO.EXE. As such it can grow to
enormous sizes if left alone. This file is located in the same directory as
THDPRO.LOG and can be removed safely after you have inspected its contents as
long as no copy of THDPRO.EXE is running.
HEURIST.###
-----------
HEURIST.### (where ### are replaced randomly by numbers) is a temporary
log of the scanner's output. If it exists then an error has occurred. These
files will be located in the same directory as THDPRO.LOG and can be safely
removed as long as no copy of THDPRO.EXE is running.
THZ.TMP
-------
This file is created by THDPRO.EXE when it 'clones' LZH files. The user
should never see this file. This file can be safely removed as long as no copy
of THDPRO.EXE is running.
...end of document...