FWKCS(TM) Contents_Signature System, Ver. 1.12, 1991 Jul 18. (C)Copyright Frederick W. Kantor 1989-1991. All rights reserved. Partial List of Prior Revisions: -------------------------------- Note: for those who have already set up FWKCS Ver. 1.09 or later, and loaded command_line macros [b], [c], [d], [e], or [f], a batch program KEEPMACS.BAT is included in this file FWKCS112.ZIP, to automatically extract those macros from your working copy of FWKCS.COM and install them in your new copy. >>> New or changed in FWKCS(TM) Ver. 1.11: Corrected 3 errors in SETUP.110. Improved user_interface in .BAT programs, so that they provide more help to a user. Revised docs to match. Corrected a label error in some .BAT programs, so that when they do not find certain needed material, they give a report before returning to DOS. Only minor text changes were made in FWKCS.COM, intended for consistency. In fact, I missed one, on the first screen. Fooey. Changed 1_MACS and 2_MACS so that when they install macros into FWKCS, they include in the default setup p Purge non_AV files from AV_zipfiles w Wipe unwanted material from non_AV zipfiles >>> New or changed in FWKCS(TM) Ver. 1.10: New: with LOOKUP, provides the ability for a BBS user to make a remote contents_signature inquiry. This greatly increases the ability to find material, independent of names, dates, comments, the order in which files appear in zipfiles, and the amount of compression. If you have one file of a set, and its name has been changed, this still lets you find the file or files in which it appears, so that you can download them. This option also allows the user to find out if material in a file is already on the BBS, before uploading the file. This typically takes only a small fraction of the time it would take to upload the whole file. The BBS uses the i (remote Inquiry) option under /a5 or /a6. The remote user uses LOOKUP, which is provided in this package. LOOKUP prepares a zipfile which the user then sends to the BBS. On receiving such a file, under option i, FWKCS prepares an analysis and sends it back to the user in the form of a PCBFAIL.TXT file (under /a5) or a FAIL.TXT file (under /a6), so that the remote inquiry does not count as upload credit. If the s (save) option is not set, then the inquiry file is automatically deleted, so that the same filename can be used again. See discussion of option i in FWKCS110.REF, under auxiliary function /a5, and see LOOKUP.DOC. New: The ability to customize and personalize messages, incorporating material which you prepare in advance. See "Customizing messages to users:", auxiliary function /a5, option h, in FWKCS110.REF. New: The ability to process zipfile Authenticity Verification stamps, including the ability to ban a specific AV_stamp and to convey this "immunization" information to other systems running under FWKCS 1.10. This includes a set of new auxiliary function options, /a7.3(blt) for Ban, List for recognition as OK, and Test. The test suboption sets the errorlevel, permitting this family of functions to be used in controlling .BAT programs. The AV_ban test can be called under /a3, /a4, /a5, and /a6, for processing zipfiles. New: A pair of new functions have been added, which work together to provide a way to automatically prescreen files before downloading them: A g option has been added under /a5, to get and revise the upload description, so that the contents_signature and the date of the latest file in a zipfile are made available to a person or computer reading the uploads directory. A subfunction /a1.2 has been added, which reads the contents_ signature information from such an uploads directory, and compares it with the user's collection, outputting only those which do not match. By using /a1.3, this contents_signature test can be used automatically with the test for novelty of names, leaving only those files (with their descriptions) which do not appear to be contents_ signature duplicates and which do not conflict in names. New: A y option has been added under /a5 (and /a6). When PCBTEST.BAT is called to test a zipfile which is not a current upload, and the zipfile passes Phil Katz's PKUNZIP(R) test, the y option causes the report which is sent to the user to include both the result of the PKUNZIP test and the full set of contents_signatures as would be provided by running FWKCS /1fxz directly on the zipfile (for non_zip files, the FWKCS /1p contents_signature is sent). This contents_signature information can be lifted from a screen_capture file into another file, CSTEST, for example using Vernon Buerg's LIST. The user can then run FWKCS /g CSTEST MATCHING.RPT and produce a full cross_check for all occurrences of cs_matching files for each file in that zipfile compared to every file, regardless of names, in every zipfile on his/her system -- without having to download the file. New: The ability to swap most of program out of memory, under the auxiliary functions. This may be specially helpful for running under multitasking systems. It provides for swapping to disc or RAMdisc, to leave more room in memory for programs which are called by FWKCS. Swapping is done to the same place specified for temporary files (see below), or, if a separate subdirectory is not specified, then to the default subdirectory. #; swap for all SHELL operations. #lsuvz; swap if List Sort Unzip scanV Zip. New: The ability to specify a separate d:\path_tmp for a subdirectory (such as a subdirectory on RAMdisk) for temporary files, including the temporary file created when swapping out of memory (see above). The specified location is required to be a subdirectory, which must exist before the program is executed. The same d:\path_tmp subdirectory can be shared by multiple nodes. u,tmp; Use d:\path_tmp for temporary files. Changed: found and removed bug in algorithm for generating the CRC when processing plain files. A file with 1 byte at boundary (for example, a 1_byte file) was not correcly processed. This bug was discovered (by FWK) 1991 Jun 08. It does not occur when processing files contained in zipfiles, nor when making a zipfile_contents_signature. Changed: commands /f, /g, and /u now accept contents_signatures with upper or lower case letters used in hexadecimal numbers, and with all blank spaces filled with 0's. FWKCS reformats those inputs for use. This eliminates the problem of how to input a contents_signature as a variable for use in a .BAT program. Changed: the /1 options now accept directories, and accept wildcards * and ? in filenames. An entire subdirectory can be processed by giving the subdirectory name instead of a filename. Wildcards can be used in filenames inside a Control_list. Wildcards are not permitted in the name of the control_list and are not accepted in path or subdirectory names. ........... : Version 1.09 is a maintenance release, primarily to add operation under : Microsoft Corp.'s MS-DOS 4.01. : I thank Dave Orcutt for his help in alpha testing FWKCS Version 1.09 using : "Lantastic" and DOS 4.01. ........... ........... : Version 1.08 is a maintenance release, to correct a bug in age_testing : of non_zip files. ........... ........... :Version 1.07 is an upgrade, providing some new capabilities and options: :--- : :Zipfiles which contain different files with the same filename are now :automatically handled, by unzipping them in groups which have the same :internal path information and no overlapping filenames. This prevents one file :from overwriting another, so that McAfee's SCAN can check each one for :viruses. : :This freed the /a5 and /a6 t suboption, which is now used in : : t,trashold; subdirectory to hold files rejected as redundant or duplicate. :--- : :FWKCS now saves internal path information for a file in a zipfile when making :a contents_signature line. This internal_path appears after the external path, :separated from it by a comma: : :CONTENTSIGNATURE FILENAME.EXT FILENAME.ZIP D:\PATH,INNER_PATH : :To accomodate this additional information, the line can now be up to 253 :characters long, followed by carriage_return__line_feed. : :Availability of internal_path supports automatic deletion of unwanted material :from zipfiles in which the file to be deleted has a path zipped with it. :--- : :A new flag has been added for use in column 17 of CSLIST(1): : : k Keep full line. This can be used to protect extended line structure when : using the /vs or /vp reVise suboptions (the /v option by itself preserves : a full line). :--- : :For convenience in using column_17 flags, a new auxiliary function, with :suboptions, has been added (third screen of FWKCS/a): : :7. format: FWKCS (infile) /a7.n(flags) (outfile1 (outfile2)) : for use with CSLIST column 17 flags: : if no INFILE, uses "standard input". : if no OUTFILE, uses "standard output". : /a7.0 strip all flags. : /a7.1flag insert (lower_case) flag. : /a7.2flags (in /a7.2, flags are compared independent of case): : if no specified flag, default is all flags. : if no outfile2, output only lines with a matching flag; : else put lines without matching flag in outfile2. :--- : :The deletion_log capability under /a5 and /a6 has been modified to only open :the log file briefly when making its entries, so that the log file is not :held open during an upload. This supports use of a single log file :for keeping track of deletions made from uploaded zipfiles on systems which :have multiple nodes. To direct all deletion entries to a single log, specify :the log file with path information, e.g., d:\path\deleted.log. :--- : :The o,oust; suboption of /f, /g, /a3, and /a4 has been modified so that, if :there is no output to the specified OUST file, the file is deleted. This can :be used to control branching in a .BAT program, by testing for whether the :file exists. ........... ..........some important changes introduced with Version 1.06: :Version 1.06 is an upgrade, providing new capabilities and options. : :Previously, the system used FWKCSF.COM and FWKZCS.COM, each entirely in :assembly_language, with FWKCSF calling FWKZCS. The two program have been :merged into a single assembly_language program, FWKCS.COM. : :To provide for using the new options, the command line can now call four :macros, each of which can be up to 73 bytes long, which can be separately set :by means of FWKCS /d. If FWKCS has been compressed without destroying its .COM :structure (for example, if it has been compressed using Phil Katz's :PKLITE(R)), it will still accept changes by means of /d in its internal :defaults and write itself out as an uncompressed .COM file. : :FWKCS is now able to read commands from files and make them part of the :command line. These command files can make use of the /d macros, which are :expanded as part of the command line. : :For convenience in tailoring the program to specific applications, the full :expanded command line can be written to an output file, which can be edited :and then used as a configuration file which is read as part of the command :line. : :The command line can now override the default log file for uploads, whether :directly, or by a configuration file, or by a macro. : :Special flags have been added to the contents_signature lists. Each of these : flags is in lower_case, in decimal_column 17, counting the left column as : "1": : :e keeps a specific name with its contents_signature, so that subsequent : logical decisions can be based on both the cs and the name. : :r establishes a cross_reference, providing a way to link one cs to one or : more other cs's. On retrieval, they are transcribed into a form which can : be fed back again to chain references together. : :w wipe_flag: this can be used to label a cs so that, if a file with matching : cs is found in an uploaded non_AV zipfile, that file may be deleted. : :x exclusion_flag: this can be used to label a cs so that, if a file with : matching cs is found in an uploaded zipfile, that zipfile will be excluded : from the system. For example, this can be used to block the acceptance : of commercial software, to block known trojans which can't be caught by : virus programs, etc. : :The integrity of these flags and their reference data is preserved during :consolidation of files using /v, /vp, and /vs. : :These flags are used in new or enhanced features for accessioning files and :automatically operating an electronic "bulletin board" system. ..........end of sublist re Ver. 1.06. -------------- Version 1.05 is an upgrade, providing these new options: In FWKCSF, /vp and /vs, which provide for carrying forward into a new master cslist unique contents_signatures to protect against duplication of files which have been retired from the system; /a6, which provides for operation with bulletin board systems which are only able to handle pure ascii files ;NOTE--------------------------- /a5 has been modified to not use @OPTEXT@, to operate with versions of PCBoard 14.n, n<5 ;NOTE ENDS---------------------- In FWKZCS, /x, which eXpresses whether Authenticity Verification is available for a file and for a zipfile There have been further internal changes in FWKZCS to provide protection against forms of defective zipfiles which have been brought to my attention. -------------- Version 1.04 was a maintenance release, directed toward stand_alone use of FWKZCS with /z option when not using /f. It can affect preliminary screening for duplicate zipfile_contents_signatures. It does not affect operation under FWKCSF, including when FWKZCS is called by FWKCSF (such as in accessioning or in EBBS operation). --------------