FWKCS(TM) Contents_Signature System, Ver. 1.24, 1994 Aug 10.
(C)Copyright Frederick W. Kantor 1989,1994. All rights reserved.

New or changed in FWKCS(TM) Version 1.24:

Note: FWKCS now supports McAfee's new SCAN series 2.x.x and old series 1.xx.
      During automatic installation, FWKCS checks which series of SCAN is
      present and sets itself accordingly.  If and when you change from one
      SCAN series to the other, run SCANver.BAT (provided in this package) to
      change this FWKCS setting (see README.1ST).

Changes in FWKCS.EXE:
~~~~~~~~~~~~~~~~~~~~~
1. Revised code, to support running FWKCS /vc (reVise Concurrent) from
   anywhere on a network, including the case when each of the four cs
   data_base files, CSLIST.NDX, CSLIST.SRT, CSLIST1.NDX, and CSLIST1.SRT,
   is on a different drive.

2. Added support for generation, automatic recognition, and use, of
   different index "statistical granularity" (set by user). This is intended
   for systems with very large data base (CSLIST.SRT), or with slow network
   data transfer (e.g., via "speech grade" telephone).

   Depending on the computer operating system used, this option supports
   improved access to a data base of up to slightly less than 4 Gigabytes
   (DOS), or slightly less than 2 Gigabytes (OS/2), respectively (e.g., more
   than 40,000,000 entries of the usual ca 50_byte length), and may improve
   performance for systems with as little as two million entries in the data
   base or with slow data transfer. (see also item 3, directly below)

3. Added "j" flag (Joined contiguous string) for use in column 17 of the
   contents_signature list(s) (e.g., CSLIST.SRT, CSLIST1.SRT). If the column
   17 "j" flag is present in the input line for which a match is being
   sought, FWKCS first looks for a matching contents_signature in the first
   16 characters; if that part matches, it then checks for a "j" in the data
   base entry; if that is found, it then compares the contiguous strings, up
   to the first blank space.  Additional material can be placed following one
   or more blank spaces after the contiguous identification string.

   Or, if desired, the "l" (ASCII 6Ch, lower case of "L") flag can be
   used in column 17 of CSLIST.SRT and CSLIST1.SRT, to force comparison for
   the rest of the following material in the line, including blank spaces.

   The j and l flags can be used to support the explicit testing for matching
   material, from column 18 up to column 509, inclusive; if such material is
   coded in hexadecimal, this provides an additional 1968 bits.  In this way,
   many orders of magnitude of additional statistical resolution can be
   provided for the basic /g (get matching entries) and /f (find if match)
   functions.

   For details, see FWKCS124.REF (e.g., FWKCS /** ), and search for
   "granularity", "to further enhance statistical resolution", and "Special
   Column 17 Flags".

4. Added support for processing, in a DOS session, files and zipfiles
   located anywhere in a tree containing as many as 127 levels of
   subdirectories, such as can be created under IBM OS/2 2.1 in an OS/2
   session on a FAT formatted drive. The longer d:\path\filename.ext cannot
   be entered directly on the shorter DOS command line; it is read from a
   file, in three alternative ways:

  4.1 For processing a single file, its up_to_259 character
      d:\path\filename.ext can be listed flush left in a file, e.g.,
      WherItIs, which can then be read into the internal command line in
      FWKCS using [+file]. For example,

            FWKCS /1(options) [+WherItIs] OUTFILE <enter>

      The /1 default options in this case are fpxz.

  4.2 For processing a single file or multiple files, the files can be
      listed in a file, e.g., FileList , one entry on each line. Wildcards
      can be used in FILENAME.EXT entries, but not in d:\PATH\ statements,
      in FileList.  If a subdirectory is listed (with or without a terminal
      '\'), all the entries in that subdirectory are automatically
      included.

            FWKCS /1c(options) FileList OUTFILE

      The presence of the /1 c option tells FWKCS to expect a filelist; the
      presence of a /1 option suppresses the default options, so they must
      be explicitly provided for operation; e.g.,

            FWKCS /T30/1cfjpxz FileList OUTFILE

      where the /T30 allows for up to 30 seconds delay on a network. If the
      full address for FileList is too long to put on the command line,
      that information can be put into a file such as WherItIs, and read
      into the internal command line using  [+filename] , as in case 4.1.

      For example, the /1 c option is used to process a filelist provided
      by FWKDG.COM (see below), to allow automatic inclusion of such files
      during automatic installation, automatic data base rebuilding, etc.

  4.3 For use on a FAT formatted drive: in an OS/2 session, you can make
      any one of the directories your current directory, as many as 127
      subdirectories down. While in that directory, to list the files
      with names which start flush left (no leading blank space), you
      can do

            DIR (name?.*) > d:\path\FileList

      (wildcards OK in specifying what files to include) using the
      traditional format for the DIR display format on a DOS FAT drive
      (i.e., without using the DIR /N option); d:\path\FileList is to write
      FileList in a directory in which you can work using a DOS program.
      Then, go to that directory, and in either an OS/2 2.x or a DOS
      session, do

            FWKCS /T30/1ce(options) FileList OUTFILE

      where the /1ce option is to Edit the FileList, or you can leave the
      FileList where it is, put its long d:\path\FileList into WherItIs,
      and use   FWKCS /T30/1ce(options) [+WherItIs] OUTFILE .

      The /1ce option automatically captures the d:\path\ information from
      the directory header, builds the full address for each file, and
      processes each in turn. This lets you use DIR's ability to process
      wildcards in specifying which files to process. (this is an old
      option, now extended to handle the longer \path\ )

      (If any file to be included starts with a blank space, you can use

            DIR /f " filname" > FileList

      to capture the full d:\path\filename, including blank spaces, and
      then use FileList for input as in case 4.2, above.)

5. Increased the default line length supported in the /s sort option, from
   253 to 509 characters (followed, as before, by carriage_return
   line_feed).

6. Increased the longest line for the text find options (Auxiliary Function
   7.8) to 1024 characters, including the terminal carriage_return__
   line_feed pair.

7. Corrected for conflict in OS/2 2.1 between reported names of temporary
   files and reported names of files found using wildcards.

8. Modified automatic use of FILE_ID.DIZ and DESC.SDI, to accept lower case
   or mixed case when found inside a (modified) zipfile; this applies also
   to new support for VENDINFO.DIZ (see next item below).

9. Added support for automatic use of file description provided in
   VENDINFO.DIZ, if neither FILE_ID.DIZ nor DESC.SDI is available.

10. Revised code, so that when running as client, if an old copy of a file,
    using the name selected for use as reply from host to a particular node,
    is found, it is deleted before the new request for reply is sent to host.

11. When a file is rejected in automatic bulletin board upload screening,
    if the target directory to which the file is moved is on the same
    logical drive as the directory from which the file is being moved, the
    move is done by moving the file access data; added option to force
    explicitly copying the file.

12. Added temporary mutual exclusion flag files compatible with use
    between different operating systems running different parts of the
    split_test and client/host configurations,

13. Added option "a" under the /f (Find if match) and /g (get matches)
    commands, to test only the first 16 characters for a match. In a normal
    search for matching contents_signatures, FWKCS checks for a column 17
    flag of "b","j", or "l". If that flag is present, FWKCS does further
    testing for matching material on that line, before concluding that a
    match was found.

14. Added suboption "b" under the /m (Merge), /u (Update) and /v (reVise)
    commands, for use with option "p" (unique match, keep Path) or option "s"
    (unique match, Sans path). Suboption "b" specifies that the selection of
    material to retain, and possible truncation of lines, is to be applied to
    material from both source files. The default is to apply p and s only
    against input received from the first of the two sources (e.g., in
    retaining only unique contents_signatures (without paths) for files
    retired from a bulletin board system).

15. Added option  /here , which tells FWKCS.EXE to copy its self_file from
    wherever it is to the current directory, preserving the name, date, and
    any compression (e.g., such as due to use of PKLite); for example, a .BAT
    program can use  FWKCS /HERE  to automatically fetch a temporary copy for
    modification, local use, and subsequent deletion.

16. Modified three internally created .BAT programs, to now be

       FWKCS /a3m - make ACCESN.BAT = " FWKCS %1 /t20a3[uvwxb] ".

       FWKCS /a4m - make ACCZIP.BAT = " FWKCS %1 /t20a4[uvwxb] ".

       FWKCS /a5m - make PCBTEST.BAT = " FWKCS %1 %2 %3 /t20a5[uvwxyzcdef] ".

    This was done to accommodate moving and enlarging the list of reserved
    system names, for automatic blocking under Auxiliary Functions 3 through
    6, from macro [w] to macros [uv]. Macros [uv] must be used in that order,
    because the option which uses that list starts on macro [u] and ends on
    macro [v].

17. Added screening for matches of left N characters in sorted input file,

       FWKCS /1sN infile.srt multis

       FWKCS /1sNm infile.srt multis

    where N = 1 to 99.  Option  m , if present, creates a file MULTCNT.RPT in
    the current directory, with a special format reporting also the number N
    used in the test.

18. Added options &a,z; and &a,z2; re uploaded files attached to messages,
    and changed default to otherwise allow nonzip files to be attached to
    messages when public uploaded files are restricted to only zipfiles.

    if no option &a,z;, then files attached to messages can be nonzip, or
    zipfiles, including zipfiles which contain other zipfiles.

    &a,z; if uploads are restricted to zipfiles only, restrict attached files
    to zipfiles only, and allow zipfiles which contain zipfiles.

    &a,z2; if uploads are restricted to zipfiles only, restrict attached
    files to zipfiles only, but do not allow zipfiles which contain a second
    level of zipfiles.

19. Changed the default time for automatically retrying, before reporting
    error, from 0.20 second to 3.00 seconds, to simplify manual use on
    multitasking or networked systems where a user might encounter system
    delays longer than those seen in stand_alone operation.

20. Added option v6 and related code, for using McAfee's old SCAN series 1.xx
    under Auxiliary Functions 3, 4, 5, and 6; if option v6 is not used, FWKCS
    is set (default) for compatibility with SCAN series 2.x.x.  (see also
    SCANver.BAT, below)

21. Added automatic deletion of empty MULTIS output file named on the command
    line and created using /1s or /1sNN, to support using the existence of
    that file as a flag; e.g., to control branching in .BAT programs.

22. Added option  a-  to suppress age testing under Auxiliary Functions 3-6.
    For example, this can be used in .BAT programs to override age tests
    which may be specified in macros in FWKCS.EXE.

23. Added option  $t00  to suppress unzipping under Auxiliary Functions 5 and
    6.  For example, this can be used in .BAT programs to override options
    present in macros in FWKCS.EXE.

24. Corrected a bug re Auxiliary Function 5 option k3 processing of encrypted
    AV file in zipfile when operating in split_test mode.

25. Various minor changes.

Changes FWKDG.COM:
~~~~~~~~~~~~~~~~~~
1. Revised the recursive search procedure to support searching to a depth
   of 127 subdirectories, and to handle OS/2 DOS d:\path\filename.ext up to
   259 characters long.

2. Added ability, when operating in various time_slice multitasking
   environments, to give up unused part of its time_slice.

3. Added ability to use environment variable "FWKKTS=." to Keep Time Slice,
   e.g., in case giving up the time_slice conflicts with an operating system.

4. Changed the default time for automatically retrying, before reporting
   error, from 0.20 second to 3.00 seconds, to simplify manual use on
   multitasking or networked systems where a user might encounter system
   delays longer than those seen in stand_alone operation. (This also affects
   the default value for pause option /tNNNN.NNp, so that /p, used without
   tNNNN.NN, defaults to ca 3.00 seconds.)

5. Various minor changes.

Changes FWKCSC.COM:
~~~~~~~~~~~~~~~~~~~
1. Revised code, so that if an old copy of a file, using the name selected
   for use as reply from host to a particular node, is found, it is
   deleted before the new request for reply is sent to host.

2. Added option  /here , which tells FWKCSC.COM to copy its self_file from
   wherever it is to the current directory, preserving the name, date, and
   any compression (e.g., such as due to use of PKLite); for example, a .BAT
   program can use  FWKCSC /HERE  to automatically fetch a temporary copy for
   modification, local use, and subsequent deletion.

3. Added option  /ver , for FWKCSC to report its version number as its exit
   errorlevel; e.g., for use in .BAT programs.

4. Various minor changes.

Changes in FWKHI.COM, FWKCSS.COM, and FWKCST.COM:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Various minor changes.

New or changed .BAS and .BAT programs:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. New: CS_CHECK.BAS, for use in case a defective contents_signature is found
   in the data base. Although such events are rare, they can be caused by
   power fluctuations during processing, defective storage media, etc.
   Because of the possible size of the files which may be involved, this
   supporting code has been added (with an example in FWKCS124.REF).

2. New: DOZIZ0.BAT, DOZIZ1.BAT, DOZIZ2.BAT, for use in \CSA directory, to
   process zip in zip files located in \CSA\ZIZ directory.  In each case, the
   first zipfile (the outer one) must not have any zipped paths, but can
   contain up to 16,383 zipfiles.  Each of the inner zipfiles can contain a
   full DOS tree of subdirectories (up to 32 levels of subdirectories) with
   up to 16,383 files and subdirectories, but must not contain any further
   level of zipfile (including self extracting zipfiles).
   See DOZIZ0 /* <enter>

3, 4, and 5 are templates, for tailoring to your system:

3. New: DOEM.BAT, template for batch processing of local uploads; runs
   FWKLOCAL.BAS. This is preferably run from a separate process area, not
   from in \CSA nor from in \CS.

4. New: ZIZDOEM.BAT, template for batch processing of rejected zip in zip
   located in \CSA\ZIZ. This is run from a separate process area, not from
   in \CSA nor from in \CS.

5. New: FINISH.BAT, template to appending file descriptions to PCBoard format
   uploads directory. For example, FINISH.BAT is run in the separate process
   area after running DOEM or ZIZDOEM.

6. New: DOZIZ3.BAT, to use a subset of functions provided in DOEM.BAT and
   FWKLOCAL.BAS, for use in a separate processing area, not in \CSA nor in
   \CS.

7. New: GETNEWCD.BAT, template for getting files with new names from a CDROM;
   its output is compatible with input for DOEM.BAT, for further processing.

8. New: SCANver.BAT, to install or remove option v6 for using McAfee's old
   SCAN series 1.xx or new series 2.xx (see FWKCS item 20, above).

9. Changed GET_DFLT.BAT: added check for presence of a copy of REGISTER.FRM
   when FWKCS.EXE is present and not registered; added instruction to help_
   screen re having a copy of REGISTER.FRM present for processing
   unregistered copy of FWKCS.EXE.

10. Changed CSAM.BAT: revised to include DOEM.BAT, ZIZDOEM.BAT, DOZIZ0.BAT,
    FINISH.BAT, SCANver.BAT, README.1ST; and deleted support of SETUP.nnn.

11. Changed FWKCTEST.BAT, FWKCHTST.BAT, and FWKCLEAR.BAT: in view of the
    increased amount of free memory required to run SCAN series 1.xx,
    FWKCTEST and FWKCHTST have been revised to have FWKCS swap out of RAM, to
    free all but 8064 bytes before running SCAN. FWKCTEST and FWKCHTST now
    test for SCAN series 1.xx and series 2.xx, and prepare appropriate
    commands for whichever is found on the user's system.

12. Changed CSAMACS.BAT to support automatic upgrade, while the system is
    running, on FWKCS installations supporting the newly added mutual
    exclusion flag files; to install 4 more subdirectories under \CSA for
    use as targets for rejects when processing zip in zip; to automatically
    select the correct macros to install for use with SCAN series 1.xx or
    2.xx, according to what it finds on the user's system; and changed the
    file attribute setting left on \CSA\README.TXT after installation, from
    -r left by version 1.23 to +r (like the other files installed there), for
    safety.

13. Changed DELCSA.BAT, to remove also the 4 new subdirectories added in
    item 12 directly above.

14. Revised left edge of all FWKCS .BAT display screens to reduce visual
    clutter.

15. Various minor changes.

Changes in docs:
~~~~~~~~~~~~~~~~
1. Extensively revised README.TXT, and added explanatory material in the
   checklist. The checklist now provides instructions for setting up FWKCS,
   removing duplicate files, and maintaining the system; and provides a
   "guided tour" of how to use various of the on_line help options.
   Parts of the older SETUP.nnn have been included in the new README.TXT, and
   SETUP.nnn has been dropped.

2. New: README.1ST, shortcuts for setting up FWKCS, two pages long.

3. Revised FWKCS124.REF, reflecting changes listed above for FWKCS.EXE, some
   changes in FWKDG.COM, and supporting zip in zip batch processing and the
   new CS_CHECK.BAS maintenance routine.

4. Various other changes in docs.


Note:
~~~~~
   The remote lookup functions are available in a relatively small kit,
   FWKLU124.ZIP, released 1994 Aug 10.  If you run a BBS, you may wish to
   get the FWKLU124.ZIP kit for your users, especially if your BBS is a
   "feeder BBS" and many of your users are other BBS's.  The kit comes with
   instructions, and contains a short bulletin, FWKLU124.BLT, suitable for
   posting.

------------------------------------------------------------------------

IBM and OS/2 are trademarks of International Business Machines Corporation.
