home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / virus / chkout11.zip / CKOT11.TXT < prev    next >
Text File  |  1989-12-22  |  32KB  |  622 lines

  1.  
  2.      
  3.                                     CheckOut
  4.                        Copyright(c) 1989 Saturn Software
  5.                                   & John Bintz
  6.                                     POB 309
  7.                                 Davis, CA  95616
  8.      
  9.      
  10.      On Fidonet:
  11.      203/910      Opus386
  12.      203/309      California Attorneys' Conference
  13.      
  14.      Results from Validate
  15.  
  16.                File Name:  checkout.exe
  17.                     Size:  57,368
  18.                     Date:  12-22-1989
  19.      File Authentication:
  20.           Check Method 1 - 5729
  21.           Check Method 2 - 1E3F
  22.  
  23.         CheckOut is a virus protection program which is intended for use in
  24.      environments in which many program reside in archives  such as  ZIP or
  25.      LZH.  It  breaks  open  each  archive  and  calls  ViruScan  by McAfee
  26.      Associates to check the components for viral problems. If  desired, it
  27.      can then repackage  the archive  in a  different format  (e.g. convert
  28.      .arc to .zip). Both the filelists of opus/fido systems  (files.bbs) as
  29.      well as PCBoard systems (DIRN, DIRNG) are converted in the process. It
  30.      will  also  work  on  a  much  simpler  level  where  the user  has an
  31.      occasional file to be scanned or re-archived.
  32.      
  33.      FEATURES:
  34.      -   Handles nested files to any level.
  35.      -   Desqview compatibility
  36.      -   Optionally moves infected files or bad archives out of the way.
  37.      -   Each file process is logged and identified  as ok  or bad  in some
  38.          sense.
  39.      -   Control  is  passed  to  named batch  files at  two times  so that
  40.          comments can  be added  to the  rearchived file,  or files  can be
  41.          added to the package, etc.
  42.      -   Sensitive to read-only files.
  43.      -   Processed files can  be identified  so the  same directory  can be
  44.          processed each night and only the new files treated.
  45.      -   Single files can be specified for scanning, conversion or both.
  46.      -   Can be operated either in an interactive mode  with menus  or from
  47.          the command line, or batch
  48.      -   Menu mode can be used to write a batch file for subsequent use.
  49.      -   Can be stopped anytime and pick up where it left off.
  50.      -   Handles Opus and Fido files.bbs automatically
  51.      -   Handles PCBoard DIRn and DIRng files automatically.
  52.      -   Moves good files along a specified path
  53.      
  54.         The quality of the program  as well  as the  feature set,  has been
  55.      enhanced  considerably  by the  beta testers  who did  everything that
  56.      could  be expected  and more.  These  include: Merry  Hughes, 204/869,
  57.      Robert Michal, 386/451, and John Alton, 141/250.
  58.      
  59.         Special thanks  are due  to Merry  Hughes who  independently tested
  60.      CheckOut  with  live  strains  of  Jerusalem-B,  AIDS,  Alabama,  Dark
  61.      Avenger,  MIX!/Saratoga,  Zero-Bug,  2930 (Traceback),  Yankee Doodle,
  62.      3551/Syslock, and DataCrime II.
  63.      
  64.      LIMIT OF LIABILITY
  65.         CheckOut is distributed as is.  The author makes  no representation
  66.      with respect to the fitness of the software for any particular purpose
  67.      and disclaims all warranties, expressed  or implied.  The  author will
  68.      assume no liability for  damages either  from the  direct use  of this
  69.      product or as a consequence of the use of this software.
  70.      
  71.      SUPPORT
  72.         There is  no staff  employed for  support purposes.  If you  have a
  73.      problem  to  report  or features  you would  like to  see implemented,
  74.      either  send  netmail to  1:203/910 or  use the  comment field  on the
  75.      registration  form.  All suggestions  will be  evaluated for  the next
  76.      version.
  77.      
  78.      SHAREWARE
  79.         CheckOut is distributed as shareware. This  means you  can evaluate
  80.      the product before  you decide  to register  it. If  you are  using it
  81.      after a couple of weeks, you should register it. You can copy CheckOut
  82.      or any shareware program and distributed to anyone else, provided that
  83.      neither the program nor the documentation is altered  and that  you do
  84.      not charge a fee. Because  there is  no advertising,  distribution, or
  85.      packaging cost, the price of a shareware program is often less than an
  86.      equivalent package sold through retail channels.
  87.         The registration form is provided in a separate file.
  88.      
  89.      
  90.                                   INTRODUCTION
  91.      
  92.         ViruScan or  SCAN has  become one  of the  most popular  methods of
  93.      checking for various types of viruses. It will  check boot  sector and
  94.      each file potentially a virus carrier  on a  disk for  the identifying
  95.      characteristics of more than 50 different virus types. For most users,
  96.      this is exactly what is needed. However, for people that operate a BBS
  97.      or  make  extensive  use of  BBS files,  most executable  files reside
  98.      within compressed or archived files  and these  can't be  processed by
  99.      SCAN.
  100.      
  101.         CheckOut  makes  it  possible for  SCAN to  check the  files within
  102.      archives. It operates by stepping through each file in a subdirectory,
  103.      looking at the extension, spawning  the appropriate  unarchive program
  104.      (I.e. LHARC, PAK,  PKUNZIP, ZOO,  PKUNPAK) and  then spawning  SCAN to
  105.      test each of the components of the archived file.
  106.      
  107.         As CheckOut decompresses files and checks the components  for viri,
  108.      a log is  being written  stating that  the file  has been  checked and
  109.      whether or  not it  is found  to be  infected. Additionally,  the file
  110.      itself can be marked as  having been  checked. If  there is  a problem
  111.      with the integrity of the archive, that fact is also noted in the log.
  112.      
  113.         CheckOut will cause each EXE, COM, OVL, BIN, PIF,  and SYS  file as
  114.      well  as  each  ARC,  PAK,  ZIP,  LZH,  ZOO,  SDN  in   the  specified
  115.      subdirectory to be scanned. The files which are not  processed include
  116.      those with a different extension than those noted above. Most of these
  117.      will be data files, and since they are not executed, they can't do any
  118.      harm. However,  self-extracting archives  are potentially  harmful and
  119.      are missed by both SCAN and the current version of  CheckOut. CheckOut
  120.      sees the "EXE" and thinks SCAN will check  it and  SCAN thinks  it did
  121.      check (it did,  but for  the wrong  strings). The  code exists  now to
  122.      process self-extracting archives, but was not included in this version
  123.      because it can be outwitted fairly easily. It may be more  muscular by
  124.      the time the next version is released.
  125.      
  126.      
  127.      SETUP:
  128.      
  129.         Each program that is to be  used must  be located  on the  path. No
  130.      check is made, so if you don't use a compression type, you  don't need
  131.      the uncompressor. In the case of SCAN, a  check is  first made  of the
  132.      directory that CheckOut was executed from. If  SCAN is  located there,
  133.      that one is  used in  preference to  a version  somewhere else  on the
  134.      path. The filenames that CheckOut might look for include:
  135.      
  136.      LHARC.EXE
  137.      PKUNZIP.EXE
  138.      PKZIP.EXE
  139.      ZOO.EXE
  140.      PKUNPAK.EXE
  141.      PKPAK.EXE
  142.      PAK.EXE
  143.      SCAN.EXE
  144.      
  145.      
  146.         These programs must exist on the path if they are to be  used. They
  147.      can not be renamed, and they must be recent enough to handle the files
  148.      which  will  be  processed.  The  version  of SCAN  must be  1.8V51 or
  149.      greater (SCANV51) because  CheckOut uses  features introduced  in that
  150.      version. Attempts to use an earlier version will cause SCAN to display
  151.      a help screen rather than actually scanning.
  152.      
  153.      
  154.                                    OPERATION:
  155.      
  156.      A. Command Line Operation:
  157.      
  158.         CheckOut  can be  operated from  the command  line, from  a menuing
  159.      system, or from a batch file. Command line  operation is  intended for
  160.      simple tasks like scanning  or converting  a single  file or  group of
  161.      files.
  162.      
  163.         You can specify a single file for  scanning, or  group of  files in
  164.      the  current  subdirectory,  just  by naming  it. If  the files  to be
  165.      processed reside in a different directory, you  must specify  the path
  166.      to be scanned with a -s command.
  167.      
  168.      
  169.      CheckOut foo.arc                Scan foo
  170.      CheckOut foo.arc -rz -v         Put foo into a zip archive
  171.      CheckOut *.*                    Scan all files in current subdirectory
  172.      CheckOut -sx:\test\*.zip        Scan all zip files on path
  173.      
  174.         The parameters are defined below. For more  complicated situations,
  175.      it is suggested that you invoke CheckOut with no parameters. That will
  176.      put you into a menuing system.
  177.      
  178.      
  179.      B. Operation from Menu:
  180.      
  181.         If you invoke CheckOut with no parameters, the following  menu will
  182.      appear.  Within the  menuing system  there are  error checks  that are
  183.      resistant to  mistakes and  from the  menuing system  you can  write a
  184.      batch file for subsequent unattended use.
  185.      
  186.          Subdirectory to process  -s    K:\UPLOADS
  187.          Logging active           -L    yes
  188.          Log subdirectory         -o    K:\
  189.          Bad Files subdirectory   -B    K:\BADFILES
  190.            Move bad Archives      -A    yes
  191.            Move Infected files    -I    yes
  192.          Re-archive files         -R    no
  193.          Use Time stamp code      -T    ::
  194.          PCB DIRnn Files          -P    no
  195.          ViruScan active          -V    yes
  196.          Move Good files          -G    no
  197.          Write Batch File         W
  198.          Do It now                D
  199.      
  200.         The Options are explain below. The command  beside the  menu option
  201.      is the command to be used (and preceded with either "/"  or "-")  in a
  202.      batch file.  That letter  will be  displayed in  a different  color or
  203.      otherwise enhanced on the screen display for most monitor types.
  204.      
  205.         The screen you  see may  look different  as a  result of  where you
  206.      execute  the  program.  The  default subdirectory  to process  is your
  207.      location  at  execution.  The  default  log  directory   and  badfiles
  208.      directory are off the root of the drive (physical or logical) that you
  209.      start from.
  210.      
  211.      
  212.      Subdirectory to process    -s<path>[filemask]
  213.      
  214.         This entry specifies the  subdirectory and  files to  be processed.
  215.      The default is *.* in the  subdirectory you  specify, and  the current
  216.      subdirectory  if you  don't specify  any. However,  you can  include a
  217.      filemask identical to those used in DOS to select a smaller  subset of
  218.      files. For example that mask can be a filename, *.arc, etc.
  219.      
  220.         Unless you specify differently, each file (EXE, COM, OVL, BIN, PIF,
  221.      SYS, ARC, PAK, ZIP, LZH, ZOO, SDN) in the subdirectory  specified will
  222.      be processed. SDN files are treated as the equivalent of PAK files
  223.      
  224.      
  225.      Logging active             -L
  226.      Log subdirectory           -o<path>
  227.      
  228.         By default, CheckOut.LOG is left in the root directory of  the boot
  229.      drive and looks as shown  below.  Each compressed  file is  given just
  230.      one log entry. If, for example, A.LZH had  three executable  files and
  231.      four  embedded  archives,  it  would have  just one  log entry  and an
  232.      "infection message" would apply to any or all three files.
  233.      
  234.           --testing D:\FILE\UP--------10/07/89
  235.           ABCDEFGH.LZH   ok 10/07/89
  236.           A.LZH          Virus detected
  237.           B.PAK          Missing files on path
  238.           C.ZIP          Problem in Archive
  239.           D.ZOO          DOS Error
  240.           E.ARC          ok 10/07/89
  241.      
  242.         The  command  -L in  a batch  file stops  logging and  the -O<PATH>
  243.      command provides a new path. On the menus,  just hitting  the carriage
  244.      return will toggle the L-variable from yes to no.
  245.      
  246.      
  247.      Bad Files subdirectory     -B<path>
  248.        Move bad Archives        -A
  249.        Move Infected files      -I
  250.      
  251.         If a badfile is found,  a subdirectory  called badfiles  is created
  252.      and all infected files (as well  as bad  archive files)  are relocated
  253.      there. A note is also made in the log, of course. At any time, you can
  254.      get  rid  of  both  the  file  and  the subdirectory  but there  is no
  255.      possibility of it causing a problem just sitting there.
  256.      
  257.         Another path is specified by the -B<path>  command.  The -A  and -I
  258.      are yes/no switches.
  259.      
  260.      
  261.      Re-archive files           -RL, -RZ, -RA, -RP, -RO
  262.      
  263.         If the archives are to be converted to something else,  this switch
  264.      is used to specify the target format as follows:
  265.      
  266.      -RL    convert all files to Lharc
  267.      -RZ    convert all files to Zip
  268.      -RA    convert all files to Arc
  269.      -RP    convert all files to Pak
  270.      -RO    convert all files to Zoo
  271.      
  272.         If you specify the -r switch, CheckOut will re-archive all files in
  273.      the specified  format. Even  if all  files are  already in  the target
  274.      format, there are some advantages to  rearchiving. The  advantages are
  275.      all the files are put in the same archive format,  you make  sure that
  276.      nested archives are consistent, that is that there are no  "arc" files
  277.      buried within a "zip" package; all  comments advertising  other boards
  278.      are eliminated; all files are maximally compressed; your  own comments
  279.      can be added without  negating the  advantages of  the time  stamp and
  280.      there are a number of operations that you can perform automatically as
  281.      discussed below.
  282.      
  283.         Nesting is performed as deep as you will want  to go.  All archives
  284.      within  archives  will  be  converted to  the format  specified. Since
  285.      CheckOut processes each  level of  nesting by  going one  level deeper
  286.      with subdirectories, the theoretical level  is the  length of  the DOS
  287.      command line  (120 characters)  which would  allow for  something more
  288.      than 20 levels. It hasn't been tested that  deeply, however,  so there
  289.      might be some other DOS limitation which I am not aware of.
  290.      
  291.         During conversion, a running total of starting size and finish size
  292.      is kept which is printed to both the screen and to CheckOut.log. These
  293.      totals should be accurate regardless of whether the conversion process
  294.      is completed or you exit prematurely with ^x.
  295.      
  296.      Use Time stamp code        -T<time>
  297.      
  298.         This is a very useful switch although its usefulness is not readily
  299.      apparent. If you were to set the  switch "-T5:55",  the time  stamp of
  300.      all files would be changed to 5:55 as they are processed. Then  if you
  301.      were to execute the program upon the same subdirectory the second time
  302.      using the same switch, any file which had a time  stamp of  5:55 would
  303.      be consider completed and would not be processed the second time while
  304.      all other files would be processed.  You must  use a  legitimate time;
  305.      if you were to enter with 6:66, the process would not work.
  306.      
  307.         Using  this  technique,  you  can  have  CheckOut process  the same
  308.      subdirectory every night and process only the new files  received that
  309.      day.
  310.      
  311.         There are some disadvantages  in using  this technique  for marking
  312.      files. Obviously, a file might just happen to be  time stamped  at the
  313.      specified time and get bypassed. Obviously the time stamping  can't be
  314.      used for anything else, if you use it for this purpose. However, it is
  315.      not often used for any other purpose.
  316.      
  317.         Although not well known,  DOS will  time stamp  a file  by 2-second
  318.      intervals  as  well  as  by  hours  and minutes.  The seconds  are not
  319.      displayed with a "dir" command.  Consequently, if you ignore the hours
  320.      and minutes and check only the seconds, the time stamp of the  file is
  321.      not altered in any visible way. You can  do that  with the  command "-
  322.      T::ss" e.g. "-T::20". Since ss is really  2-sec intervals  (instead of
  323.      seconds), it can be no larger than 30. Additionally, it should  not be
  324.      0 as this is the most common stamp.
  325.      
  326.         In the menu, you can specify  hours, minutes,  and seconds.  If you
  327.      want CheckOut to ignore, for example, hours and minutes, you can enter
  328.      the character ":",  or just  hit the  carriage return  and it  will be
  329.      automatically entered.
  330.      
  331.      
  332.      PCB DIRnn Files            -P<path/DIRn>
  333.      
  334.      for OPUS and Fido Systems
  335.      
  336.         Most BBS systems maintain  an independent  list of  files. Whenever
  337.      files  are  rearchived,  the filename  on that  list must  be changed.
  338.      Finding that list is easy in the case of Opus and Fido systems.  It is
  339.      always called files.bbs and it is always located in the same directory
  340.      as the files. If you convert archive types and there is a  file called
  341.      files.bbs,  the  filenames  on that  list will  be changed  (e.g. from
  342.      foo.arc to foo.zip) automatically.
  343.      
  344.      PCBoard BBS
  345.      
  346.         In the case of PCBoard, you must specify the path and  the filelist
  347.      to be changed since there is no way for CheckOut  to know  either. You
  348.      should specify just the DIRn name.  Given a  DIRn name,  CheckOut will
  349.      look for a DIRng file and if it is there, it will change  the filename
  350.      there as well.
  351.      
  352.         Perhaps, the filelists of other BBS systems  can be  processed with
  353.      this  method. It  doesn't make  any difference  where the  filename is
  354.      located within the line. However, it will not work on those systems on
  355.      which the file stem and the file extension are separated by spaces.
  356.      
  357.      VirusScan active           -V
  358.      
  359.         CheckOut calls SCAN automatically after all  of the  components are
  360.      unarchived.  If  you  simply  want  to change  archive types,  you can
  361.      eliminate scanning with the -v switch.
  362.      
  363.      Move Good files            -G<path> (-J<path>)
  364.      
  365.         If  you  select  the  -G  option,  only  the  files that  have been
  366.      identified as good will be moved along a  path. At  the same  time the
  367.      physical file is move, the file  description in  the files.bbs  of the
  368.      source  subdirectory  is  moved  to   files.bbs  of   the  destination
  369.      subdirectory. The working model supported by this option is  one where
  370.      you don't allow  immediate access  to uploaded  files until  they have
  371.      been tested. After testing, they go to an a  subdirectory that  can be
  372.      accessed by users and subsequently to a categorized subdirectory.
  373.      
  374.         The -J option exactly duplicates the -G option, but it can  only be
  375.      activated from a batch file. It is not expected that many  people will
  376.      use it, but it can be useful for backup purposes.
  377.      
  378.         This version will not handle the four DIRn  files involved  in this
  379.      option. Except for the fact it won't discriminate between good and bad
  380.      files, this operation can sometimes  be implemented  with a  few batch
  381.      commands following the command that runs CheckOut.
  382.      
  383.      
  384.      Write Batch File           W
  385.      
  386.         Selecting this option writes  the parameters  you have  selected to
  387.      disk under the name CKOT.BAT. That batch file  can then  be run  in an
  388.      automatic  procedure.  It is  easier to  specify the  parameters under
  389.      program control and more reliable  as well  as there  are a  number of
  390.      checks for proper format, correctly  specified subdirectories  etc. If
  391.      an unattended batch file has errors, there  is little  that it  can do
  392.      but abort.
  393.      
  394.      
  395.      Do It now                  D
  396.      
  397.         When  you  have  set  all  the parameters,  select this  option and
  398.      CheckOut will do whatever you have specified.
  399.      
  400.         If you have made a mistake  and you  can see  that CheckOut  is not
  401.      doing what you wanted, you can exit with ^x and try again.
  402.      
  403.      
  404.      C. Batch File Procedures
  405.      
  406.         The basic batch file is defined by the menuing  system and  the bat
  407.      file  it  produces  can  be  used in  a nightly  maintenance procedure
  408.      subsequently. There are some additional batch controls as defined here
  409.      (in addition to the -j command mentioned above).
  410.      
  411.         During the rearchiving process, there are two  points at  which you
  412.      can do some extraneous processing. At the time all the files are about
  413.      to be put into the archive, CheckOut will look for a batch file called
  414.      CKOT$1.BAT and run it if it exists. At  the time  the files  have been
  415.      put into the archive, but before it has been time and date stamped, it
  416.      will run a batch file called CKOT$2.BAT  if it  exists. If  they don't
  417.      exist, CheckOut will continue normally.
  418.      
  419.         These files must be located in the same directory that  CheckOut is
  420.      executed from and that directory must be on the path. For example, if:
  421.      
  422.      C:\Util        Where CheckOut is located
  423.      C:\Bink        Is where you execute your batch file from
  424.      Z:\Uploads     Is where the files to be tested are
  425.      
  426.         Then, CKOT$1.BAT and CKOT$2.BAT must be located in  C:\bink because
  427.      CheckOut will look for them there at startup and if they  are present,
  428.      will hand control to them at  the appropriate  times. However,  at the
  429.      appropriate time CheckOut will be processing  the files  in Z:\Uploads
  430.      and can execute your batch files only if C:\bink is on the path.
  431.      
  432.         CKOT$1  can  be  used for  such things  as adding  a file  to every
  433.      archive, or deleting named files  from archives,  sorting files  in an
  434.      order, etc.  CKOT$2 can be used for something like installing comments
  435.      in every archive. The advantage of doing it at this point is  that the
  436.      commenting process will not change the time stamp.
  437.      
  438.         In the case of embedded archives, these batch files are called only
  439.      at the first level.  You can't  comment each  nested level  or process
  440.      each subgroup of files with batch files.
  441.      
  442.      
  443.                               Miscellaneous Notes
  444.      
  445.      When SCAN is called
  446.      
  447.         If you watch the program run, you  will notice  that SCAN  does not
  448.      check  every  archive.  While  this  may  seem  like a  program error,
  449.      CheckOut examines the archive first and asks SCAN  to check  only when
  450.      there is something  to check.  If all  the files  in the  archive were
  451.      *.doc or *.c, there is nothing for SCAN to do so it isn't executed for
  452.      that archive.
  453.      
  454.         The first time SCAN is executed, it checks for all  memory resident
  455.      virus types it knows about.  Subsequently, that  step is  bypassed and
  456.      memory is not checked. This assumes that the version of SCAN  is later
  457.      than 1.8V51.
  458.      
  459.      Exit prior to completion:
  460.      
  461.         CheckOut can take a long time to complete the task  it is  asked to
  462.      do. If there are 200 files in a subdirectory,  the unarchiver  must be
  463.      called at least 200 times, as must be SCAN and the archiver.  Whenever
  464.      CheckOut is running you can stop it with control x.  It will  not stop
  465.      right  away,  but  rather  it will  finish processing  the file  it is
  466.      working on, cleanup, and  then terminate.  If you  are using  the "-t"
  467.      parameter explained elsewhere, the next time you  execute it,  it will
  468.      start with the file that it left off with. If you are operating from a
  469.      batch command, you can probably terminate  with a  control c,  but you
  470.      may wish you hadn't. Since CheckOut isn't  in control,  you may  get a
  471.      false log entry and  you will  certainly have  a mess  on the  disk to
  472.      clean up.
  473.      
  474.      
  475.      Read only files
  476.      
  477.         Many programs which repackage archive files have trouble  with read
  478.      only files within an archive. It  often happens  that the  stray read-
  479.      only file is left in the work  directory because  it can't  be erased.
  480.      The file then is put into every  archive subsequently  processed. That
  481.      problem  should not  occur with  CheckOut since  the read-only  bit is
  482.      checked, and changed if necessary, before it is erased.
  483.      
  484.      
  485.      DESQVIEW
  486.      
  487.         DesqView  is  checked  for   and  supported   if  it   is  present.
  488.      Consequently, it should stay within its partition relatively  well. On
  489.      a 386 under Desqview, nothing burst through partitions in this version
  490.      (it  did  in  the  last  version  which did  not check  for DesqView).
  491.      CheckOut, with any of the programs specified except for PAK,  will run
  492.      in a 256K partition. If any of your programs are PAKed, you  will need
  493.      a 300K partition. This, of  course, does  not take  into consideration
  494.      anything you might run under CKOT$1.BAT or CKOT$2.BAT.
  495.      
  496.      
  497.      LEGAL ASPECTS
  498.      
  499.         Many sysops have not considered their legal exposure caused  by the
  500.      presence of infected files on their board.
  501.      
  502.         If your board is hit with a virus, there  is certainly  a technical
  503.      problem. But if  you've performed  the appropriate  backup operations,
  504.      under the worse set of circumstances,  you probably  can clean  up the
  505.      problem within a week. However, if someone downloads an  infected file
  506.      and chooses to take legal action against  you, that  problem certainly
  507.      won't be cleaned up in a week, and it may involve years.
  508.      
  509.         Of course, the best way to deal with this problem is to prevent it.
  510.      To my knowledge, there is not a better  way to  prevent it  than using
  511.      CheckOut  and SCAN  consistently, automatically,  on all  files before
  512.      they can be downloaded by a user.
  513.      
  514.         If, despite your best efforts, there is an action against  you, you
  515.      have two basic defenses: (1) You didn't do it,  or (2)  You did  do it
  516.      but there are extenuating circumstances.  If the  file in  question is
  517.      not from your board, and every file on your board is stamped as 6 sec.
  518.      past the minute and the file in question is not, that  seems to  me to
  519.      be a strong argument.
  520.      
  521.         If you can't  demonstrate that  the file  came from  elsewhere, you
  522.      must demonstrate "a reasonable standard of care" and that you  did not
  523.      deviate from that standard in this case. It is  intended that  the log
  524.      should provide the documentation to make that claim.  It has  not been
  525.      tested legally and it is not known to be convincing to any court.
  526.      
  527.         You should, on occasion, remove the file CheckOut.LOG and  store it
  528.      off system. Some lawyers would undoubtedly tell you to  store it  in a
  529.      manner that you have no access, so that no one can raise  the question
  530.      of whether or not the data is honest.
  531.      
  532.         Finally,  you  should  bring  the  matter up  with your  lawyer for
  533.      advice. The author of CheckOut claims no  legal expertise  and nothing
  534.      said here should be regarded as legal advice.
  535.      
  536.      
  537.      NOTES on ViruScan
  538.      
  539.         As pointed out earlier, CheckOut will not work at all with versions
  540.      earlier than 1.8V51  or (SCANV51).  However, you  should plan  to keep
  541.      SCAN up to date because new virus  checks are  installed continuously.
  542.      The latest version of SCAN  is always  available on  the HomeBase/CVIA
  543.      BBS  (Computer  Virus  Industry  Association)  at  (408)  988-4004. It
  544.      requires a separate registration and registration fee as  explained in
  545.      the VirusScan documentation.
  546.      
  547.         If,  on  the  initial  pass,  SCAN  finds a  virus in  memory, SCAN
  548.      immediately stops operation and beeps until you  do something.  If you
  549.      should get a warning about a virus  in memory,  you should  POWER DOWN
  550.      and reboot from  a write-protected  floppy disk  and execute  steps to
  551.      remove the virus. The nature  of these  steps is  beyond the  scope of
  552.      this  documentation;  however,  by checking  regularly in  a scheduled
  553.      procedure, you should  never reach  the point  where the  infection is
  554.      already in operation at the time of testing. The simple unarchiving of
  555.      a  file with  the Dark  Avenger virus,  of course,  puts the  virus in
  556.      memory (in a nonoperative state) where it will be detected by SCAN.
  557.      
  558.         The operation of SCAN is fully documented and the  documentation is
  559.      updated with each new version of the program.
  560.      
  561.      Things to go wrong
  562.      
  563.         There aren't at present, any known bugs with CheckOut. There  are a
  564.      variety of circumstances that may produce results that look like bugs.
  565.      
  566.         If PAK is the only thing that fails to operate,  it is  likely that
  567.      you don't have enough memory assigned to the task.
  568.      
  569.         If PKUNZIP asks questions about overwriting  files, it  is probably
  570.      because you are working on an achieve in which paths are specified and
  571.      there is more than one file with  the same  name and  different paths.
  572.      There  are  not many  files like  this, and  there is  no easy  way of
  573.      handling them.
  574.      
  575.         If you are running under DesqView, and SCAN start beeping  with the
  576.      first file, that generally  means that  your partition  environment is
  577.      not intact. That doesn't happen very often and doesn't happen  at all,
  578.      once CheckOut has gotten beyond the first file.
  579.      
  580.         Having two files of the same name in the same directory  will cause
  581.      problems. This can happen, if, for example, you start  with myfile.arc
  582.      and myfile.lzh and  convert them  both to  zip. If  the files  are one
  583.      level, the second myfile.zip will  overwrite the  first. If  there are
  584.      embedded archives, and CheckOut has to leave the subdirectory, it will
  585.      come back, see myfile.zip, and and start processing the next file. The
  586.      bottom line is all files between the two  positions will  be processed
  587.      twice.
  588.      
  589.         If SCAN only shows you a help file, rather than  actually scanning,
  590.      it means that your version of SCAN is too old. You  need to  update to
  591.      1.8V51. It is also possible that the first file is processed correctly
  592.      and the errors start happening on the second pass because  older SCANs
  593.      are not familiar with the commands being fed to  it starting  with the
  594.      second pass.
  595.      
  596.         It should be said that the vast  majority of  files are  handled by
  597.      CheckOut  without  problem.  Approximately  4000 files  were processed
  598.      during testing and only one caused a  problem; that  one being  a file
  599.      called PCWORLD which contained multiple files with identical names and
  600.      different paths. We would  appreciate being  informed should  you find
  601.      any file that is not handled properly.
  602.      
  603.      
  604.      HISTORY
  605.      
  606.      1.1      Corrected a mistake in the validate data
  607.  
  608.      1.00     Added the break key, ^x
  609.               Added  re-archiving,  including filelist  handling, passing
  610.               control, etc.
  611.               Added front end interactive processor and batch file writer.
  612.               Added filemasks so that subgroups of files can be selected.
  613.               Added switches -p, -v
  614.               Added capability of handling nested files.
  615.               Added Desqview support.
  616.      
  617.      0.95     Bug fix version. .94 had a  serious problem  processing files
  618.               located at the highest level (A:\ C:\)
  619.      
  620.      0.94     First released version
  621. 
  622.