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 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 /* 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.