home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 17 / CD_ASCQ_17_101194.iso / vrac / thdpro10.zip / THDDOC.TXT < prev    next >
Text File  |  1994-08-27  |  149KB  |  2,916 lines

  1.                                                                   Page i
  2.                           THD ProScan Version 10.0
  3.                                 Documentation
  4.  
  5. Index
  6.  
  7. Topic - Subtopic................................................. Page No.
  8.  
  9. Copyright ....................................................... 01
  10. Introduction .................................................... 02
  11.     - The Product ...............................................      02
  12.     - Overview ..................................................      02
  13.     - Registration / Donations .................................. 03
  14.     - History ...................................................      03
  15. The Author ...................................................... 05
  16.     - History ...................................................      05
  17.     - How to contact me .........................................      05
  18. Product Support ................................................. 06
  19.     - Commentary (THD vs other Archive Processors) ..............      06
  20.     - Thanks to... (Credits) .................................... 08
  21.  
  22. THDINSTL.EXE .................................................... 09
  23.     - Command line syntax .......................................      09
  24.          - ? ....................................................      09
  25.          - /F (Full installation)................................      09
  26.          - {Path to old THDPRO.EXE} .............................      09
  27.          - /NET (network compatible mode) .......................      09
  28.     - Function ..................................................      09
  29.     - conditions for running successfully ....................... 10
  30.     - selection screens .........................................      10
  31.     - final screens ............................................. 16
  32.          - final screen one .....................................      16
  33.          - final screen two .....................................      16
  34.          - final screen three ...................................      16
  35.  
  36. THDPRO.EXE ...................................................... 18
  37.     - command line syntax .......................................      18
  38.          - ? ....................................................      18
  39.          - /NODESC (NO DESCription)..............................      18
  40.          - CRC (CRC Mode)........................................      18
  41.          - /CO (Convert Only)....................................      18
  42.          - /KO (Keep Original)...................................      18
  43.          - /LA (Log All).........................................      18
  44.          - /ADD (ADD description to FDB)......................... 19
  45.          - {COMPORT} ............................................      19
  46.          - /60 /120 /250 /450 /750 /1500 ........................      19
  47.          - {CONVERT INDICATORS} .................................      19
  48.     - Requirements ..............................................      19
  49.     - Function .................................................. 20
  50.     - Features .................................................. 21
  51.     - Basic operation ........................................... 26
  52.     - CRC mode ..................................................      26
  53.     - Conversion and Convert-Only mode .......................... 27
  54.     - Test mode ................................................. 31
  55.     - Frequently asked Questions................................. 32
  56.  
  57.                                                                   Page ii
  58.  
  59. THDPLUS.EXE ..................................................... 36
  60.     - command line syntax .......................................      36
  61.          - ? ....................................................      36
  62.          - /ALL (process ALL)....................................      36
  63.          - /REMOVE (mark to REMOVE)..............................      36
  64.     - Requirements ..............................................      36
  65.          - Operation ............................................      36
  66.  
  67. TESTINFO.DAT .................................................... 37
  68.     - What is it? ...............................................      37
  69.     - Why is it? ................................................      37
  70.     - How does THDPRO use it? ................................... 38
  71.     - How can others use it? ....................................      38
  72.  
  73. THDTERM.EXE ..................................................... 39
  74.     - General Information .......................................      39
  75.     - command line syntax .......................................      39
  76.          - {Comport} ............................................      39
  77.          - /S (Source directory) ................................ 40
  78.          - /C (Configure) .......................................      40
  79.     - Requirements ..............................................      40
  80.     - Function ..................................................      40
  81.     - Features .................................................. 41
  82.     - Basic Operation ...........................................      41
  83.     - THDTERM and Filedoor ......................................      41
  84.  
  85. THDDEMO.COM ..................................................... 42
  86.     - Purpose ...................................................      42
  87.     - ANSI Files ................................................      42
  88.          - THDPRO.AN? files ..................................... 43
  89.          - PAINSOFT.AN? files ................................... 44
  90.          - PAINSOFT.ANS ......................................... 46
  91.  
  92. COMMENTS ........................................................ 47
  93.     - THD ProScan's custom / configurable comment control .......      47
  94.     - Randomly selected comments ................................      47
  95.          - Comment by area ......................................      47
  96.     - Keyword replacement / customization ....................... 49
  97.          - keywords .............................................      49
  98.  
  99. ENVIRONMENT VARIABLES ........................................... 53
  100.     - THDZIP ....................................................      53
  101.     - THDARJ ....................................................      53
  102.     - THDOPT .................................................... 54
  103.  
  104. SECURE MODE ..................................................... 55
  105.     - THDPRO.EXE /SEC ........................................... 56
  106.     - THDPRO.EXE /SECTEST .......................................      56
  107.  
  108. NETWORK NOTES ................................................... 57
  109.  
  110.  
  111.                                                                   Page iii
  112.  
  113.                                   - PREFACE -
  114.  
  115.      THD ProScan is a collective effort by myself and a number of others.
  116. While most of the time you associate only myself with the various releases,
  117. I feel that I need to take a moment to acknowledge that were it not for the
  118. great users and fantastic beta testers, this product might have long since
  119. been history.
  120.      Since the inception of THDscan (about 6 years ago) there have been
  121. many people who have helped to find problems and offered assistance in many
  122. other ways. This version of THD ProScan is dedicated to all of those people.
  123. Without regard for how great or how small their contribution, these are the
  124. people who have made it possible for you to receive this version.
  125.      Please take a moment to read the credit section of this documentation.
  126. Although only a few are specifically listed in that area, it is worth noting
  127. that there are in fact many other contributors. Some who have made donations
  128. or incurred costs, or perhaps even simply made a comment or suggestion are
  129. still deserving of a mention.
  130.     Among those rarely ever mentioned, I would like to thank the makers of
  131. the products that THD was designed to replace. While I would never recommend
  132. some of the products that fall into that category, I can't help but remember
  133. that had it not been for those inferior products, THD might never even have
  134. made the drawing board.
  135.      The early creators of file processors missed a great many details now
  136. considered standard, however without their original ideas, this product and
  137. many others may not ever have come into existence.
  138.      And to my competitors, without whom this product might be only a shadow
  139. of what it is today. Some have been friendly and other have downright
  140. destructive, but all have helped in the creation of various versions.
  141.      While no implementation in THD has ever been taken directly from another
  142. product, many of the "toys" are based on suggestions from users who had seen
  143. similar options in other products. As I'm sure on occasion users of other
  144. products have made suggestions based on things they have seen in THD.
  145.  
  146.      I could never hope to mention everyone who has made a relevant
  147. suggestion for the improvement of THD. Nor could I hope to recall all the
  148. people who have made a significant difference in it's development. What I
  149. can do is to thank them all here for their contributions, whether
  150. intentionally or by circumstance.
  151.  
  152.      So, to all the testers, users, non-users, nay-sayers, praisers, critics
  153. and competitors...
  154. Thanks for your contributions, no matter how great or how small...
  155.  
  156.        This one is dedicated to you.
  157.  
  158.  
  159.                                                                   Page 01
  160.                                  -------------
  161.                                  - COPYRIGHT -
  162.                                  -------------
  163.  
  164.          The following  copyright covers  THD ProScan and  all of it's
  165.          parts,  including  (but  not limited to),  THDPRO,  THDINSTL,
  166.          THDPLUS, THDTERM, THDDOC and THDDEMO. The TESTINFO.DAT format
  167.          is covered by a separate copyright.  Please see  TESTINFO.INC
  168.          for details.
  169.  
  170.          These programs  and  all  of their  associated names,  files,
  171.          logos  and  makeup  are  Copyright  1992 - 1994 by  PainSoft.
  172.          Absolutely  no  duplication  in whole or in  part is allowed.
  173.          With the exception of  duplication of the entire archived set
  174.          of files  for distribution to those in need of it's services.
  175.          None of the  copyrighted material  may be changed in any way,
  176.          except by the author.  Changes made by the author's original,
  177.          unmodified  installation  program will be  considered to have
  178.          been made by  the author for the purpose  of this  copyright.
  179.          The files may be  rearchived in  ANY  fashion which  requires
  180.          them to be  restored to their original condition before  use.
  181.          (Portions are Copyright  Borland  International).  The Author
  182.          accepts  no responsibility  for the  actions of this program.
  183.          It is  FREEWARE  and NO  charge may be made for distribution.
  184.          It is  NOT  a commercial  product  and  the  ONLY  acceptable
  185.          charge for it will be "actual, physical cost of duplication".
  186.  
  187.          Other products mentioned are  copyrighted by their respective
  188.          owners and  include their  own  restrictions  for use. Please
  189.          be  sure to  register  those  products  if  requested  by the
  190.          copyright holders.
  191.  
  192.  
  193.                                                                   Page 02
  194.                               ----------------
  195.                               - INTRODUCTION -
  196.                               ----------------
  197.  
  198. - The Product -
  199. ---------------
  200.  
  201. - Overview -
  202.  
  203.      THD ProScan is an File Processor. It was conceived as a security 
  204. conscious method for testing the integrity of archived files and has
  205. evolved from a 50 line batch file to what you see now.
  206.  
  207.      The general purpose of an file processor is to perform a series of 
  208. tests on a given file (usually an archive) and report the passing or failing 
  209. of the various tests. The types and number of tests done will vary with the 
  210. program being used, but the one test viewed as the most important is the 
  211. Virus Scan. Others tests are (or are not) performed depending on the 
  212. software being used. Normally things like CRC testing and commenting of 
  213. archives are standard procedure.
  214.      These products are known by many names, almost all of which are a
  215. contraction of one of FILE, ARCHIVE, or UPLOAD and TESTER, PROCESSOR or
  216. CHECKER. Whatever they call themselves, their usual goal is to offer some
  217. assurance that the files have been reasonably tested for integrity.
  218.  
  219.      The difference between this and many other upload testers is one of
  220. priorities. Most upload/file testers regard the testing of the file as the
  221. single most important factor. THD ProScan, on the other hand, has a
  222. different view.
  223.      THD ProScan is designed with security as the single most important
  224. factor in a file tester. It is with this in mind that THD ProScan has been
  225. programmed from day one. This is also the reason why some things that you
  226. might "like" to see are not present. You cannot change a number of things
  227. which others allow. The reason being that the options used in this tester
  228. are the ones most likely to stop people from gaining access to your
  229. computer. Simple things like not allowing user definable commands to be run
  230. and insisting that full paths be supplied, help to ensure that the sysop
  231. without a full working knowledge can get as much benefit from this tester as
  232. the seasoned pro.
  233.      By the same token, THD ProScan also attempts to compete and defeat the
  234. so called "competitors". It attempts to do as many things as could be
  235. realistically asked of an upload tester, while maintaining the security that
  236. prompted its creation as well as being generic enough to be used by as many
  237. BBS programs as possible.
  238.      I think you will find that the number and types of options available in
  239. this tester rival or exceed those available with a number of other testers.
  240.  
  241.                       If you need an upload tester...
  242.                       -------------------------------
  243.                       ---- YOU NEED THD PROSCAN -----
  244.                       -------------------------------
  245.  
  246.                                                                   Page 03
  247. - Registration / Donations -
  248. ----------------------------
  249.  
  250.      While THD ProScan is a FREEWARE product, the author (that's me) does
  251. gladly accept donations. There is no "set" amount or for that matter it
  252. doesn't even have to be cash.
  253.      Since my main concern is to upgrade my current computer (an XT), I will
  254. also accept hardware in the hopes that it will assist me in building my new
  255. computer.
  256.      Details are available in DONATE.PLS and the address is found in the
  257. author section of this documentation.
  258.  
  259. - History -
  260. -----------
  261.  
  262.      Long, long, ago and far, far, away.. I used to call about 40 BBS'es a
  263. day. I became concerned one day when I uploaded a file and it failed
  264. something called an "upload test".
  265.      I quickly downloaded the program which failed my file and was amazed at
  266. what it was attempting to do. (cool I thought). However upon looking closely
  267. into what it was doing and how it was being done, I became VERY concerned.
  268. This program could give a user COMPLETE control of the sysop's computer if
  269. they created just the right archive.
  270.      Being the conscientious little co-sysop that I was, I went searching
  271. for a similar program without the flaws present in this one. Believe it or
  272. not, I couldn't find one (I did find some 15 other programs, none of which
  273. addressed all of my concerns). I decided instead that I would create a
  274. "secure" batch file for this sysop to process his uploads. I made one that
  275. worked on my system, then I made it configurable (so that the sysop could
  276. customize it for his system).
  277.      And such was born a 4DOS dependant batch file called THDScan. (are you
  278. still with me?). Others of course called and saw the "neat" screen output
  279. and inquired as to where they could get a copy and so on.. Many were amazed
  280. at what could be accomplished through batch processing and began to use it.
  281. As is normal, problems began to arise and improvements were requested. And
  282. so development of THDScan continued.
  283.      This development saw many changes and additions to THDScan through the 
  284. two years it was being improved. But alas, as is always the case, some 
  285. spoilsports refused to use it because it was a batch file (not to mention it 
  286. needed 4DOS or NDOS to properly run). And so Development of an executable 
  287. version of THDScan began.
  288.      No-one was willing to "program" it my way, so I started to learn Turbo 
  289. Pascal in the hope of creating it myself.
  290.      And after much hair pulling, on August 20, 1992, the world was 
  291. introduced to THD ProScan Version 1.0. (more like about 45 local systems). 
  292. Things continued on with bug reports and so on (what can I say, I never 
  293. programmed anything before). And so began the upgrading of THD ProScan.
  294.      Somewhere around version 6.0, I was surprised to receive a netmail from 
  295. Ireland making inquiries about my program (whoa.. all the way from Ireland). 
  296. I asked this person for explanations, what I could do etc. and he was most 
  297. helpful in showing me what he wanted added/changed to support his particular 
  298. use.
  299.  
  300.                                                                   Page 04
  301.  
  302.      Soon thereafter netmail started coming from everywhere (okay .. almost 
  303. everywhere). THD had somehow become a popular program. From that point onward 
  304. THD has been treated by me as a major endeavour.
  305.      The Version 10 being released today, is the result of many such
  306. communications and many, many hours of work. None of which I have ever
  307. regretted.
  308.      For those of you who are dying to know, THD actually stands for
  309. "The Head Doctor" (the alias of the sysop for whom the original pre-version
  310. 1.0 THDScan Batch file was created). I have long since lost contact with
  311. him, and many of the people whom I knew at that time. But I suppose I ought
  312. to thank him for lending me his monogram.
  313.      So there it is.. everything you never wanted to know about THD ProScan.
  314.  
  315.  
  316.                                                                   Page 05
  317.                                --------------
  318.                                - THE AUTHOR -
  319.                                --------------
  320.  
  321. - History -
  322. -----------
  323.  
  324.      Who am I?
  325.  
  326.      Hi. I'm David Muir, born in the winter of 1962. I was introduced to 
  327. computers about 8 years ago by a friend. BBSing at that time was something 
  328. that I hadn't even considered.
  329.      Not too long after that I got my first IBM compatible computer. I 
  330. played games, made notes, and used it to keep my company records. It was a 
  331. tool. After scooping some neat toys from a friend, I began to inquire how he 
  332. came about getting them, he explained about modems and BBS'es. I soon after 
  333. purchased a neat 2400 bps modem and got a few numbers off of him.
  334.      In no time flat I was a BBS junkie. Calling up to 40 BBSes at a time 
  335. and trying my best to help people out. I eventually got to co-sysop on about 
  336. 15 of those boards and was quite in demand as a co-sysop (due mainly to my
  337. security conscious approach). But time took it's toll, and eventually I had 
  338. to lessen my outgoing calls. Somewhere in there THDScan was born and later 
  339. THD ProScan.
  340.      So now I'm a 32 year old computer junky, who loves nothing more than to 
  341. get netmail from places I've never been and help people with problems I 
  342. don't have.
  343.      THD ProScan is my way of helping. And a pretty good reason to talk to 
  344. people from distant places. I still use that same computer (an XT compatible 
  345. that cost darned near as much as my car). Generally I'm a pretty boring 
  346. kinda guy who's more than willing to lend a hand when I can.
  347.  
  348. - How to contact me -
  349. ---------------------
  350.  
  351.      I can be reached via Netmail at Tim Strike's BBS
  352.  
  353. The Forbidden Knights
  354. 1:259/423.0 (fidonet)
  355. (905) 820-7273
  356. Mississauga, Ontario
  357. User name- David Muir
  358. Alias - Pain
  359.  
  360.      Home is...
  361.  
  362. David Muir
  363. 198 Leyton Ave
  364. Scarborough, Ontario
  365. Canada, M1L 3V6
  366.  
  367.      I'm also available in numerous other nets (look for Tim's BBS) as well
  368. as following many of the public echos which relate to BBS support.
  369.  
  370.  
  371.                                                                   Page 06
  372.  
  373.                              -------------------
  374.                              - PRODUCT SUPPORT -
  375.                              -------------------
  376.  
  377.      Product support is available directly from the author according to the 
  378. information above. However, you might find that many people in the public
  379. echo areas are willing to help as well.
  380.      Most of the sysops listed as distribution sites will be happy to try to
  381. assist you and if unable to do so, will generally forward questions and
  382. comments to me.
  383.      Questions regarding interaction with your particular BBS type are
  384. generally best answered by those who use the same BBS software as yourself.
  385. If however you're stuck and no-one seems to know the answers, please give me
  386. a shout, either by mail or via netmail (or possibly in the public echos if
  387. you happen to spot me).
  388.  
  389. - Commentary (THD vs other Archive Processors) -
  390. ------------------------------------------------
  391.  
  392.      In the last year or so, it seems that the Archive Processing field has 
  393. become VERY competitive. I have done my best to uphold my friendly 
  394. disposition in the face of numerous attacks, both on me personally as well 
  395. as on my product.
  396.      So people who don't want to know how I REALLY feel should not read 
  397. this.
  398.  
  399.      Still with me? Okay...
  400.  
  401.      THD ProScan is NOT a hobby. It's not something I do to rip the nice 
  402. sysops off for their money. It's not a pastime that I use to fill my empty 
  403. hours. It IS an obsession. THD is what I do. To attack it, is to attack me. 
  404. I do engage in employment as well, but that is something which I am paid to 
  405. do and do not do because I "desire" to do it.
  406.      In the past year, I have been called everything from a complete fraud 
  407. to a liar. I am neither. THD has been called ineffective, inefficient and 
  408. unreliable. It is none of those things.
  409.      What THD is, is quite simply my way of saying thank to the many sysops 
  410. out there who need something and may not know what. THD is built with 
  411. security in mind. To date NOT even ONE other archive processor has been able 
  412. to match THD in its efficiency and security. Now to be fair, there are some 
  413. that I have not tested. In those cases I have not come across them or have 
  414. found them not to run on my XT.
  415.  
  416.                                                                   Page 07
  417.  
  418.      I do not begrudge the other authors who believe that their product is as 
  419. good or as secure as my own (or those who believe that theirs is superior to 
  420. mine). But I can tell you, in all honesty, that with the singular exception
  421. of THD ProScan there does not exist an upload tester (of which I am aware)
  422. through which I cannot pass a KNOWN virus in a legitimately testable archived 
  423. file. This refers to a virus that will be recognized by McAfee's VirusScan if 
  424. all archives are expanded and all resulting files are tested. This does not 
  425. refer to any underhanded encryption technique or creation of the virus after 
  426. being tested. But an honest to goodness real virus in a file type which those 
  427. other do test.
  428.      Some of those other products can even be manipulated by an uploaded 
  429. archive to allow the remote user "FULL" access to the host system.
  430.      If it's any consolation, the last statement refers to fewer and fewer 
  431. products as time goes by. Most regularly updated processors do guard against 
  432. this particular instances.. BUT NOT all of them, so watch for these.
  433.      I specifically will not mention any of the people who have attacked 
  434. myself or my tester. But I will be honest, in saying that if I ever actually 
  435. tell you not to use a specific product (something I would rarely ever do), I 
  436. do have my reasons and they are never related to anything as petty as 
  437. revenge.
  438.      I stand behind my product. I believe what I tell you about it, and most 
  439. of all I make it for you.. not me. (I have no use for about 90% of what is 
  440. coded in there, 10% is coded for me the other 90% is coded for the people 
  441. who use it). Remember that I am not a sysop and most of the features in THD 
  442. are BBS related.
  443.      As a final note. Many of my competitors in the Archive processing field 
  444. are not described above. Many are very friendly and professional people who 
  445. have never said anything to belittle myself or my product (or anyone else's 
  446. product). Many of them are good intentioned hard working people, bringing 
  447. you what they believe is an excellent product. Please if you use one of 
  448. these other products and the author requests registration... be sure to 
  449. register the product. The amount of work that goes into these things is not 
  450. petty and those who request registration have worked long and hard to 
  451. produce that product for you. Be sure to remember that when you see them 
  452. asking for registration.
  453.      Above all. Remember that I truly do believe that THD is a superior 
  454. product. (and I have tested enough of them to make a reasonable judgement)
  455.      If you feel that another product is better (or better suits your needs)
  456. then use it with my blessing. The final consideration must be what you 
  457. believe you need and not what myself or another author thinks.
  458.      Thanks for reading my babblings...
  459.  
  460.      David Muir... Author THD ProScan.
  461.  
  462.  
  463.                                                                   Page 08
  464.  
  465. - Thanks to... (Credits) -
  466. --------------------------
  467.  
  468.      The list of people who have aided in the Development of THD ProScan is 
  469. far too long for me to list here (and to be totally honest, I don't think I 
  470. could name them all).
  471.      The following is a list of people who's input has been extraordinary is 
  472. not necessarily all inclusive. I have tried to give credit where credit is 
  473. due. I have many people to thank that are not listed specifically in this 
  474. text.
  475.  
  476.      Thanks to all the sysops who, at various stages, helped in the
  477. betatesting of this product. Many helped me to find "minor" inconsistencies
  478. and fix them before you got to see it.
  479.      A VERY special thanks to Eugene Chin for his great assistance in
  480. betatesting the first releases and making valuable suggestions about the
  481. program.. Many of which were implemented, And of course some which were
  482. not.. But all of his suggestions and comments were considered.
  483.      A special thanks as well to "Eternal Darkness" for his contribution of
  484. the "user side ansi screen". He willingly gave me a number of "ansi" drawings
  485. with permission to modify them as was necessary to suit my purpose. The ansi
  486. your users see is only very slightly modified from the ansi I received and I
  487. think he did an excellent job.
  488.      A thanks as well to David Luckie who reported the problem which Version
  489. 4 fixed. Without his inquiries the integrity of this program might have been
  490. severely compromised.
  491.      And to Tim Strike for his assistance in too many aspects to list in this
  492. document, including relaying David's concerns and replies so that I might be
  493. able to fix the problem.
  494.      To Neil Dempster for his support and constant questioning (not to
  495. mention the extra drives).
  496.      To Mark Kerr for his inquiries into the "move/rename" aspect of the
  497. program. As well as making me aware of the number of RA supporters.
  498.      A VERY Special Thanks to Rudy Ramsey for rushing me the registration
  499. key for VENDEDIT so that THD ProScan could be distributed with a valid
  500. VENDINFO.DIZ. Persons with inquiries regarding the VENDINFO standard should
  501. contact Rudy Ramsey as noted in the VENDINFO.DIZ included with this package.
  502.      To TurboPower Software for the use of their EXECSWAP program.
  503.  
  504. To all Beta sites, past and present. And to anyone who ever reported an 
  505. error so that I could endeavor to fix it or made a suggestion to improve it.
  506.  
  507.                                                                   Page 09
  508.  
  509.                               ----------------
  510.                               - THDINSTL.EXE -
  511.                               ----------------
  512.  
  513.      THDINSTL.EXE is the installation/configuration for THD ProScan.
  514. THDINSTL accepts four (4) different parameters. (note that "/NOMOVE" is no
  515. longer supported as a commandline parameter and must be toggled from the 
  516. final screen).
  517.  
  518. - command line syntax -
  519. -----------------------
  520.  
  521. - ? -
  522.     Running THDINSTL.EXE ? will result in a quick display of the commandline 
  523. options available for running THDINSTL.EXE.
  524.  
  525. - /F -
  526.      Running THDINSTL /F will cause the installation to emulate an original
  527. installation as if the file had never been configured before. Useful if you
  528. have made major errors or wish to make major modifications to your
  529. configuration.
  530.  
  531. - {PATH\TO\OLD\THDPRO.EXE} -
  532.      Running THDINSTL.EXE C:\OLDTHD\THDPRO.EXE will result in THDINSTL
  533. reading the file who's name is supplied. If this file is found to be a valid
  534. THDPRO.EXE from the version 6.0 or later than the configuration from that
  535. file will be extracted for use in configuring the THDPRO.EXE in the current
  536. directory. If it is not recognized as a valid THDPRO.EXE, it will default to
  537. a full installation process.
  538.  
  539. - /NET -
  540.   Running THDINSTL.EXE /NET will run in "network compatible mode". This has
  541. the effect of not including the drive letter specifications when files are
  542. found. As well it changes drive selection to allow only the use of the current
  543. drive for the creation of its temporary directories. This is exactly the same
  544. as renaming THDINSTL.EXE to NETINSTL.EXE as explain under "Network Notes".
  545. IF used, this parameter must be the last thing on the command line.
  546.  
  547. - Function -
  548. ------------
  549.  
  550.      The sole purpose of THDINSTL.EXE is to configure THDPRO.EXE. If
  551. THDPRO.EXE is not yet configured, you will be stepped through a series of
  552. questions. Answer these questions appropriately by supplying paths etc,
  553. until the final three screens, where you will be shown the results of your
  554. input, and have the option to make changes prior to changing the
  555. configuration inside THDPRO.EXE.
  556.      If THDPRO.EXE has been previously configured, THDINSTL will read that
  557. configuration and skip directly to the final three screens, from which you
  558. can opt to make changes.
  559.      At almost any time during the installation you can press function key
  560. F1 to receive online help.
  561.  
  562.  
  563.                                                                 Page 10
  564. - conditions for running successfully -
  565. ---------------------------------------
  566.  
  567.      THDINSTL, insists that the THDPRO.EXE which is to be configured is 
  568. present in the current directory when it is run.
  569.      THDINSTL, requires approximately 150k of free memory to run (more or 
  570. less may be required depending on your use of the dos shell feature available 
  571. by pressing function key F2).
  572.      Changes will only be saved by hitting "enter" from the final screen.
  573.  
  574. - selection screens -
  575. ---------------------
  576.  
  577.      THDINSTL will step you through numerous screens. This text will only 
  578. outline those screens which require more than a path to a file be supplied. 
  579. For those entries which are simply paths, you should supply a full drive 
  580. path and filename (complete with extension). The exception being that persons 
  581. running on networks should not supply drive letters and should also read the 
  582. section marked "NETWORK notes".
  583.  
  584. - The very first screen after product identification will show the following
  585.   prompt. I think it's pretty much self explanatory.
  586.  
  587.     Please press "C" to continue.
  588.     Any other key will abort the installation.
  589.  
  590. - Next screen.. same idea...
  591.  
  592.      PRESS ANY KEY TO START THE INSTALLATION...
  593.  
  594. - The Log size screen is basic I think as well. You have 5 choices. pick one
  595. which corresponds to the appropriate log size for your needs.
  596.     A) 5,000
  597.     B) 10,000
  598.     C) 20,000
  599.     D) 30,000
  600.     A/B/C/D to set size or "ANY OTHER KEY" for 50,000---»
  601.  
  602. - The option to reboot and drop carrier on virus uploaders are simple yes/no
  603. choices. Both of these options use the fossil to perform these functions.
  604. generally it's a good idea not to drop carrier on users. And rebooting your
  605. system upon detection of a virus is generally not necessary.
  606.  
  607.  
  608.                                                                   Page 11
  609.  
  610. - The option to supply a maximum size to autotest files is simple. If for
  611. some reason you do not wish to test large files, you can select to not test
  612. files automatically if they are larger than the selected size.
  613.      Any files over this size will cause THDPRO.EXE to prompt the sysop for 
  614. 5 seconds to press a key. If the sysop presses a key, then the file will be 
  615. tested. If no key is pressed, then the file is passed without testing and a 
  616. note is logged.
  617.  
  618.     A) 1 Megabyte  (1024576 bytes)
  619.     B) 2 Megabytes (2049152 bytes)
  620.     C) 3 Megabytes (3073728 bytes)
  621.     D) 4 Megabytes (4098304 bytes)
  622.     A/B/C/D to set size or "ANY OTHER KEY" to test all files  ------»
  623.  
  624. - Default comport. seemingly simple enough. This entry accepts a digit 
  625. between 0 and 8. If your BBS can pass a comport, then I recommend setting 
  626. this to "0" and let the BBS supply the comport when necessary.
  627.      If you run a single node BBS which can not pass the comport, then 
  628. setting this to the appropriate comport used by the BBS would be correct
  629. entry. Note that this entry goes by the human definition of comport and not
  630. by the fossils definition. (com 0 is local [no comport] and not port 1 as
  631. would be determined by most fossil drivers).
  632.  
  633. - Local comport is a very specific setting for a very specific circumstance.
  634. Almost everyone should set this to "0". If you think perhaps you need this
  635. setting, then hit function key F1 from this screen for a description of who
  636. does and does not need this.
  637.  
  638. - BBS name. This entry is limited to 39 characters (as are most of them
  639. which require multiple character input). This entry MUST be made. if you
  640. don't run a BBS enter your name or alias at this prompt. This is the name
  641. which the user side will show THD as being "Registered to".
  642.  
  643.     Please enter the full name of your Bulletin Board
  644.     ie. The Best Little Board in Texas
  645.  
  646.     Input Name---»:
  647.  
  648. - Log directory. This entry requires a path to a directory in which you
  649. would like THD to keep it's log files. THD keeps a log for each file tested.
  650. This entry is mandatory.
  651.  
  652.     Please enter the FULL path to your LOG directory
  653.     ie. C:\BBS  (No ending "\")
  654.  
  655.     Input LOG Directory---»:
  656.  
  657. - Reject directory. this is the directory to which THDPRO.EXE should move 
  658. failed files If the FAILED FILE MOVING is set to normal (from the final 
  659. screen of the installation). This entry must be valid. it will not be used 
  660. if failed file moving is turned off, but must be configured just in case.
  661. Enter the path to a directory which THD should move such files.
  662.  
  663.                                                                   Page 12
  664.  
  665. - BBS Type.
  666.  
  667.     Which of the following BBS types are you running?
  668.     1- RemoteAccess (version 2.00 or compatible)
  669.     2- Telegard 2.7
  670.     3- Renegade (07-17-93 or compatible)
  671.     4- FILES.BBS (standard format)
  672.     5- FILES.BBS (SBBS extended format uses " >")
  673.     O- Other (Create TESTINFO.DAT file)
  674.     N- None  (Do not create a data file)
  675.  
  676.      If you use and want THD to update the file bases for one of these BBS
  677. types. Select that BBS type. the installation may prompt you for a path or
  678. other information if you select one.
  679.  
  680.      Selecting "O" (for other) will tell THDPRO.EXE that you do not run one
  681. of the supported BBS types, but that you wish it to create a TESTINFO.DAT
  682. file for each file processed. This file can be used by external utilities to
  683. update the file bases for types not supported by THDPLUS. This should only
  684. be selected if the utility you are using specifically requests that this
  685. file be created.
  686.  
  687.      Selecting "N" (for none) Tells THDPRO.EXE that you are not using one of 
  688. the supported bbs types (or do not wish them to be updated) and that you do 
  689. not wish to have a TESTINFO.DAT file generated.
  690.  
  691. - Age/date limit. This option allows you to limit the acceptance of files 
  692. based on the dates of files included in the archives. If you wish to limit 
  693. file by age or date, you would be well advised to look into the online help 
  694. at this screen (F1).
  695.  
  696. - VENDINFO.DIZ file support. THD supports the Vendinfo.diz file standard 
  697. version 1.00 in a limited capacity. The capacity is limited to descriptions 
  698. (and Author name as well as Product name and version in comments only)
  699.      I strongly recommend using these descriptions if you use description 
  700. importation at all. These descriptions ARE supplied by the author and are 
  701. generally good descriptions. The file contains 6 distinctively different 
  702. descriptions (they are not just cut off at "x" number of lines)
  703.  
  704.     0 - do not use VENDINFO descriptions.
  705.     1 - 60 character description.
  706.     2 - 120 character description.
  707.     3 - 250 character description (suitable for TG/RG/FILES.BBS).
  708.     4 - 450 character description (FILE_ID.DIZ size).
  709.     5 - 750 character description.
  710.     6 - 1500 character description.
  711.  
  712.                                                                   Page 13
  713.  
  714. - Heuristic Failures
  715.      If you select to use a heuristic tester for virus scanning THDPRO.EXE  
  716. can be set to either fail those files which raise heuristic flags or to pass 
  717. them. If you use ONLY heuristic testers, this will default to fail 
  718. heuristically flagged files. If you use SCAN.EXE for detection you can 
  719. choose to only log instances of heuristic flagging.
  720.  
  721.  
  722. -File comments. File comments are a very complex issue in THD ProScan. At 
  723. this screen your choice is simple. You can opt to enter a single path to a 
  724. file to be used as a file comment for every file (option 1) or supply the 
  725. path to a list of comments (option 2). For more information on the many 
  726. options available for file comments see the appropriate section in this
  727. document.
  728.  
  729.     1. You can supply the full path to a file
  730.           to add as an "archive comment"
  731.                     OR
  732.     2. You can supply a full path and filename to
  733.        a list of such files to be chosen at random.
  734.  
  735.     Press any other key to skip this entry
  736.  
  737. - Drive options. this selection refers to the drives THDPRO.EXE should 
  738. attempt to use when making it's temporary directory structure (temporary 
  739. workspace). THD automatically detects the drives present on the system and 
  740. displays the first three here. To access a drive not shown here remove one 
  741. or more drive letters by entering the letter of the drive to be removed.
  742.      For information or other options you should see the online help from 
  743. this screen (F1). The "0" option tells THDPRO.EXE to use ONLY the default 
  744. drive for it's workspace. This is HIGHLY recommended for Network operations 
  745. or other environments when drive specifications can cause confusion.
  746.  
  747.     THD ProScan will use the following drives to test files.
  748.  
  749.     Drive C:
  750.     Drive D:
  751.     Drive E:
  752.  
  753.     If you do NOT wish one of these drives to be used for testing.
  754.     press the drive letter to "NOT" do testing on.
  755.     To access a drive not shown here, remove one or more of the above
  756.     drives, until the one you want is displayed.
  757.  
  758. To reverse the order showing press "1".
  759. To Rotate the order press "2". For network comp. mode press "0".
  760. [enter] accepts the configuration shown...
  761.  
  762.  
  763.                                                                   Page 14
  764.  
  765. - File removal is a relatively complex choice. Choices 1 and 2 are
  766. relatively simple. for an explanation of CRC removal see the section on CRC
  767. mode. The online help also gives a brief explanation (F1 from the
  768. appropriate screen).
  769.  
  770.     1. You may supply a few filenames to be removed.
  771.     2. You may supply a list of filenames to be removed.
  772.     3. You may choose to remove files by their CRC values.
  773.     4. You may remove files using by BOTH CRC and filenames.
  774.  
  775.     Choosing to use both list types will remove files based
  776.     on their CRC values and then check the remaining files for
  777.     files to be removed by name only.
  778.  
  779. - The "files to add" option allows THDPRO.EXE to add files of your choice to
  780. each archive tested (except protected archives). At this screen you can
  781. supply a few file names or a path using wildcards indicating which files
  782. should be added (hit enter for none).
  783.  
  784. -  A feature of this tester is the ability to reject files from a list of
  785. file names. This list must be a list of file names ONLY with no extension
  786. with each name on a separate line. The HACKLIST "*.COL" files are compatible
  787. with this format and "may" be used directly. The hacklist "IDX" files can
  788. also be read directly by this tester.
  789.      At this point you can hit enter to skip this option or enter the full
  790. path and filename of a list of files to be used as a hacklist. (See the
  791. section on file formats for specific information on the acceptable format of
  792. a hacklist)
  793.  
  794. - This Version of THD ProScan allows you to select "default" options. If you
  795. choose to configure these options they will only be utilized if no options
  796. are entered on the command line. Supplying any parameters on the command
  797. line other than a file path and name will cancel these options.
  798.  
  799.     Options which can be set by this configuration are...
  800.     The conversion type and level -
  801.     The /NODESC option -
  802.     The /CO feature -
  803.     The /KO feature -
  804.  
  805.     Do you wish to set/modify defaults for any of these? [y/N]
  806.  
  807.  
  808.                                                                   Page 15
  809.  
  810. At this point if you select to have THDPRO.EXE assume default command line
  811. options, you will be prompted as follows...
  812.  
  813.     The default options are as follows...
  814.     These options are "toggles".
  815.     To change the setting of any given toggle simply enter
  816.     the corresponding letter.
  817.     * Note that some options are unavailable without a conversion type. *
  818.     Hit [ENTER] to accept the defaults as shown.
  819.  
  820.     A-- Conversion "OFF" by default.
  821.     B-- Convert-only mode  ("/CO") - FALSE
  822.     C-- Keep-Original mode ("/KO") - FALSE
  823.     D-- Convert indicator          - None
  824.     E-- Use /NODESC option         - FALSE
  825.  
  826. As you select options, the various values will change on the screen
  827. indicating your choices. Hit enter when the choices match your desired
  828. settings. (You might be best not to change these until you are familiar with
  829. the command line options and what they do).
  830.  
  831. - THD ProScan has 3 user definable levels for archive conversions. You 
  832. should select to modify one or more of these options if the preconfigured 
  833. levels are not to your liking.
  834.  
  835.   Do you wish to view and/or modify these settings? [y/N]
  836.  
  837. If you select YES you will see a screen like this..
  838.  
  839.     Available options                   level4      level5      level6
  840.  
  841.     Convert imbedded archives           FALSE       FALSE       FALSE
  842.     Convert SFX main archives           FALSE       FALSE       FALSE
  843.     Convert SFX imbedded archives       FALSE       FALSE       FALSE
  844.     Convert odd name main archives      FALSE       FALSE       FALSE
  845.     Convert odd name imbedded archives  FALSE       FALSE       FALSE
  846.     Convert protected main archives     FALSE       FALSE       FALSE
  847.     Convert protected imbedded archives FALSE       FALSE       FALSE
  848.     Convert archives of the same type   FALSE       FALSE       FALSE
  849.  
  850.     Arrow keys to move around.
  851.     [SPACE] key to toggle the highlighted value.
  852.     [ENTER] key to accept all values shown.
  853.     Press desired key ...
  854.  
  855. Change the values by following the instructions. To use these levels see the
  856. section dealing with Conversion mode.
  857.  
  858.  
  859.                                                                   Page 16
  860.  
  861. - final screens -
  862. -----------------
  863.  
  864.      After answering the numerous prompts in the install you will be 
  865. presented three final screens. The options on these final screens are 
  866. shown below. Some options may not be seen prior to the final screens.
  867.  
  868.      The options available on the final three screens are generally a recap 
  869. of information you have entered during the installation up to this point. To
  870. change any of the entries type the letter which corresponds to the entry you
  871. wish to change.
  872.  
  873. - Final Screen one - contains only selections which would have been
  874. configured to this point.
  875.  
  876. - Final Screen two - contains only path to utilities which you would have
  877. configured prior to this point.
  878.  
  879. - Final Screen three - has two option which you will not yet have seen
  880. they are options "G" and "I"
  881.  
  882.      - Option "G" deals with the timestamp of the file being tested. This
  883. should be set to indicate what timestamp should be put on this file.
  884.      Hitting "G" from this screen will toggle between the following four
  885. choices.
  886.  
  887.    G-- File's Timestamp      -- Use date of newest internal file.
  888.      This option uses the timestamp of the newest internal file for the
  889.      finished archive.
  890.  
  891.    G-- File's Timestamp      -- Update to current date and time.
  892.      This option uses the current time and date for the finished archive.
  893.  
  894.    G-- File's Timestamp      -- Use File's upload date and time.
  895.      This option uses the timestamp that the file had when it was uploaded.
  896.  
  897.    G-- File's Timestamp      -- "Best Guess" at original date and time.
  898.      This option uses a calculation based on a average of the 5 newest files
  899.      in the archive. Recommended only if you don't normally strip others BBS
  900.      ads from the archives.
  901.  
  902. - Option "I" is used to determine if THDPRO.EXE should move and/or rename
  903. files which fail it's various tests.
  904.      IF your BBS handles the moving of files when they fail (like
  905. RemoteAccess) then this should be set to inactive, so that the BBS can find
  906. the files to move them.
  907.      If however your BBS does not handle moving of failed files (like
  908. Telegard 2.7), you should set this to "normal" so that THD will move the
  909. files as needed to avoid having the BBS delete them.
  910.  
  911.  
  912.                                                                   Page 17
  913.  
  914. - Option "M" is toggled to invoke SECURE mode. Secure mode is explained in
  915. detail elsewhere in this document. You should set this to false until you
  916. have completely reviewed the section on secure mode.
  917.  
  918.     From this final screen hit [enter] to save the configuration into
  919. THDPRO.EXE and you are done.
  920.      Remember that throughout this process pressing F1 will get you online
  921. help, and F2 will provide a dos shell. For the record, the online help in
  922. most cases offers a more complete description that is present in this
  923. portion of the text.
  924.      At any prompt, configuration can be aborted by hitting CTRL-C.
  925.  
  926.                                                                   Page 18
  927.  
  928.                                --------------
  929.                                - THDPRO.EXE -
  930.                                --------------
  931.  
  932. - Command line syntax -
  933. -----------------------
  934.  
  935. - ? -
  936.  
  937.     Running "THDPRO.EXE ?" will result in a help screen which gives a brief
  938. description of the proper syntax, for the various modes.
  939.  
  940.     - With the exception of the ? option, all other options require supplying
  941.       a filepath.
  942.  
  943. - /NODESC -
  944.  
  945.     Running "THDPRO.EXE {drive:\path\filename.ext} /NODESC" will result in
  946. normal running of the test mode of THDPRO.EXE while NOT importing the
  947. descriptions into your file data bases. This switch is useful when you wish
  948. THDPRO.EXE to update your data bases in regards to name changes but not in
  949. regard to descriptions.
  950.  
  951. - CRC -
  952.     Running "THDPRO.EXE CRC {drive:\path\filename.ext}" will invoke
  953. THDPRO.EXE in CRC mode. CRC mode is explained in detail later. This is the
  954. only mode in which wildcards will be accepted.
  955.  
  956. - /CO -
  957.  
  958.     Running "THDPRO.EXE {drive:\path\filename.ext} /CO [Convert Indicator]"
  959. invokes THDPRO.EXE in Convert-Only mode. Using this switch will cause the
  960. file to be converted to the type of the convert indicator which must also be
  961. supplied (convert indicators are explained below).
  962.     No "testing" will be done in this mode.
  963.  
  964. - /KO -
  965.  
  966.     When conversion mode is active (either Convert-Only mode or normal
  967. test/convert mode), if this switch is supplied, THDPRO.EXE will not delete
  968. the original file after conversion takes place. (Normally if conversion is
  969. successful, the original file is deleted and replaced by the newly converted
  970. file).
  971.  
  972. - /LA -
  973.     Using this switch (Log All), THDPRO.EXE will not exit immediately
  974. following a failed virus scan. Instead, it will finish scanning with all
  975. configured virus scanners before indicating a scan failure. This can be used
  976. to record the log output of the three scanners into HEURIST.LOG. Note that
  977. output from the SCAN 1.x.x series is not logged, but Scan 2.x.x as well as
  978. F-Prot and TBSCAN are logged.
  979.  
  980.                                                                   Page 19
  981.  
  982. - /ADD -
  983.  
  984.     Using this switch tells THDPRO.EXE to toggle the flag in the TESTINFO
  985. record which indicates that the user wishes to have a record added to the
  986. file database if one does not already exist. THDPLUS does not support this
  987. option. It is included for users of third party utilities. This is identical
  988. in function to "SET THDOPT=ADD".
  989.  
  990. - 0 (1,2,3,4,5,6,7,8) {COMPORT} -
  991.  
  992.     Supplying a single digit of 0-8 on the command line will cause THDPRO.EXE
  993. to ignore the internally configured comport and use the comport number
  994. supplied on the command line. The use of "0" will cause no remote output to
  995. take place (this forces local mode). Other comport numbers will supply remote
  996. output to the comport supplied.
  997.  
  998. - /60 /120 /250 /450 /750 /1500 -
  999.  
  1000.     Use of any one of these switches will inform THDPRO.EXE that instead of
  1001. the comment size selected in installation, you prefer it use this "/xxx" size
  1002. for commenting files. Note that this size selection refers ONLY to
  1003. descriptions taken from a VENDINFO.DIZ and ONLY as used in file comments.
  1004. These switches were added to allow you to have 1500 charcater descriptions
  1005. in your File base but not be forced to have the same size comment in your
  1006. file comment (if you chose to use that option). These switches have no effect
  1007. when descriptions are taken from the other than VENDINFO.DIZ files.
  1008.  
  1009. - TOZIP (TOARJ,TOLHA,TOSQZ,TOUC2,TORAR) {CONVERT INDICATORS} -
  1010.  
  1011.     These six labels are called Convert Indicators. Using these on the
  1012. command line will cause THDPRO.EXE to go into conversion mode. (note that
  1013. without the "/CO" switch testing will be performed as usual and conversion
  1014. will follow immediately thereafter).
  1015.     Only one may be used on the command line. Detailed explanations of the
  1016. various convert indicators is given later in this document.
  1017.  
  1018. - Requirements -
  1019. ----------------
  1020.  
  1021.          This tester requires...
  1022.  
  1023.          - PC/XT (or compatible)
  1024.          - MS-DOS 3.3 (or higher)(other "DOS" systems MAY be acceptable)
  1025.          - A FOSSIL DRIVER (user output will not be sent if no fossil is
  1026.                            found but the testing will still be done)
  1027.          - At least one Harddisk (drive assignment C: - Y:)
  1028.          - at least ONE of i) McAFEE's VIRUSSCAN (2.x.x supported by default)
  1029.                                                (1.x.x support through THDOPT)
  1030.                           ii) F-Prot
  1031.                          iii) TBScan
  1032.          - Enough free memory to run each of the utilities used by this
  1033.            program (+3k). THDPRO.EXE requires about 225k itself to load, but
  1034.            releases all but 3k of that to run external programs.
  1035.  
  1036.                                                                   Page 20
  1037.  
  1038.          The following utilities are required depending on which file types
  1039.          you wish to test.
  1040.  
  1041.          - ARJ.EXE        for "ARJ" files (version 2.41a)
  1042.          - GIFTEST        for "GIF" files (version 4.xx)
  1043.          - HYPER.EXE      for "HYP" files
  1044.          - LHA.EXE        for "LZH" files
  1045.          - PAK.EXE        for "ARC" files
  1046.          - PAK.EXE        for "PAK" files
  1047.          - PKARC/PKXARC   for "ARC" files
  1048.          - PKPAK/PKUNPAK  for "ARC" files
  1049.          - PKZIP/PKUNZIP  for "ZIP" files (version 1.10 - 2.04g)
  1050.          - RAR.EXE        for "RAR" files (version 1.51)
  1051.          - SQZ.EXE        for "SQZ" files
  1052.          - TDCHECK.EXE    for "TD0" files
  1053.          - UC.EXE         for "UC2" files (revision 2)
  1054.      (Where versions are specifically mentioned, it is believed that
  1055.       versions other than those mentioned "may" not work as expected.)
  1056.  
  1057. - Function -
  1058. ------------
  1059.  
  1060.          WHAT WILL IT DO..
  1061.               THD ProScan will ..
  1062.          1) Check (and/or reject) files from a user supplied list of files
  1063.          2) Strip the file comment
  1064.          3) CRC test the file
  1065.          4) FIND a drive with enough space to test the file
  1066.          5) Create a directory called "THDTEMP.???" on that drive
  1067.          6) Remove files (if configured) from the archive.
  1068.               (Removal by name, by crc, or by both)
  1069.          7) Check dates to reject old files (if selected).
  1070.          8) Expand the archive into that directory while recreating
  1071.                its internal path structure.
  1072.          9) Extract and process VENDINFO.DIZ if configured.
  1073.          10) It then selectively searches each of the subdirectories created
  1074.               for testable archives. If found, it repeats the above process
  1075.               until no more archives are found.
  1076.          11) It will then scan each of the files in that directory and
  1077.               all subdirectories below it.
  1078.          12) THDPLUS will run if so configured.
  1079.          13) Add your loaders to the archive
  1080.          14) It maintains a log in your BBS directory of all actions
  1081.               performed.
  1082.          15) Perform a complete accurate conversion (if selected).
  1083.          16) Add your file comment.
  1084.          17) It then proceeds to remove the temporary directory structure.
  1085.          18) Updates all of the log files.
  1086.          19) Reports the appropriate errorlevel to dos.
  1087.  
  1088.               The full process is actually much more complex than this basic
  1089.          outline, but the above gives a reasonable representation of what
  1090.          happens.
  1091.  
  1092.                                                                   Page 21
  1093. - Features -
  1094. ------------
  1095.  
  1096. - Support for ARC/ARJ/GIF/HYP/LHA/PAK/RAR/SQZ/TD0/UC2/ZIP file formats.
  1097.  
  1098. - Two testing methods.
  1099.     THDPRO.EXE starts out in default mode. In this mode THDPRO.EXE will
  1100.     attempt to expand the main file and all of it's imbedded files prior to
  1101.     beginning the virus scan. This method is designed for speed, but can
  1102.     require a significant amount of disk space. If unable to expand one
  1103.     of the embedded files, THDPRO.EXE will drop back to the "FALLBACK"
  1104.     method.
  1105.     The "FALLBACK" method, extracts and scans each imbedded archive
  1106.     separately. This method may not require as much disk space (in some cases
  1107.     it requires significantly less), but will take longer to run. This is the
  1108.     method used by all previous versions of THD ProScan. The drop to the
  1109.     FALLBACK method is automatic and only used when space prohibits the use
  1110.     of the default method.
  1111.  
  1112. - Intelligent processing of LHA files.
  1113.     The handling of LHA files is done in an "intelligent" manner. The file
  1114.     type is diagnosed to see if it is expandable on a DOS based system. If it
  1115.     cannot be expanded, it will be CRC tested only. If it can be expanded, it
  1116.     will be checked for the use of the root directory. If it attempts to use
  1117.     the root directory, a clone will be built which makes no attempt and the
  1118.     clone will will be expanded and tested in its place.
  1119.  
  1120. - Complete logging of file testing.
  1121.      All aspects of the test are logged in a file called THDPRO.LOG in
  1122.      a directory which you configure in THDINSTL. The size of this log
  1123.      is configurable, and it reports processes and failures.
  1124.  
  1125. - Logging of heuristic testing only when suspicious code is found.
  1126.      It seemed unreasonable to log all heuristic testing, considering that
  1127.      MOST of the time there are no infections. The logs kept for failures
  1128.      or for suspicious code are generated by the virus scanners themselves.
  1129.  
  1130. - Sysop can opt to NOT test files if they are too large.
  1131.      During the installation, you can choose to not test files over a given
  1132.      size. If you choose this, you may pick from files over 1,2,3 or 4
  1133.      megabytes (1048576 bytes per megabyte). If this option is enabled
  1134.      and THD ProScan is asked to test a file larger than the "acceptable"
  1135.      size, it will prompt the sysop for 5 seconds to press a key. (in this
  1136.      way you can still test these files manually by pressing a key). If no
  1137.      key is pressed, the file is passed without testing.
  1138.  
  1139.                                                                   Page 22
  1140.  
  1141. - 100% share aware and compatible (share.exe is not a requirement)
  1142.      Before any file is opened by THDPRO.EXE, the presence of share.exe
  1143.      is determined. If SHARE is loaded, then the file is opened in a
  1144.      shared mode, so that other processes may also use the files. If
  1145.      share is not loaded, files are opened in standard mode.
  1146.      If file access is denied, THD ProScan will wait for up to 30 seconds for
  1147.      the file to be released. If the file is not released in 30 seconds,
  1148.      the test is aborted and the file passed. Otherwise, if the file is
  1149.      released, testing will resume without incident.
  1150.  
  1151. - File descriptions can be directly imported into the file data bases. Through
  1152.     the use of THDPLUS, file comments can be added to the file bases
  1153.     for users of REMOTEACCESS 2.00(+), Telegard 2.7, Renegade 07-17 and the
  1154.     many FILE.BBS supported BBS'es. THDPRO.EXE will create a data file with
  1155.     the necessary file information and then call THDPLUS to make changes.
  1156.          VENDINFO.DIZ if found will be processed and used regardless of the
  1157.     presence of the following files. Without a VENDINFO.DIZ these description
  1158.     files will be prioritized in the following order.
  1159.        i) FILE_ID.DIZ - if found it will be used.
  1160.       ii) DESC.SDI - will be used in the absence of FILE_ID.DIZ.
  1161.      iii) DESC.SDN - will be used if neither of the above are found.
  1162.     In the event that no description files are in the archive, THD ProScan
  1163.     will make no attempt to alter the user's description.
  1164.  
  1165. - Allows the sysop to use any combination of
  1166.   SCAN.EXE / F-PROT.EXE / TBSCAN.EXE  (1, 2, or all three)
  1167.     SCAN.EXE is no longer required due to it's memory needs. Instead
  1168.     you may opt to use any or all of the noted virus testers. Or any
  1169.     combination of them. However note that at least ONE MUST be used.
  1170.     Simply tell THDINSTL the full path and filename of the tester(s)
  1171.     that you wish to use and all selected scanners will be run on
  1172.     every file. Support for the SCAN 1.x.x series is available through the
  1173.     proper use of the THDOPT environment variable (explained later).
  1174.  
  1175. - Supports "heuristic" testing for suspicious code using F-PROT.EXE
  1176.   or TBSCAN.EXE.
  1177.      When testing is done using F-Prot or TBScan, the tests are always
  1178.      performed in "heuristic mode". This will enable these testers to
  1179.      find some unknown viruses as well as the known viruses.
  1180.  
  1181. - Optionally pass or fail files which contains suspicious code found
  1182.   by the heuristic testers.
  1183.     You can choose to consider "suspicious" files as being virus infected
  1184.     and thereby cause THD ProScan to consider them failed. Normally, I
  1185.     recommend against this but there are many valid reasons to fail such
  1186.     files. DO NOT fail these files if your BBS deletes failed files. This is
  1187.     only optional if SCAN.EXE is used. in absence of SCAN.EXE heuristic
  1188.     failures will be considered virus infected.
  1189.  
  1190.                                                                   Page 23
  1191.  
  1192. - Optionally display a "changed" internal interface.
  1193. - Allows the sysop to supply up to 9 user side "interfaces" .
  1194.      New in version 9.0 is the ability for the sysop to supply up to 9
  1195.      user side interfaces and 9 replacement corners for the internal
  1196.      interface. Giving a total of 21 possible remote screens to be
  1197.      chosen at random during any one test run.
  1198. - The file after testing can be time stamped with one of four date
  1199.   selections.
  1200.     Original date - Choosing this option will date the finished file with the
  1201.          same date and time it had at the start of the test.
  1202.     Current Date - Choosing this option will date the finished file with the
  1203.          time and date of the completion of the test.
  1204.     Newest date - Choosing this option will date the finished file with the
  1205.          time and date of the newest file included inside the archive.
  1206.     Best Guess - Choosing this option will date the finished file with the
  1207.          time and date of a calculation of the average date and time of the
  1208.          five newest files internal to the archive.
  1209.  
  1210. - Identifies all archives by their internal signatures.
  1211. - Including self extracting archives.
  1212.     All archive types are recognized by their archivers unique signatures.
  1213.     Even the self extracting files are done by signature, so the name of
  1214.     a file will have no bearing on whether or not it is tested. If it is an
  1215.     archive type which you have configured for testing, it will be tested.
  1216.     This may be limited by some bbs programs ability to tell THD ProScan
  1217.     what to test, since some will only pass the file for testing based on
  1218.     it's extension.
  1219.  
  1220. - Allows files to be rejected based on the dates of the files inside the
  1221.   archives.
  1222.     You can choose to limit the acceptance of files on your BBS based on the
  1223.     actual date of the files inside the archive. OR you may choose to limit
  1224.     them based by how old they are. The difference? You may choose to reject
  1225.     files older than "3 months" (you choose the age) and thereafter never
  1226.     update the limit as age is compared to the date of testing.
  1227.     Or you may choose to not accept files created before "January 1 1990"
  1228.     (again you choose the date), and files will be failed based on their
  1229.     "date". Note that the dates referred to here are the date INTERNAL to
  1230.     the archive and not the archive date.
  1231.  
  1232. - Can reject files by name using a "hack list" (HACK****.COL and IDX
  1233.   files can be read directly).
  1234.     You can choose not to test files which have specific names. This is
  1235.     useful for avoiding testing of known viruses/hacks/pirated software.
  1236.     You can create a list of file names to be rejected or use the
  1237.     official "Hack Report" files. Or you can mix the two. Files rejected
  1238.     by this method will be considered to have FAILED testing.
  1239.  
  1240. - Support for remote ansi or ASCII as determined by auto ansi detect.
  1241.     The presence of ANSI on the remote side is automatically detected.
  1242.     If ansi is found, it is used. Otherwise output is plain ASCII.
  1243.  
  1244.                                                                   Page 24
  1245.  
  1246. - Suppression of remote output through the use of "comport 0".
  1247. - Suppression of remote output through the use of a user defined comport.
  1248.     Remote output can be suppressed when run locally (to avoid sending
  1249.     the ASCII output to an unsuspecting user). It can also be suppressed
  1250.     when told to send to a "legitimate" comport. (Not recommended except
  1251.     in some very odd circumstances)
  1252. - Protection for "ZIP" archives which have a valid "AV".
  1253.     Zip files which contain a valid "AV" (Authenticity Verification)
  1254.     will not be modified, since this would corrupt the "AV". These
  1255.     files will be reported in your THDPRO.LOG so that you may see
  1256.     if they have legitimate "AV"'s. All "testing" will be performed as
  1257.     usual.
  1258.  
  1259. - Strips comments from all archives before any processing is done
  1260.     Ansi bombs are avoided by stripping the comments of all archives
  1261.     without allowing the comments to be displayed to the screen. This will
  1262.     protect your system from ansi bombs while THDPRO is running.
  1263.  
  1264. - Recreates full directory structure "from" the temporary directory,
  1265.     Although the process involved is very complex to explain, if an
  1266.     imbedded archive exists in an archive it WILL be found and tested.
  1267.     No matter how many subdirectories or other imbedded archives must
  1268.     be searched in order to find it. This is limited by the types of
  1269.     archives supported by your system. But if it can be found with
  1270.     what is configured...IT WILL BE.
  1271.  
  1272. - Does not allow the "overwrite" option on any of the archive types.
  1273.   (stops some forms of "hacking")
  1274.     Some upload testers use the "overwrite" option to avoid having
  1275.     the archivers prompt the sysop for input. THD ProScan does not allow
  1276.     overwrites of any kind. The reason being that one of the most popular
  1277.     methods to corrupt your system was to create archives which would
  1278.     expand over your system files. THD ProScan will not allow this.
  1279.  
  1280. - Add loaders to the main archive.
  1281.     THD ProScan can (if configured) add loaders (insert files into
  1282.     an archive).
  1283.  
  1284. - Insert your file comment
  1285. - Insert a specific comment depending on the location of the file.
  1286.     THD ProScan can add file comments in a number of ways. It can be told to
  1287.     add a single comment to every file tested. OR it can select at random from
  1288.     list of such comments. OR it can insert a comment based on the file's
  1289.     location at the time of testing. The options are further explained in
  1290.     the "COMMENT" portion of this document.
  1291.  
  1292. - Configurable file specific text in file comments.
  1293.     Key words can be used in file comments to be replaced by file specific
  1294.     information. Please see the section on Configurable comments later in this
  1295.     documentation.
  1296.  
  1297.                                                                   Page 25
  1298.  
  1299. - Will use one of as many as three drives to test files by searching in
  1300.   order to find enough available space on one of them.
  1301.     THD ProScan will search up to three drives (as selected in THDINSTL) to
  1302.     find one which has enough free space to expand the archive to be tested.
  1303.     Testing will only be done if sufficient space is found.
  1304.  
  1305. - "Intelligent" installation which will attempt to do as much of the
  1306.   installation for you as is possible.
  1307.     The installation tries to find any file which it prompts for by name.
  1308.     If it finds a file by that name it will ask you if you want to use
  1309.     it and optionally allow you to insert the path to a different file.
  1310.     (in this way you are not limited as to the location of your utilities)
  1311.  
  1312. - Online help during the installation.
  1313. - Dos shell from the installation.
  1314.     While running THDINSTL, online help is available by pressing F1, a dos
  1315.     shell is available by pressing F2. and the installation can be aborted
  1316.     by pressing "CTRL-C".
  1317.  
  1318. - The configuration of THDPRO.EXE (from ver 6 or higher) can be used
  1319.   automatically.
  1320.     THDINSTL can import the configuration of any previous version of
  1321.     THDPRO.EXE (6.0 or later). You can then modify that configuration
  1322.     to suit your needs with this version.
  1323.  
  1324. - Will Virus scan all file types regardless of types configured.
  1325.     If THD ProScan is asked to test a non supported archive or a "normal"
  1326.     file, it will simply virus scan the file. In this respect it is
  1327.     a good idea to have all uploads tested by THD ProScan.
  1328.  
  1329. - Remove unwanted files from the archives tested (using name and/or CRC).
  1330.     Files can be removed from archives based on their name, their CRC
  1331.     or both. A more complete explanation is available under the heading
  1332.     "CRC MODE".
  1333.  
  1334. - Option to hang up on users who upload viruses.
  1335.     Sysops who are tired of users not virus scanning their software before
  1336.     upload may choose to drop carrier on those offenders.
  1337.  
  1338. - Option to reboot after a viral detection.
  1339.     You may also reboot after a viral detection. Although usually not
  1340.     necessary, It does make some people feel better.
  1341.  
  1342. - THD ProScan also supports a "fall back" to the original processing
  1343.     method. If an imbedded archive fails to expand for testing, THDPRO.EXE
  1344.     will fall back to the old method which extracts and tests each
  1345.     imbedded archive separately (thus requiring less space).
  1346.  
  1347. - No Known ways to "alter" the operation of your BBS through it's use.
  1348.     As stated this tester is designed with security in mind. I have done
  1349.     everything in my power to use the options best suited to that purpose.
  1350.  
  1351.                                                                   Page 26
  1352.  
  1353. - basic operation -
  1354. -------------------
  1355.  
  1356.     THD ProScan Version 10.0 has 3 distinct modes of operation. They are TEST
  1357. MODE, CRC MODE, CONVERT(-ONLY) MODE. Note also that conversion can be done on
  1358. the fly during testing, although this is currently only recommended for
  1359. persons running RA/TG/RG or FILES.BBS oriented BBS packages. (And only those
  1360. specific versions as listed below). Future versions and/or add-ons may add
  1361. the necessary functionality for other BBS'es to use this feature as well.
  1362. Each of the three modes is explained below.
  1363.     There is no way to change the "way" this scanner operates (without
  1364. hacking it) for a good reason. Even some of the most noted upload testers
  1365. make a very serious flaw in the way they handle uploaded archives. By not
  1366. allowing the user to change these settings, I avoid someone opening one of
  1367. those "all too evasive" back doors and hacking into your system. So please
  1368. don't ask me to change the parameters that this program uses. They are that
  1369. way for a reason. (I will of course be happy to change any that prove to be
  1370. incorrect or cause "real" problems).
  1371.  
  1372. - CRC mode -
  1373. ------------
  1374.  
  1375.                                  "CRC MODE"
  1376.                                  ----------
  1377.     Beginning with Version 9, THDPRO.EXE can also perform another function.
  1378. THDPRO.EXE can also create and/or update a CRC list (for use with the file
  1379. removal function). The proper syntax to invoke the CRC mode is...
  1380.  
  1381.          C:\UTILS\THDPRO.EXE CRC D:\WHATEVER\*.*
  1382.          {This would calculate the CRC values for all files in the
  1383.          directory "C:\WHATEVER" and add them to THDPRO.CRC. Wildcards are
  1384.          accepted in CRC mode only.}
  1385.  
  1386.     The use of CRC mode is intended specifically for use by those wishing to
  1387. remove files from archives based on the file's CRC value. In order to use
  1388. this ability, you must have chosen to use the CRC method of file removal
  1389. during the installation.
  1390.     To understand why you might choose to use CRC removal, you should
  1391. understand that a CRC is a calculation based on the "bytes" of a given file.
  1392. No matter what the file name is, the file will always have the same CRC.
  1393. (unless it is modified internally)
  1394.     You can use this to your advantage. If you constantly get files from a
  1395. BBS which always adds the same file to each of it's archives but has used
  1396. different names to avoid having them "easily" stripped. You can have these
  1397. files removed by using their CRC value rather than their name.
  1398.  
  1399.                                                                   Page 27
  1400.  
  1401.     For example, Rose Media in Toronto adds files called "READ.ME" to each of
  1402. it's archives. If that file exist, it is added as "READ-ME.". For obvious
  1403. reasons you might see why you wouldn't want to remove these these files by
  1404. their name. By running "THDPRO.EXE CRC READ.ME" on those files, THD ProScan
  1405. will calculate the CRC of that file and add it to a list of CRC values
  1406. (THDPRO.CRC) and thereafter remove those files regardless of their name while
  1407. not risking the removal of legitimate "READ.ME" files.
  1408.     You must (of course) have a copy of the file for THD ProScan to be able
  1409. to calculate its CRC value. The format of the list created is outlined in
  1410. detail in the section regarding file formats, later in this document. The
  1411. THDPRO.CRC file is generated and updated by THD ProScan through use of CRC
  1412. mode and never need be dealt with manually. This option is not active by
  1413. default and must be selected via the installation.
  1414.  
  1415. - Conversion and Convert-Only mode -
  1416. ------------------------------------
  1417.  
  1418.     THD ProScan Version 9.0 introduced a fully functional archive convertor.
  1419. This version can convert from any of the supported archive types to any of
  1420. ARJ/LHA/RAR/SQZ/UC2/ZIP file formats. It can be used interactively during
  1421. testing OR as a standalone conversion utility.
  1422.     What makes this convertor better than every file convertor I have seen is 
  1423. the simple ability to convert as well as THD ProScan tests. Quite simply,
  1424. this convertor will find archives that other convertors and testers simply
  1425. never see. In this respect it is the most complete archive convertor.
  1426. (*Note that some convertor with this ability may exist, but I have never seen
  1427. nor heard of it).
  1428.      This conversion mode offers special features to users of ...
  1429.  
  1430.     RemoteAccess 2.00 (or compatible)
  1431.     Telegard 2.7 (or compatible)
  1432.     Renegade 07-17-93 (or compatible)
  1433.     FILES.BBS (normal and SBBS extended format)
  1434.          -Note that compatible refers strictly to the file data base
  1435.          structures for each BBS type and that future versions of these
  1436.          BBS softwares are unlikely to remain compatible.
  1437.  
  1438.     Renegade and Telegard sysops might wonder why they should use this 
  1439. convertor to convert their archives, since their BBS already has provisions 
  1440. for file conversions. The answer is simple. Flexibility and full conversions. 
  1441. This convertor offers a number of conversion levels (as well as the ability
  1442. to create protected archives) and does the most complete conversion possible.
  1443. This is something these two BBS packages are unlikely to offer in the near
  1444. future.
  1445.  
  1446.                                                                   Page 28
  1447.  
  1448.     Version 9.1 adds a parameter for conversion mode which will stop THD from
  1449. deleting the original archive after conversion. The "/KO" switch (Keep
  1450. Original) will only be useful for BBS types which require the original
  1451. archive to be present at the end of conversion. TG/RG need this as they will
  1452. attempt to delete the original after a conversion and choke when it is not
  1453. there. Other BBS'es or processes may require similar measures.
  1454.     Conversion mode is invoked by use of a "convert indicator". These
  1455. indicators are as follows.
  1456.  
  1457.     TOARJ - TO CONVERT TO ARJ FORMAT
  1458.     TOLHA - TO CONVERT TO LHA FORMAT
  1459.     TORAR - TO CONVERT TO RAR FORMAT
  1460.     TOSQZ - TO CONVERT TO SQZ FORMAT
  1461.     TOUC2 - TO CONVERT TO UC2 FORMAT
  1462.     TOZIP - TO CONVERT TO ZIP FORMAT
  1463.  
  1464.     If any of these indicators are appended to THDPRO.EXE's command line,
  1465. then before a file comment is added, the file is converted to the type
  1466. specified. Conversion will of course only be done if the conversion type and
  1467. the original archive type are both configured in THDPRO.EXE for testing.
  1468.  
  1469.     To use this as a stand-alone convertor, you must first configure
  1470. THDPRO.EXE (using THDINSTL.EXE) and when invoking the convert line include
  1471. the switch "/CO". So the command lines would be as follows...
  1472.  
  1473.     THDPRO.EXE C:\TEST\TEST.ZIP TOARJ
  1474.          - this would test "TEST.ZIP" and thereafter convert it to an ARJ
  1475.            archive.
  1476.  
  1477.     THDPRO.EXE C:\TEST\TEST.ZIP /CO TOARJ
  1478.          - this would convert "TEST.ZIP" (without testing) to an ARJ archive.
  1479.  
  1480.     The convert indicators have a few variants. any of the convert indicators 
  1481. is capable of converting on 5 different levels.
  1482.  
  1483.     The five levels of conversion are as follows..
  1484.  
  1485.     default (no changes to the indicator)
  1486.          - Using the default level files will be converted ONLY if they have
  1487.            the correct extension for their archive type (lzh for LHA etc).
  1488.  
  1489.     LEVEL 0 (add a "0" to the convert indicator { TOZIP0 })
  1490.          - will convert ONLY the main archive (no imbedded conversions).
  1491.  
  1492.     LEVEL 1 (add a "1" to the convert indicator { TOZIP1 })
  1493.          - will convert ONLY files which have the correct extension for their
  1494.            type AND are NOT the archive type to be converted to.
  1495.            This level will not repack a zip when converting to zip.
  1496.  
  1497.     LEVEL 2 (add a "2" to the convert indicator { TOZIP2 })
  1498.          - Will convert files if the have the correct extension OR the
  1499.            extension "EXE".
  1500.  
  1501.                                                                   Page 29
  1502.  
  1503.     LEVEL 3 (add a "3" to the convert indicator { TOZIP3 })
  1504.          - will convert any testable archive type regardless of it's extension
  1505.            or present archive type. This is also the ONLY level which will
  1506.            convert "AV" protected "ZIP" files or "secure" "ARJ" packets.
  1507.  
  1508.                               ** NOTE **
  1509.           "TOZIP3" would be used to convert all supported archive types
  1510.     to the ZIP format without regard for their extension, present archive
  1511.     type, or AV protection.
  1512.  
  1513.          "TOARJ2" would be used to convert any supported archive type with the
  1514.     proper extension or an extension of "EXE" to the ARJ format.
  1515.  
  1516.          "TOSQZ1" would be used to convert only archive types other than SQZ,
  1517.     and ONLY if they have the correct extension for their current archive
  1518.     type.
  1519.  
  1520.          "TOZIP0" would be used to convert only the main archive while leaving
  1521.     all imbedded archives in their original archive format (for compatibility
  1522.     with some installation programs which will require a specific format to
  1523.     install).
  1524.  
  1525.          "TOLHA" would be used to convert ALL supported archive types to LHA
  1526.     format only if they have the correct extension for their current type.
  1527.  
  1528.     The above switches apply in both test mode and Convert-Only mode.
  1529.                             ** end note **
  1530.  
  1531.     When run in Convert-Only mode (/CO) THD ProScan will still strip the
  1532. comment and add your proprietary comment. This is done to ensure that ansi
  1533. bombs are not loaded during the conversion (note that when THD uses the
  1534. window effect, ansi is not supported. However on some machines this window
  1535. may not be supported and the standard console, which does support ansi, will
  1536. be used). This feature could be used to replace comments only by using level1
  1537. and converting to the same archive type as the original (since no conversion
  1538. would actually take place).
  1539.     The conversion feature of THD ProScan will not cause THDPRO.EXE to exit
  1540. with a non-zero errorlevel (in test mode). If testing is passed and
  1541. conversion fails, the errorlevel returned will be "0".
  1542.     In Convert-Only mode, THDPRO.EXE will return "0" for a successful
  1543. conversion and "1" for an failed conversion.
  1544.  
  1545.     At the completion of a successful conversion, the original file is
  1546. deleted. IF you are running RemoteAccess 2.00 (or equivalent) and have
  1547. configured THDPRO.EXE to add file descriptions, then the name will be updated
  1548. in your FDB.
  1549.     THD ProScan can also update the names in the TG and RG and FILES.BBS
  1550. bases following a successful conversion. HOWEVER note that no name changes
  1551. will be done for TG/RG when the file is the result of a batch upload. It
  1552. cannot be done because the file name is not inserted into the BBS databases
  1553. until after a successful file test.
  1554.  
  1555.                                                                   Page 30
  1556.  
  1557.     If you are not running one of these BBS types then descriptions and
  1558. filenames will NOT be updated in your BBS program's data bases.
  1559.     It is therefore suggested that unless you are running one of these BBS
  1560. types DO NOT CONVERT DURING TEST MODE. Instead, use the Convert-Only mode
  1561. (after testing) to convert your files. (This does not apply if you are using
  1562. the convertor to repack archives of the same type.)
  1563.  
  1564.     As a side note, all conversions are done in maximum compression mode for
  1565. any archive types which support it.
  1566.  
  1567.     Sysops of the supported BBS types should convert during testing ONLY if
  1568. they have configured THD ProScan to acknowledge that they are indeed running
  1569. one of the supported BBS'es. These sysops can use the following command line.
  1570. (Note that this only applies where the filename will be in the base to be
  1571. modified. THD does not add new entries to any of the supported types.)
  1572.  
  1573.     THDPRO.EXE {drive:\path\filename.ext} {convert indicator}
  1574.  
  1575.     The following command line is recommended for BBS type's which support
  1576.     single stage conversions.
  1577.  
  1578.     THDPRO.EXE {drive:\path\filename.ext} /CO {convert indicator}
  1579.  
  1580.     For BBS programs which depend on 2 stage conversions, I suggest that
  1581. stage 1 run "THDPRO.EXE" with no parameters (this will return an errorlevel
  1582. of "0" allowing the program to move to the second stage). Then use the
  1583. command line above (for single stage conversions) for stage 2.
  1584.  
  1585.     One final ability of "conversion mode" is the ability to create "SECURE"
  1586. packets with ARJ and/or "AV" packets with PKZIP. If you have a registered
  1587. copy of one (or both) of these programs, you can opt to have THD ProScan
  1588. create these "protected" archives.
  1589.     This will be done through the use of environment variables.
  1590.  
  1591.     For "AV" protected zip archives you must set an environment variable of
  1592.  
  1593.     THDZIP=TRUE
  1594.     or
  1595.     THDZIP={drive:\path\to\your\AVEXTRA.TXT}
  1596.          This entry will be required if you wish the AVEXTRA.TXT information
  1597.          inserted into your finished archive.
  1598.  
  1599.     If THD ProScan finds this variable defined as above it will send the
  1600. command line to create an "AV" protected ZIP file (you must also configure
  1601. THD ProScan to use the registered version of PKZIP)
  1602.  
  1603.                                                                   Page 31
  1604.  
  1605.     For "Secured" ARJ archives you must set an environment variable of
  1606.  
  1607.     THDARJ={drive:\path\to\your\security.key}
  1608.  
  1609.     DO NOT include ANY switches... JUST the path and filename of your
  1610. security key file. THDPRO.EXE will supply the necessary switches to use the
  1611. security key. Be sure to include the full drive path and filename in this
  1612. variable. (And THD ProScan must of course be using the registered ARJ).
  1613.  
  1614. - Test mode -
  1615. -------------
  1616.  
  1617.     The operation of the scanner could not be simpler. You need simply run
  1618. THDPRO.EXE while supplying it with the FULL path and filename of the file to
  1619. be tested. I STRONGLY suggest that you also supply the full path and filename
  1620. to THDPRO.EXE as well (not necessary but it too can help to reduce hacking).
  1621. So the proper syntax would be as follows...
  1622.  
  1623.     C:\UTILS\THDPRO.EXE D:\NEWUPS\TESTFILE.ZIP
  1624.     {Where THDPRO is located in "C:\UTILS" and the file to be tested
  1625.     is "TESTFILE.ZIP" which is located in "D:\NEWUPS"}
  1626.  
  1627.     The tester optionally accepts a comport # as a parameter. That parameter
  1628. can be a single digit between 0 and 8. This parameter is the number of the
  1629. comport to be used for remote output and is only necessary if you wish output
  1630. to a comport other than the one specified during the install. Using "0" will
  1631. not send any remote output. Numbers between 1 and 8 will send to the comport
  1632. of the corresponding number. If run without parameters, It will simply
  1633. display the correct syntax. ERRORLEVEL 0 will be returned in any event where
  1634. a file is not tested (to avoid the BBS software deleting files due to
  1635. improper syntax).
  1636.  
  1637.     While geared toward the testing of archived files, The tester will virus
  1638. scan any file type for which it is not configured. So having your BBS use
  1639. this tester to scan "EXE" and "COM" files is an excellent idea. (The addition
  1640. of "self extracting" testing makes this a good idea as well.) The passing or
  1641. failing of such files will be based solely on the result of the scan and no
  1642. other operations will be attempted on the file aside from the heuristic scan.
  1643. Any valid filename can be passed if you wish it to be "scanned". I suggest
  1644. that you configure your BBS to "test" all files with "executable" extensions
  1645. as well as any "OVL/OVR" files.
  1646.     IF your BBS allows it, testing of all uploaded files is recommended.
  1647.  
  1648.                                                                   Page 32
  1649.  
  1650.     This tester will exit with one of 10 DOS errorlevels.
  1651.     ERRORLEVEL 0   - All tests were passed satisfactorily.
  1652.                    - The scanner will also exit with this errorlevel under
  1653.                      a number of "odd" circumstances which will avoid having
  1654.                      a file fail due to some unforeseen difficulty.(This
  1655.                      includes failing to supply a proper path to the file to
  1656.                      be tested and a number of other small things)
  1657.     ERRORLEVEL 1   - An imbedded archive failed the CRC test.
  1658.                    - In Convert-Only mode this indicates a failure to convert.
  1659.     ERRORLEVEL 3   - The file has failed due to the date restriction.
  1660.     ERRORLEVEL 4   - The file was failed for being on the Hack list.
  1661.     ERRORLEVEL 5   - An imbedded archive failed the CRC test due to a disk
  1662.                      read error. (used by some BBS programs to determine if
  1663.                      the file is to be resumed later.)
  1664.     ERRORLEVEL 10  - A virus was detected during the "scan" (or optionally,
  1665.                      the heuristic scan).
  1666.     ERRORLEVEL 15  - The main archive failed the CRC test.
  1667.     ERRORLEVEL 103 - File access was denied for longer than 30 seconds
  1668.                      resulting in a premature abortion of testing. (Share
  1669.                      supported but not required.)
  1670.     ERRORLEVEL 233 - CRC testing was attempted on a nonexistent file (file
  1671.                      existed at start of testing and was deleted prior to
  1672.                      to the CRC calculation attempt - near impossible error)
  1673.     ERRORLEVEL 255 - A security breach. This error will occur any time a
  1674.                      needed executable file fails the CRC test prior to
  1675.                      execution. This will occur only with secure mode active.
  1676.  
  1677.     ** note - The sysop view is NOT identical to the user view and does not
  1678.     necessarily fully reflect what is seen on the user's side. It was deemed
  1679.     unnecessary to provide "complete" compliance with the user view, given
  1680.     the additional information available through the sysop view.
  1681.  
  1682. - Frequently asked Questions -
  1683. ------------------------------
  1684.  
  1685. Q.   How do I register this fine tester?
  1686. A.   Registration in the traditional sense is not required. However, if you
  1687.      really wish to do something for the author, The following is what I
  1688.      would like to see. Make the file FREE on your BBS (No Points/No Ratio).
  1689.      Make it FREQ'able if you are part of a net. If you are on a BBS that
  1690.      doesn't have it available, upload it there (ESPECIALLY foreign
  1691.      countries). If you have comments or suggestions, send them to me
  1692.      through Fidonet at 1:259/423 (attention David Muir). And above all, 
  1693.      encourage people to use it.
  1694.  
  1695.                                                                   Page 33
  1696.  
  1697. Q.   Do You Accept Donations?
  1698. A.   Beginning with Version 8, Yes. Prior to this version, I have fought off
  1699.      the urge to ask for Donations. However, comments from many people
  1700.      have made me reconsider. People wishing to donate to the...
  1701.      "Dave Needs a New Computer Fund" or the "THD Deserves an AT Fund"
  1702.      can send bank notes payable on a Canadian financial institution to...
  1703.      David Muir, 198 Leyton Ave, Scarborough, Ontario, Canada M1L 3V6
  1704.          Please note that any money sent will be considered a "GIFT" and
  1705.      is not "registration". THD ProScan remains free.
  1706.  
  1707. Q.   Why do all the files fail the SCAN?
  1708. A.   As noted in another area, SCAN.EXE by McAfee is becoming more and more
  1709.      memory intensive. As a result, persons who's BBS programs are not
  1710.      swapping their memory are finding that SCAN won't run effectively.
  1711.      If SCAN.EXE does not have sufficient memory to run, it returns an
  1712.      error. THD interprets an error from SCAN as a viral infection. To
  1713.      avoid this, either avoid using SCAN.EXE or make sure that your BBS
  1714.      (and any other resident programs) are leaving enough memory to run it.
  1715.      Usually having your BBS swap its memory, frees enough to run Scan.
  1716.  
  1717. Q.   Why is the UC2 format not supported?
  1718. A.   It was my intention to support the UC2 format. However, since UC2 does in
  1719.      fact not work on my machine (at all), I am unable to properly test the
  1720.      options from a security point of view. I'm also not terribly pleased with
  1721.      it's use of batch files to perform various functions (while I suspect I
  1722.      could work around these, it makes no difference if the archiver itself
  1723.      does not run on my system). For those of you who think this is selfish,
  1724.      I apologize, but I will not support a utility of which I cannot test the
  1725.      security. If and when another release of UC2 is made, I will again try to
  1726.      test it. Until then, the archiver will not be supported by THD ProScan.
  1727.  
  1728. Q.   THD ProScan runs fine locally but doesn't send any remote output, why?
  1729. A.   A common mistake for people is to not read the requirements of a given
  1730.      program. In this case the likely solution is to install the required
  1731.      Fossil driver and/or select the proper comport in the installation.
  1732.  
  1733. Q.   Can I stop THD from Moving/Renaming files?
  1734. A.   YES. With version 6 - 9, THDINSTL will accepted a parameter of "/NOMOVE"
  1735.      and altered the THDPRO.EXE file to not perform the move/rename
  1736.      operation. (In Version 10.0 this option must be toggled from the final
  1737.      configuration screen, since /NOMOVE is no longer supported.)
  1738.  
  1739. Q.   Why are the version numbers always ".0"?
  1740. A.   I have decided to stick with whole numbers for each new release. The
  1741.      "." is reserved for use in patch files as was the case with version
  1742.      5.1. At least this way, when you see version 7 you will know that there
  1743.      have not been 100 "point" versions before it. Also each version number
  1744.      used is accounted for in the HISTORY.DOC, as are all the bugs found and
  1745.      fixed to date.
  1746.  
  1747.                                                                   Page 34
  1748.  
  1749. Q.   Can I change the options used by SCAN.EXE or the archivers?
  1750. A.   NO!
  1751.  
  1752. Q.   Why not?
  1753. A.   The reason for making this tester in the first place was because of the
  1754.      way (literally all) other upload testers handled the options. Those
  1755.      who left them configurable, handed the BBS user keys to your system, as
  1756.      did most of those who did not let you configure them. The options I use
  1757.      in THD Proscan are the ones I would use IF I ran a BBS. THD is the ONLY
  1758.      tester I could not find a simple way to break into a BBS. If I allow
  1759.      the options to be modified, Then I allow people who do not know the
  1760.      methods used to break into BBSes a chance to turn my tester into a back
  1761.      door.
  1762.  
  1763. Q.   You always emphasize the "SAFE" aspect of this tester, Is it really
  1764.      that safe?
  1765. A.   I cannot say that there is no way to get past it. However, I can say
  1766.      that I have not been able to do so and have never heard of anyone doing
  1767.      so. I have however tested a number of other upload testers and been
  1768.      successful in EVERY attempt at getting past them. I am not saying that
  1769.      it is impenetrable, only that I don't know any way. But be warned...
  1770.      "Locks are for honest people. Real thieves can break into almost
  1771.      anything."
  1772.  
  1773. Q.   Why do I even need an upload tester?
  1774. A.   You don't... It is simply a convenient way to test files while the user
  1775.      is online. If you wish to test all files manually that is your option.
  1776.      If you wish to trust another tester, that too is your option. But if
  1777.      you are at all unsure as to the security offered by other testers, use
  1778.      this one. If you find a back door in my tester, tell me. I will fix it.
  1779.      If I can't, I will stop programming it.
  1780.  
  1781. Q.   What options DOES this tester use for the archives?
  1782. A.   Basically it uses those options required to recreate all subdirectory
  1783.      structures without allowing the use of the root directory. It does not
  1784.      allow any overwrites.
  1785.  
  1786. Q.   Why no overwrites?
  1787. A.   Many testers allow overwrites as a way to stop archivers from prompting
  1788.      the sysop, I simply create an environment where this will never occur.
  1789.      Allowing overwrites could let a virus get past the tester by having two
  1790.      files with the same name, My tester will expand both those files and
  1791.      test both those files, while some other testers will let the virus free
  1792.      file overwrite the infected file and lose the ability to detect the
  1793.      virus in the first one.
  1794.  
  1795. Q.   So no viruses get past this tester?
  1796. A.   No viruses that can be detected by your version of McAfee's Virusscan.
  1797.      Unknown viruses or viruses not yet detectable by your version of
  1798.      SCAN.EXE may still get by, but they are few and far between. Also in
  1799.      this version the heuristic testing can aid in detecting unknown
  1800.      viruses.
  1801.  
  1802.                                                                   Page 35
  1803.  
  1804. Q.   The Ansi screen takes too long. Can it be aborted?
  1805. A.   No. It is interactive and must complete in order for the indictors to
  1806.      make any sense. Users not wishing to see it could disable their own
  1807.      ansi, thus causing the ASCII output to occur.
  1808.  
  1809. Q.   Sometimes my users don't get the ansi screen. Why?
  1810. A.   The program allots a given amount of time to detect ansi on the remote
  1811.      system. If the remote does not respond in that time, it is assumed that
  1812.      they have no ansi capability. This detection time has been revised a
  1813.      number of times but will never guarantee that the remote does or does
  1814.      not have ansi active. If a user shells to use a protocol, then the
  1815.      terminal cannot answer the detection sequence until it is again active.
  1816.      In the meantime THD could timeout on the detection and send ASCII
  1817.      instead. Work is still ongoing to optimize that time span to allow most
  1818.      terminals to regain control.
  1819.  
  1820. Q.   My multinode BBS can pass the NODE number but not the port number.
  1821.      How do I get THD ProScan to understand which "PORT" to use?
  1822. A.   The easiest way to do this is to run THDPRO.EXE from a batch file.
  1823.      Have your BBS pass the "NODE" to the batch file and then have the batch
  1824.      file call THDPRO.EXE with the appropriate PORT number for that node.
  1825.      The following example would work for a BBS with node 1 using com2 and
  1826.      node2 using com3.
  1827.  
  1828.      @echo off
  1829.      CTTY CON
  1830.      IF "%2"=="1" C:\THD\THDPRO.EXE %1 2
  1831.      IF "%2"=="2" C:\THD\THDPRO.EXE %1 3
  1832.  
  1833.                ^node number use comport^
  1834.  
  1835.  
  1836.                                                                   Page 36
  1837.  
  1838.                                ---------------
  1839.                                - THDPLUS.EXE -
  1840.                                ---------------
  1841.  
  1842.     THDPLUS is a file database interface which supports FILES.BBS (standard
  1843. and SBBS extended formats), Telegard 2.7, Renegade 07-17 and RemoteAccess 2.00
  1844. and 100% compatible file bases. It processes a record created by THD ProScan
  1845. Version 10.0 (or later) called TESTINFO.DAT.
  1846.  
  1847. - command line syntax -
  1848. -----------------------
  1849.  
  1850. - ? -
  1851.     Running "THDPLUS ?" Will show an identification screen and instruct the
  1852. user to run without parameters.
  1853.  
  1854. THDPLUS.EXE
  1855.     - process the last 5 entries normally (entries properly processed are
  1856.       marked as "processed" in TESTINFO.DAT).
  1857.  
  1858. THDPLUS.EXE /ALL
  1859.     - Process all entries normally (entries properly processed are
  1860.       marked as "processed" in TESTINFO.DAT).
  1861.  
  1862. THDPLUS.EXE /REMOVE
  1863.     - Process all entries normally, and mark all entries as "processed" in
  1864.       TESTINFO.DAT, regardless of success or failure to import.
  1865.  
  1866. - Requirements -
  1867. ----------------
  1868.  
  1869.     TESTINFO.DAT must be located in the same directory as THDPLUS.EXE (which
  1870. is generally the case since THDPRO.EXE will create it in it's own directory
  1871. and it will only run THDPLUS if it too is that directory.)
  1872.  
  1873. - Operation -
  1874. -------------
  1875.  
  1876.     When THD imports a file into the TG file bases it will check the first
  1877. character in the description. If the first character is a letter or number,
  1878. THD will enter the description as "normal". If however the first character is
  1879. not a letter or number, THDPLUS will indent the first line by 5 spaces. The
  1880. hope is that descriptions which use "box" figures etc will be aligned by this
  1881. process (to preserve the "box" appearance).
  1882.     The exception is that the following characters are considered to be valid
  1883. "letters".
  1884.                                  ;:<>=?@
  1885.     The reason these symbols are counted as "letters", is simply due to their
  1886. place in the ASCII table (they occur between the valid numbers and letters).
  1887. Given that few descriptions are likely to begin with these characters (and
  1888. almost none that do would likely be representative of "box" figures), it was
  1889. simply easier to ignore them than to make exception for them.
  1890.  
  1891.                                                                   Page 37
  1892.  
  1893.     A "logic" is used to determine the lines for each of the fields in TG/RG
  1894. description which "could" on occasion backfire, resulting in inappropriate
  1895. looking descriptions. (I haven't run into any problems using the current
  1896. logic, but this logic was based only on examples I have available to me).
  1897.  
  1898.     The basic logic is that (for TG/RG) a file description containing CR/LF
  1899. will be considered to be a valid EndOfLine(EOL). Thus THDPLUS will strip any
  1900. CR/LF and end the line. If it does not encounter a CR/LF it will back up to
  1901. the nearest space character and end the line there. Where no space occurs in
  1902. the line, THDPLUS will split the line into 2 lines with the above conditions
  1903. (at 50 characters per line).
  1904.     THDPLUS can be run from the commandline to process unprocessed
  1905. TESTINFO.DAT files. TG/RG for instance should use this where "THDPRO DIZ" had
  1906. previously been recommended. As a side note, to maintain compatibility with
  1907. earlier versions, "THDPRO DIZ" will still function, but it will do so by
  1908. calling THDPLUS thus rendering it actually slower than simply running
  1909. THDPLUS.EXE.
  1910.     The only possible advantage to doing this is that THDPRO.EXE will verify
  1911. that it is running a PainSoft created version of THDPLUS where calling it from
  1912. a commandline does no such verification (in absence of a legitimate PainSoft
  1913. file THDPRO.EXE will do nothing more than show an opening screen and exit).
  1914.     No special considerations are given to the other BBS types. They are
  1915. imported "as is" into the appropriate file bases.
  1916.  
  1917.     Also TG sysops should be aware that THDPRO.DIZ will still work, but
  1918. simply running THDPLUS.EXE will be faster. All thdpro.diz files present on
  1919. TG systems should be processed prior to running this new system as the
  1920. THDPRO.DIZ file is no longer recognized or processed with this version.
  1921.  
  1922. - TESTINFO.DAT -
  1923. ----------------
  1924.  
  1925. - What is it? -
  1926.  
  1927.     TESTINFO.DAT is a new data file that will be created by THDPRO.EXE when
  1928. any BBS type (aside from "0") is selected during installation. The file
  1929. contains a multitude of information which can be used by third party
  1930. programmers who wish to interface THD with their own BBS. THDPLUS uses this
  1931. file to interact with the currently supported BBS types. The structures are
  1932. included in the archive for programmers who might wish to make use of it.
  1933.  
  1934. - Why is it? -
  1935.  
  1936.     The format was created for two reasons. First it offered an opportunity
  1937. for me to remove the description code from the actual THDPRO.EXE file
  1938. (resulting in lower overhead for those whose BBS'es not yet supported).
  1939.     Secondly it gives others a chance to interface THD with their BBS programs
  1940. via third party utils. The file is formatted so that these third party
  1941. utilities can get the information they need in a quick and efficient manner.
  1942.     By moving these these structures out of THDPRO.EXE it also allows me to
  1943. create specific interfaces for other BBS types without needing to update the
  1944. entire THD package.
  1945.  
  1946.                                                                   Page 38
  1947.  
  1948. - How does THDPRO use it? -
  1949.  
  1950.          THD ProScan uses it by creating the file during it's running time,
  1951. and calling THDPLUS to process the file. THDPRO.EXE performs the maintenance
  1952. (removing processed records and or deleting unneeded files), while THDPLUS
  1953. records in the file when it has been processed. Under all normal
  1954. circumstances, THDPRO.EXE will run, process and remove the file, prior to the
  1955. completion of the test.
  1956.     However with TG/RG where the file will not yet be present in the data
  1957. base, this file will be updated and left on the disk for processing on the
  1958. next run (or manually by running THDPLUS).
  1959.  
  1960. - How can others use it? -
  1961.  
  1962.     The file itself is designed with third party programmers in mind (THD
  1963. makes use of only a very few fields). The information recorded in this data
  1964. file can be accessed by third party programmers by having the user set his BBS
  1965. Type to "O" (Other) in the installation. THD will then process the record and
  1966. the third party utilities can extract the needed information from that record
  1967. and perform file base updates based on that information. (sounds confusing,
  1968. but programmers who look at the structures ought to be able to figure it out
  1969. <G>).
  1970.     The file is designed with programmers in mind and does not contain data in
  1971. any form useable by non-programmers.
  1972.  
  1973.  
  1974.                                                                   Page 39
  1975.  
  1976.                                ---------------
  1977.                                - THDTERM.EXE -
  1978.                                ---------------
  1979.  
  1980. - General Information -
  1981. -----------------------
  1982.  
  1983.     This is an excellent tool for sysops as well as users. For a sysop, it 
  1984. will allow them to use THD ProScan Version 5+ with their fossil active    
  1985. without attempting to send output over the modem. Thus making it the perfect
  1986. tool for a sysop or user to test his/her downloads.
  1987.     Compressing the executable is recommended for space purposes and has no
  1988. adverse affect on the operation. However, Note that it must be configured
  1989. before it is compressed and that it cannot be configured or reconfigured in
  1990. it's compressed state.
  1991.     For users in general it provides the same security that many sysops have 
  1992. become accustomed to.
  1993.     Needless to say, THDPRO.EXE will need to be configured properly before 
  1994. this program will be of any use.
  1995.     Reasons for failure are not reported by this program, but all such 
  1996. instances should be accounted for in your THDPRO.LOG created by THD ProScan.
  1997.     With the exception of possible runtime errors, this program will ALWAYS
  1998. exit with errorlevel "0". The only indicators left by this program will be
  1999. the presence of the tested files in the Pass or fail directory. In keeping
  2000. with the tradition of THD ProScan, this program will NOT delete files for any
  2001. reason. Files are left for you to do with as you choose.
  2002.  
  2003.     This program was outwardly inspired by THDPRO TERMINAL EXTENSION. A 
  2004. program created for the same basic purpose as this one.
  2005.  
  2006. - command line syntax -
  2007. -----------------------
  2008.  
  2009.     THDTERM accepts 3 parameters. Default is to run THDTERM with no
  2010.     parameters to process "as configured".
  2011.  
  2012.     - 0-8
  2013.          A single digit from 0 to 8 which represents the comport to which it
  2014.          should have THDPRO.EXE send it's output. the default is to use "0"
  2015.          which will cause THDPRO.EXE to run in local mode. A comport is always
  2016.          sent to THDPRO.EXE, even if none is supplied.
  2017.                    
  2018.     - /C (configure)
  2019.          If run as THDTERM.EXE /C, This will cause THDTERM to enter
  2020.          configuration mode. Configuration mode simply prompts you for 4
  2021.          things and configures the executable file to use those values from
  2022.          that point on. Configuration mode is the default the first time this
  2023.          program is run, and this switch should be used if you wish to
  2024.          reconfigure it at a later time.
  2025.  
  2026.                                                                   Page 40
  2027.  
  2028.     - /S (source directory)
  2029.          Running THDTERM.EXE /S {drive:\source\dir\to\test} will cause
  2030.          THDTERM to process the supplied directory instead of the internally
  2031.          configured directory. Also, when run with the "/S" parameter, moving
  2032.          of "passed" files is suppressed, and only those files which fail are
  2033.          moved (to the fail directory).
  2034.  
  2035. - Requirements -
  2036. ----------------
  2037.  
  2038.     THDTERM requires a configured copy of THDPRO.EXE and about 2k of memory
  2039. above that which will be required by THDPRO.EXE. As well, since it runs
  2040. THDPRO.EXE, it also requires the same things required by that program. If you
  2041. can run THDPRO.EXE normally and have an extra 2k of memory, then you have met
  2042. the requirements.
  2043.  
  2044. - Configuration -
  2045. -----------------
  2046.  
  2047.     The first time THDTERM.EXE is run it will automatically prompt you for 4 
  2048. things. (no parameters need to be supplied on the first run)
  2049.     You will be prompted for the following...
  2050.  
  2051.     Path to THDPRO.EXE
  2052.     Path to the directory containing the files to be tested.
  2053.     Path to the directory for passed files.
  2054.     Path to the directory for failed files.
  2055.  
  2056.     ALL of these paths MUST exist prior to the configuration. As mentioned 
  2057. above it can be reconfigured by running "THDTERM.EXE /C".
  2058.  
  2059. - Function -
  2060. ------------
  2061.  
  2062.     Functionally speaking THDTERM doesn't actually "do" a whole lot. It's     
  2063. purpose is entirely single minded. It is designed to replace a simple dos     
  2064. "for..in..do.." statement. Meaning that it runs THDPRO.EXE on each file in
  2065. the default directory (or alternately the supplied "source" directory).
  2066.     The advantage to using THDTERM is singular. It runs THDPRO.EXE on each 
  2067. file, and moves it (in default mode) to either the pass or fail directory, 
  2068. depending on whether it passes or fails testing by THDPRO.EXE.
  2069.     The singular advantage to this method is that it will never duplicate a 
  2070. test as might be seen by a dos for..in..do.. statement and it provides a     
  2071. little error checking prior to moving any files.
  2072.     Basically it is a glorified batch file.
  2073.  
  2074.                                                                   Page 41
  2075.  
  2076. - Features -
  2077. ------------
  2078.  
  2079.     None to speak of. It serves a very basic purpose in a very basic way.
  2080. This program should be used where you might like to use wildcards with
  2081. THDPRO.EXE but are unable to.
  2082.  
  2083. - Basic Operation -
  2084. -------------------
  2085.  
  2086.     Basic operation is achieved by configuring the program and running 
  2087. THDTERM.EXE. This will cause it to run THDPRO.EXE on each file in the default 
  2088. (or alternately the "source") directory. Files will be "moved" to the 
  2089. directories internally configured depending on whether THDPRO.EXE passes or 
  2090. fails them.
  2091.  
  2092. - THDTERM and Filedoor -
  2093. ------------------------
  2094.  
  2095.     THDTERM now accepts a comport as a parameter. As with THDPRO.EXE, the     
  2096. comport must be the last parameter and must be a number between 0 and 8. If 
  2097. supplied with a comport, THDTERM will tell THDPRO.EXE to use that comport 
  2098. instead of "0" which it uses by default.
  2099.     This modification will allow Filedoor users to use THDTERM to run     
  2100. THDPRO.EXE while still sending the remote output to the user. Those sysops
  2101. should have their exitafteruploads command as follows.
  2102.  
  2103.     ExitAfterUpload1 C:\THDPRO\THDTERM.EXE /S $U $P $M $N
  2104.  
  2105.     I also recommend that the "exitmask" not be defined and that THDPRO.EXE
  2106. be expected to test ALL uploads.
  2107.     Note... I do not use Filedoor myself and have based the above strictly on
  2108. the documentation for that program. Some modification may be necessary.
  2109.  
  2110.     Also note that, newer versions of filedoor may not work as described here 
  2111. and may in fact be able to pass the filename as required by THDPRO.EXE. 
  2112. Versions capable of passing the filename should use THDPRO.EXE for this 
  2113. purpose and not THDTERM. Use THDTERM only in those instances where file names
  2114. cannot be supplied.
  2115.  
  2116.  
  2117.                                                                   Page 42
  2118.  
  2119.                                ---------------
  2120.                                - THDDEMO.COM -
  2121.                                ---------------
  2122.  
  2123. - Purpose -
  2124. -----------
  2125.  
  2126.     THDDEMO.COM serves two purposes. The first is to show you the user side 
  2127. view of what THDPRO.EXE does from the remote perspective. This can be
  2128. accomplished by running THDDEMO with no parameters. When run, it will
  2129. randomly choose and display one of three internal screens along with an
  2130. "emulation" of how that screen changes from the remote point of view during
  2131. an actual test.
  2132.     The second purpose is to give you a preview of what your custom ansi
  2133. screen will look like to the remote user. The makeup of custom screens is
  2134. discussed below in the section regarding THDPRO.AN? and PAINSOFT.AN? files.
  2135.     THDDEMO.COM can be used to preview your ansi with the THD test screen.
  2136. Use this to see if your ansi will be displayed correctly to the remote users.
  2137. Typing "THDDEMO.COM" will show you the "traditional" THD Ansi screen. Typing
  2138. "THDDEMO.COM" followed by the path to YOUR ansi file will show you what your
  2139. ansi will look like to the remote user.
  2140.     THDDEMO.COM is purposely crippled to not properly display ansi which
  2141. exceeds 70 characters per line. This is to ensure that your ansi will remain
  2142. compatible with the majority of user's systems. If your ansi looks fine
  2143. through the demo, it will almost definitely be fine on the remote end.
  2144.  
  2145.     THDDEMO accepts a filename to be displayed as a remote user would see it
  2146. during operation. If the file is "PAINSOFT.AN?" (where the ? is any
  2147. character), the file will be displayed as a PAINSOFT formatted file. Any
  2148. other filename will be displayed as a THDPRO file.
  2149.     The differences between the two formats are discussed in detail below.
  2150.     When testing a PAINSOFT formatted file, THDDEMO accepts /C as a parameter
  2151. (optionally) which allows you to view the various the colour settings of the
  2152. THD header portion of the output. This option is better explained in the
  2153. PAINSOFT files category below.
  2154.  
  2155.  
  2156. - ANSI files -
  2157. --------------
  2158.  
  2159.     THD ProScan has direct support for two types of sysop supplied ANSI.
  2160.     The first is an ANSI CORNER. An ansi-corner for the purposes of this 
  2161. program will be considered a non-interactive ansi which will be displayed 
  2162. during testing to the remote user in the upper left corner of his/her screen. 
  2163. It can be 35 characters wide and 16 characters high.
  2164.     Files of this type will be named THDPRO.AN?, where the "?" represents a 
  2165. number from 1 to 9.
  2166.  
  2167.                                                                   Page 43
  2168.  
  2169.     The second ANSI is a full screen interface. It may use the entire screen
  2170. EXCEPT for the top two lines which are reserved by THDPRO.EXE for self
  2171. identification purposes. This file is not a "true" ansi screen in that it
  2172. will contain an ansi image and a number of "interaction lines" to be sent as
  2173. required by THDPRO.EXE. These files will be called "PAINSOFT.AN?", where the 
  2174. "?" represents a number from 1 to 9.
  2175.  
  2176.     First, you must understand that THDPRO.EXE will search for these files in
  2177. numerical order and as soon as one is not found, it will be assumed that no
  2178. higher numbers exist. That is to say that if THDPRO.AN1 does not exist,
  2179. THDPRO.EXE will NOT search for other THDPRO.AN? files. If it finds THDPRO.AN1
  2180. and THDPRO.AN2 but not THDPRO.AN3, it will stop searching and assume there
  2181. are only the two "THDPRO.AN?" files to choose from. It will then begin a
  2182. search for the "PAINSOFT.AN?" files using the same rules.
  2183.     Also, these "ANSI" files will ONLY be found IF they are located in the
  2184. same directory as THDPRO.EXE. (that is, the copy of THDPRO.EXE that is
  2185. actually performing the test). If they are not located in the same directory,
  2186. THDPRO.EXE will simply assume that they don't exist.
  2187.     These (up to 18) additional files will be displayed at random along with
  2188. the 3 original screens internal to THD ProScan.
  2189.  
  2190.     Ansi output (PAINSOFT.AN? and THDPRO.AN? files) should ALWAYS be tested
  2191. using THDDEMO.COM before being used. THDDEMO will show you EXACTLY what the
  2192. user will see and aid you in fine tuning your ansi files.
  2193.  
  2194.           SAMPLES OF BOTH OF THESE TYPES OF SCREENS ARE INCLUDED IN
  2195.                                "THDANSI.ZIP"
  2196.  
  2197.  
  2198. - THDPRO.AN? files -
  2199.  
  2200.     Your THDPRO style custom ansi's can use the top/right corner (a box 35 
  2201. characters wide by 16 high). That portion of the screen will be left
  2202. untouched when the test portion of the ansi is displayed immediately
  2203. following. The acceptable co-ordinates for your ansi are bound by position
  2204. "1,1" and "16,35". The rest of the display will be used by THDPRO.EXE.
  2205.     The ansi "line length" cannot exceed 70 characters per line, or they will 
  2206. NOT be displayed. The total number of lines is not important.
  2207.     Note that the "Registered to BBSname" message is NOT displayed to the 
  2208. remote when a user defined ansi is used. This is done to free up that space 
  2209. for your use. You should keep that in mind when designing your ansi corners.
  2210.  
  2211.                                                                   Page 44
  2212.  
  2213. - PAINSOFT.AN? files -
  2214.  
  2215.     First a note. The use of PAINSOFT.AN? is a delicate and involved process. 
  2216. If you do not understand the workings of ansi drawing (and the code itself) I 
  2217. suggest you not even attempt to use this file. This file will be a "complete" 
  2218. ansi test screen and NOT an ansi corner. It will contain a main body ansi 
  2219. screen, followed by a number of "data" ansi lines that will be displayed as
  2220. discussed below. The format for a usable ansi of this format will follow the
  2221. following conventions.
  2222.     IT must not use the two top lines of the screen. These are reserved by
  2223. THDPRO.EXE and will be rewritten immediately following each section of ansi
  2224. from the user's file. In this way it will never be over written by the user's
  2225. ansi.
  2226.     The first "section" of the ansi file should contain the basic screen
  2227. image which is to be sent to the user BEFORE testing begins (Usually a screen
  2228. with blanks to be filled as testing proceeds).
  2229.     The second section will be marked by a line (immediately following the
  2230. "main" section) with only the text ENDANSI (IN CAPITAL LETTERS). This will
  2231. signal the next series of commands are for filling in the test prompts. The
  2232. next section will consist of 19 ansi strings each of which will indicate a
  2233. certain process occurring. An optional final line can define the foreground
  2234. and background colours of the THD identification header. in order, they are..
  2235.  
  2236.     indicator clearing line 1
  2237.     indicator clearing line 2
  2238.     the CRC test is starting
  2239.     the CRC test was passed
  2240.     the CRC test was failed
  2241.     the file is being expanded
  2242.     the file expanded okay
  2243.     the file did NOT expand okay
  2244.     the file is being virus scanned
  2245.     the file passed virus scanning
  2246.     the file failed virus scanning
  2247.     the work space is being cleared
  2248.     clearing of workspace is complete.
  2249.     expanding for conversion
  2250.     passed expansion for conversion
  2251.     failed expansion for conversion
  2252.     rearchiving for conversion
  2253.     passed rearchiving
  2254.     failed rearchiving
  2255.     foreground/background colour definition (optional)
  2256.  
  2257.  
  2258.     None of these strings may exceed 70 characters.
  2259.  
  2260.                                                                   Page 45
  2261.  
  2262.     The first two lines are for clearing the "indicators". If you are using
  2263. "blocks" or other characters to display the testing, they should be "reset"
  2264. or cleared before the testing of imbedded archives begins. These first two
  2265. lines are for that purpose. These two lines could also be used to erase
  2266. "text" and start again. They will be displayed immediately before the CRC
  2267. test begins. There is no need to "clear" any of the "Fail" indicators as the
  2268. testing would stop if any fail occurs. (with the possible exception of the
  2269. SCAN failure which can be skipped if THDPRO.EXE is configured to pass
  2270. heuristic failures). If you are not sure how to use them... leave them as
  2271. empty lines.
  2272.     The third string (The CRC test starting string) could also be used to
  2273. clear the "pass" indicators (if the 2 indicator clearing lines are not
  2274. enough). So they will be cleared as the testing of internal files begins.
  2275.     IF any of those strings is to be unused, a blank line MUST be entered in
  2276. it's place. Imbedded testing will use the same indicators as the main file
  2277. testing. So only one set of indicators will be required. (Unlike the internal
  2278. ansi and ansi corners discussed above which have separate main and embedded
  2279. indicators).
  2280.     The final configurable string is an optional colour configuration for the
  2281. THD identification header (shown at the top of the screen when using
  2282. PAINSOFT.AN? files). The format for this line is "EXACTLY"...
  2283.  
  2284.     FOREGROUND=# BACKGROUND=#
  2285.  
  2286.     where "#" - represents the colour number according to the following
  2287.  
  2288.     0 = black
  2289.     1 = red
  2290.     2 = green
  2291.     3 = yellow
  2292.     4 = blue
  2293.     5 = magenta
  2294.     6 = cyan
  2295.     7 = white
  2296.  
  2297.     0 (black) may be used as a background colour ONLY. Foreground colours will
  2298. always be high intensity and background colours will always be low intensity.
  2299. Both colours MUST be defined or the display will default to YELLOW on RED.
  2300. (foreground must be specified first).
  2301.     The "TESTING - FILENAME.EXT" will always be high intensity white in the 
  2302. header.
  2303.     To "sample" the various headers available, THDDEMO now allows the use of
  2304. a parameter "/C". (This parameter must be "after" the filename on the command
  2305. line.) If this parameter follows the name of a PAINSOFT.AN? file it will
  2306. display the "main" ansi portion and sit. At this point you may scroll through
  2307. the various foreground and background colours by hitting either "F" or "B".
  2308. when you have decided on a combination that goes well with your main body
  2309. ansi, hit <ESC>. THDDEMO will then exit, clear the screen, and report the
  2310. foreground and background colours that were displayed just before you exited.
  2311.  
  2312.                                                                   Page 46
  2313.  
  2314.     ie. THDDEMO PAINSOFT.AN4 /C
  2315. would display the PAINSOFT.AN4 ansi file with the THD ID header, from there 
  2316. press "F" or "B" to change the foreground and/or background colours until you 
  2317. find a combination that you like. Hit esc and it will display the correct 
  2318. "colour definition line" to insert in the file to achieve the colours that
  2319. you have selected. (Note that this only works with PAINSOFT files since the
  2320. THDPRO files do not display the ID header).
  2321.  
  2322. - PAINSOFT.ANS -
  2323.  
  2324.     PAINSOFT.ANS is a special case. If Found, PAINSOFT.ANS, will always be
  2325. used instead of ANY other ansi.
  2326.     Painsoft.ans follows the same creation and viewing guidelines as
  2327. described above for PAINSOFT.AN? files. You may use this file to force the
  2328. same output on every file test. While boring, I'm sure some of you will find
  2329. it useful.
  2330.     In English... If PAINSOFT.ANS exists in the same directory as THDPRO.EXE
  2331. then all random screen selection is bypassed and PAINSOFT.ANS is always sent
  2332. to the remote, regardless of the other ansi files present.
  2333.  
  2334.                                                                   Page 47
  2335.  
  2336.                                 ------------
  2337.                                 - COMMENTS -
  2338.                                 ------------
  2339.  
  2340.  
  2341. - THD ProScan's custom / configurable comment control -
  2342. -------------------------------------------------------
  2343.  
  2344.     THD ProScan offers what is likely the most configurable comment option 
  2345. available in any upload tester. In some cases, this configurability comes at
  2346. a cost. Some of the options are very complex to set up and understand.
  2347.     Notably commenting by area is not a simple task to set up for most
  2348. people. Random comments can be confusing. Keyword replacement however is
  2349. more or less relatively simple.
  2350.  
  2351. - Randomly selected comments -
  2352. ------------------------------
  2353.  
  2354.     THD ProScan can be configured to select a comment at random from a list
  2355. of comments. This option must be selected in THDINSTL and is not the default.
  2356.     These comment files may have any legal dos filename and are simply to be 
  2357. arranged in a list format of one filename per line followed immediately by a 
  2358. carriage return/line feed (hitting enter in most editors accomplishes this).
  2359.     Such a list might look like this...
  2360.  
  2361.               C:\HEADERS\RANDOM1.TXT
  2362.               C:\HEADERS\RANDOM2.TXT
  2363.               C:\HEADERS\RANDOM3.TXT
  2364.               C:\HEADERS\RANDOM4.TXT
  2365.               C:\HEADERS\RANDOM5.TXT
  2366.               C:\HEADERS\RANDOM6.TXT
  2367.               C:\HEADERS\RANDOM7.TXT
  2368.               C:\HEADERS\RANDOM8.TXT
  2369.               C:\HEADERS\RANDOM9.TXT
  2370.               C:\HEADERS\RANDOM10.TXT
  2371.  
  2372. - Comment by area -
  2373.  
  2374. - theory
  2375.  
  2376.     This "random" list can also be used to cause files in certain areas to be 
  2377. given a specific comment.
  2378.     This will be useful for persons who wish to emphasize certain aspects of 
  2379. their BBS. You could for instance cause all files in your "programming" area
  2380. to be marked with a comment file that tells people about your "Programming"
  2381. conference and guidelines. Or perhaps you allow free download of BBS
  2382. utilities and want to insert a comment in those archives to let people know
  2383. that BBS Utilities are free on your BBS. Whatever your reason.
  2384.  
  2385.                                                                   Page 48
  2386.  
  2387. - setting it up
  2388.  
  2389.     The method is as follows.
  2390.  
  2391.     To cause THDPRO.EXE to insert a specific comment in a specific area, you
  2392. must select in THDINSTL to use a "list" of file comments. You must then
  2393. create that list. In our example the file will be called "COMMENT.LST".
  2394.      A "specific" comment line in this file will consist of...
  2395.  
  2396.     "IF" {QUALIFIER} {COMMENT}
  2397.  
  2398.     [note that the entire line must be capital letters]
  2399.  
  2400.     A "qualifier" is a string of text which will be looked for in the path to
  2401. the file being tested. It need not match the path exactly... But rather if
  2402. the "qualifier" is contained in the path then it will be considered a match.
  2403.     As an example. "C:" as qualifier would match every file in every
  2404. directory on drive "C". (Since the text "C:" would be found in the path to
  2405. any file on that drive). "C:\BBS" as a qualifier would match any file found
  2406. in the "C:\BBS" directory or any of it's subdirectories.
  2407.     And "C" as a qualifier would match EVERY path that has a "C" anywhere in
  2408. it.
  2409.  
  2410.     A random comment will only be used when a matching qualifier is not
  2411. found. To use ONLY random comments, simply make a list of headers with no
  2412. "IF" or {QUALIFIER}.
  2413.  
  2414.     Sample "COMMENT.LST" (using only specific area comments)
  2415.  
  2416.          IF   C:\BBS\DLS\PROGUTIL  C:\HEADERS\UTILHEAD.TXT
  2417.          IF   C:\BBS\DLS\BBSUTIL   C:\HEADERS\BBSHEAD.TXT
  2418.          IF   C:\BBS\NORATIO       C:\HEADER\FREE.TXT
  2419.          IF   C:                   C:\HEADERS\BBSAD.TXT
  2420.          IF   D:\MYUTILS           C:\HEADERS\MYHEAD.TXT
  2421.          IF   D:\SYSOP             C:\HEADERS\PERSONAL.TXT
  2422.  
  2423.     In the list above, the "IF"'s, qualifiers, and headers are separated in a 
  2424. column arrangement so that you can better distinguish them. This is for your 
  2425. benefit and is not required. They must be separated by at least a single
  2426. space (although a column arrangement as shown above will also be acceptable
  2427. as long as the entries are separated by "spaces", not by "tabs").
  2428.     The "IF" statements must ALL be before the random selection list.
  2429.     The lines without "IF" statements are comments which are to be chosen
  2430. from at random when there are no matching qualifiers.
  2431.  
  2432.     When looking for a comment, THDPRO.EXE will look for the FIRST matching
  2433. "qualifier" (that is the text following the "IF" statement above). In this
  2434. regard a "match" is any qualifier which can be found in the path of the file
  2435. being tested.
  2436.     If the qualifier is contained in the path to the file to be tested, 
  2437. THDPRO.EXE will stop looking for a comment and use the first match.
  2438.  
  2439.                                                                   Page 49
  2440.  
  2441.     In the above example you will notice that "C:" (the qualifier for the
  2442. fourth line) is contained in each of the first four qualifiers. IF it were
  2443. put as the first line, then THDPRO.EXE would use "C:\HEADERS\BBSAD.TXT" for
  2444. every file on drive "C". Since "C:" would be found in any file in "C:\BBS".
  2445.     So in this respect you must make sure that the order in which you place
  2446. the qualifiers will not conflict with any later qualifiers. That is, a
  2447. qualifier must NEVER fully contain a qualifier which appears before it in the
  2448. list. (ie. "C:\BBS\TEST" must appear before "C:\BBS" in the list).
  2449.     IF THDPRO.EXE cannot find a matching qualifier it will chose at random a
  2450. comment from the entries appearing without "IF" statements.
  2451.     IF the comment chosen does not exist. THDPRO.EXE will insert the comment 
  2452. from the very first line in the list (even if it has an "IF" statement). IF 
  2453. the comment from the first line does not exist, no comment will be added.
  2454.     The list is considered complete if a blank line is found, so no blank
  2455. lines should be in the list. If there is a blank line in the list, all text
  2456. following the blank line will be ignored.
  2457.     The best "simple" method I can give for ensuring the correct order of
  2458. "IF" statements is to put them in alphabetical order from BOTTOM TO TOP.
  2459. (that is... in reverse alphabetical order). Many word processors can do this
  2460. for you quickly and easily. And remember that the "IF" statements go first
  2461. and the order of the random comments is unimportant except that they be after
  2462. ALL "IF" statements.
  2463.  
  2464.      GOOD LUCK.
  2465.  
  2466.  
  2467. - Keyword replacement / customization -
  2468. ---------------------------------------
  2469.  
  2470.     THD ProScan supports the use of some "key words" which it will search for 
  2471. inside of file comments and replace with certain values prior to using the 
  2472. comment. These keywords will be searched and replaced in all comments no 
  2473. matter by what means the comment is chosen.
  2474.  
  2475. - keywords -
  2476.  
  2477.     The list of valid keywords and their values is as follows
  2478.  
  2479.     %THDVER%  - The version of THD used. Format = "THD ProScan Version 10.0"
  2480.     %TIME%    - The Time (at which the comment is updated)
  2481.     %DATE%    - The Date (at which the comment is updated)
  2482.     %NEWDATE% - The date of the newest file in the archive.
  2483.     %OLDDATE% - The date of the oldest file in the archive.
  2484.     %NEWFILE% - The name of the newest file in the archive.
  2485.     %OLDFILE% - The name of the oldest file in the archive.
  2486.     %DESC%    - The description as used in the file bases update (if any)
  2487.     %IFDESC%  - Print this line ONLY if a description is used.
  2488.     %P_NAME%  - The Program name (according to Vendinfo.diz)
  2489.     %P_VER%   - The Program version (according to Vendinfo.diz/only numbers)
  2490.     %A_NAME%  - The Program's Author (according to Vendinfo.diz)
  2491.  
  2492.                                                                   Page 50
  2493.  
  2494.     The latter 3 options will only be translated IF a vendinfo.diz is found,
  2495. so they may safely be used in comments. However note, that if the information 
  2496. is NOT found, the entire line will not be printed, so it would be best to
  2497. keep each of these entries on a separate line in any comment in which they
  2498. might be used.
  2499.  
  2500.     ie.
  2501.  
  2502.     %P_NAME% Version %P_VER% by %A_NAME%
  2503.          is acceptable (since none of these values would be translated in the
  2504.          absence of a Vendinfo.diz)
  2505.  
  2506.     Program Name  - %P_NAME%
  2507.     Version       - %P_VER%
  2508.     Author        - %A_NAME%
  2509.          Acceptable (all 3 lines would be removed if no Vendinfo.diz found)
  2510.  
  2511.     %P_NAME% test by %THDVER% on %DATE%
  2512.          would not be acceptable since the whole line would be removed if no
  2513.          vendinfo.diz were found (thus the date and THD Version would not be
  2514.          entered since this line would not be printed unless a vendinfo.diz
  2515.          were found.)
  2516.  
  2517.     It is imperative that no other information be entered on the same line as 
  2518. %DESC%. This entry will not print the line on which this is entered. Instead 
  2519. this line is replaced by the description to be used in the File base update 
  2520. (this is for those who wanted FILE_ID.DIZ in the comment). The size of this 
  2521. description, if it is taken from a vendinfo.diz file is selectable in
  2522. THDINSTL.EXE (otherwise the full description contained in a valid
  2523. description file is used).
  2524.     Lack of a description will result in no line at all (not even a blank
  2525. line).
  2526.  
  2527.     The "%IFDESC%" is to be used on a line that you only wish to be print IF
  2528. a description is present.
  2529.  
  2530.     reason being.. you might like to use something like this..
  2531.  
  2532.               Description
  2533.               -----------
  2534.     %DESC%
  2535.  
  2536.      Problem being that if no description is present the "Description" and
  2537. following underline would still be printed. To work around this it can be
  2538. entered in the comment file as ...
  2539.  
  2540.     %IFDESC%          Description
  2541.     %IFDESC%          -----------
  2542.     %DESC%
  2543.  
  2544.                                                                   Page 51
  2545.  
  2546.     which would only print the "Description" and "-----------" if a
  2547. description were present. (The position of %IFDESC%  on the line is not
  2548. important and it could just as easily be placed at the end of the line with
  2549. no difference in final output.)
  2550.  
  2551.     For the sake of demonstration, the following would give the exact same
  2552. result as above... (although for simplicity. I recommend putting it at the
  2553. beginning or end of the line)
  2554.  
  2555.               De%IFDESC%scription
  2556.               ------%IFDESC%-----
  2557.     %DESC%
  2558.  
  2559.  
  2560.     The following is a sample comment and what follows is how it would look
  2561. as an archive comment after processing by THD. (note in the following
  2562. examples I have used the 250 character description from the Vendinfo and not
  2563. the 450 character that would be used in most circumstances [or possibly
  2564. longer given some people's refusal to go by the standard]).
  2565.  
  2566.     Original comment file prior to processing...
  2567.     -------------------------------------------------
  2568.     | This file successfully passed testing by      |
  2569.     | %THDVER%                                      |
  2570.     | on %DATE% at %TIME%.                          |
  2571.     |                                               |
  2572.     | Program Name   - %P_NAME% Version %P_VER%     |
  2573.     | Author         - %A_NAME%                     |
  2574.     | %IFDESC%                                      |
  2575.     | %IFDESC%             *****************        |
  2576.     | %IFDESC%             ** Description **        |
  2577.     | %IFDESC%             *****************        |
  2578.     | %IFDESC%                                      |
  2579.     | %DESC%                                        |
  2580.     -------------------------------------------------
  2581.  
  2582.     ** After processing with no desc or vendinfo.diz...
  2583.     -------------------------------------------------
  2584.     | This file successfully passed testing by      |
  2585.     | THD ProScan Version 10.0                      |
  2586.     | on 06/05/1994 at 3:49PM.                      |
  2587.     |                                               |
  2588.     -------------------------------------------------
  2589.  
  2590.                                                                   Page 52
  2591.  
  2592.     ** After processing with desc but no vendinfo.diz...
  2593.     --------------------------------------------------
  2594.     | This file successfully pass testing by         |
  2595.     | THD ProScan Version 10.0                       |
  2596.     | on 06/05/1994 at 3:49PM.                       |
  2597.     |                                                |
  2598.     |                                                |
  2599.     |              *****************                 |
  2600.     |              ** Description **                 |
  2601.     |              *****************                 |
  2602.     |                                                |
  2603.     | THD ProScan Version 10.0 Archive Processor.    |
  2604.     | File base updates for FILES.BBS, RG, TG and RA |
  2605.     | formats. Multiple virus scans as well as many  |
  2606.     | configurable options. Allow user definable     |
  2607.     | conversions for supported archives.            |
  2608.     --------------------------------------------------
  2609.  
  2610.     ** After processing with vendinfo.diz (description is taken directly from
  2611.     vendinfo.diz)...
  2612.     --------------------------------------------------
  2613.     | This file successfully pass testing by         |
  2614.     | THD ProScan Version 10.0                       |
  2615.     | on 06/05/1994 at 3:49PM.                       |
  2616.     |                                                |
  2617.     | Program Name   - THD ProScan Version 10.0      |
  2618.     | Author         - David Muir                    |
  2619.     |                                                |
  2620.     |              *****************                 |
  2621.     |              ** Description **                 |
  2622.     |              *****************                 |
  2623.     |                                                |
  2624.     | THD ProScan Version 10.0 Archive Processor.    |
  2625.     | File base updates for FILES.BBS, RG, TG and RA |
  2626.     | formats. Multiple virus scans as well as many  |
  2627.     | configurable options. Allow user definable     |
  2628.     | conversions for supported archives.            |
  2629.     --------------------------------------------------
  2630.  
  2631.                                                                   Page 53
  2632.  
  2633.                           -------------------------
  2634.                           - Environment variables -
  2635.                           -------------------------
  2636.  
  2637.     THD ProScan supports three environment variables. They are...
  2638.  
  2639.     THDZIP -
  2640.     THDARJ -
  2641.     THDOPT -
  2642.  
  2643.     The first two environment variables are for use by persons who have 
  2644. registered version of PKZip and/or ARJ. The latter of the variables can alter 
  2645. a number of default actions of THDPRO.EXE.
  2646.  
  2647. - THDZIP -
  2648. ----------
  2649.  
  2650.     This variable accepts one of two settings. The first...
  2651.  
  2652.     SET THDZIP=TRUE
  2653.  
  2654.     This setting tells THDPRO.EXE that you are using a registered version of
  2655. PKZIP and would like to have the "AV" added when conversion to "ZIP" format
  2656. are performed.
  2657.  
  2658.     SET THDZIP={drive:\path\to\your\AVEXTRA.TXT}
  2659.  
  2660.     This setting tells THDPRO.EXE that you are using a registered version of
  2661. PKZIP and would like to have the "AV" and the AVEXTRA.TXT added when
  2662. conversion to "ZIP" format are performed. For information on AVEXTRA.TXT, you
  2663. should see your PKZIP users manual.
  2664.  
  2665. - THDARJ -
  2666. ----------
  2667.  
  2668.     This variable accepts only a single parameter.
  2669.  
  2670.     SET THDARJ={drive:\path\to\your\SECURITY.KEY}
  2671.  
  2672.     This setting tells THDPRO.EXE that you are using a registered version of 
  2673. ARJ and would like to have the security envelope added when conversion to
  2674. "ARJ" format are performed.
  2675.     Do not put any switches in this variable as THDPRO.EXE will supply the
  2676. necessary switches.
  2677.  
  2678.                                                                   Page 54
  2679.  
  2680. - THDOPT -
  2681. ----------
  2682.  
  2683.     This variable is used to alter some default actions of THDPRO.EXE.
  2684.     The available options are as follows...
  2685.  
  2686.     THDOPT accepts six switches. "SOLID", "SC1", "ANSI", "ADD", "NFL" and
  2687. "NDx" where the "x" represents a drive letter to be used for expansion and
  2688. testing of the file.
  2689.  
  2690.     SET THDOPT=SOLID will cause conversions to "RAR" format TO produce
  2691.                "solid" archives. (Uses the -s switch to create RAR archives).
  2692.  
  2693.     SET THDOPT=ANSI will force ansi to the remote.
  2694.  
  2695.     SET THDOPT=NDF will force THDPRO.EXE to attempt to use drive "F" for the
  2696.                file testing process before using the internally configured
  2697.                drive(s).
  2698.  
  2699.     SET THDOPT=SC1 tells THDPRO.EXE to run SCAN.EXE with a commandline
  2700.                suitable for the 1.x.x series of scanners from McAfee.
  2701.  
  2702.     SET THDOPT=NFL tells THDPRO.EXE to send the "/NOFLOPPY" switch to F-Prot.
  2703.                Use this ONLY if F-PROT requires the "NOFLOPPY" switch to run.
  2704.  
  2705.     SET THDOPT=ADD tells THDPRO.EXE to toggle the bit in the TESTINFO.DAT
  2706.                record which indicates that the user wishes to have database
  2707.                entries created when they do not already exist (not supported
  2708.                by THDPLUS).
  2709.  
  2710.     SET THDOPT=ANSI NDE SC1 SOLID ADD NFL
  2711.                Force ANSI output, use drive "E" for the temporary drive
  2712.                assignment, send a SCAN 1.x.x compatible commandline, use the
  2713.                solid option when converting to RAR format, Set the "add" flag
  2714.                in TESTINFO.DAT and use the "/NOFLOPPY" switch with F-PROT.
  2715.  
  2716.     Note that only one alternate drive may be input using NDx. These
  2717. switches can be mixed and matched as necessary.
  2718.  
  2719.     Contrary to popular opinion, there is no support for a "THDPRO"
  2720. environment variable. The purpose for which many programs use a similar
  2721. environment variable is not required by THDPRO.EXE as it finds this
  2722. information based on other factors.
  2723.  
  2724. SET THDPRO=XXXX
  2725.          does absolutely nothing except waste your environment space.
  2726.          DO NOT SET THIS VARIABLE unless you have a use for it yourself.
  2727.          THD ProScan does not recognize it.
  2728.  
  2729.  
  2730.                                                                   Page 55
  2731.  
  2732.                                ---------------
  2733.                                - Secure Mode -
  2734.                                ---------------
  2735.  
  2736.     The theory behind providing a "secure mode" is to offer some limited 
  2737. protection against THDPRO.EXE inadvertently helping to spread viruses by 
  2738. running infected utilities.
  2739.     THDPRO.EXE, when run in secure mode, will CRC check each executable file 
  2740. prior to running it (including THDPRO.EXE itself, but this will of course be 
  2741. checked after loading). If the file's CRC does not match the recorded value,
  2742. THDPRO.EXE will cease operation immediately following cleaning of any 
  2743. temporary directories which it may have created. It will then exit with an 
  2744. errorlevel of 255, indicating a security breach. In most cases this breach 
  2745. will be logged in THDPRO.LOG.
  2746.     The exception to the above is THDPLUS.EXE. If THDPLUS.EXE fails the CRC 
  2747. check, it will be logged and the utility will not be run. Since THDPLUS.EXE
  2748. is not essential to any "test" operations, it was deemed that aborting
  2749. testing due to it's CRC failure was unnecessary. Instead running of THDPLUS
  2750. is skipped and logged.
  2751.  
  2752.     **********************************************************************
  2753.     ** Please keep in mind that this method of "security" is not 100%   **
  2754.     ** effective. This is being supplied as an additional step to virus **
  2755.     ** scanning these utilities and not as a replacement for it. These  **
  2756.     ** utilities (as with all files) should be scanned for viruses and  **
  2757.     ** tested on a regular basis to ensure that the files are intact.   **
  2758.     **********************************************************************
  2759.  
  2760.     Secure mode is toggled from the final screen of THDINSTL. Once selected, 
  2761. THDPRO.EXE will search for and evaluate the CRC's based on a file called
  2762. THDPRO.SEC. This file MUST exist in the same directory as THDPRO.EXE 
  2763. (THDPRO.EXE will put it there). If the file does not exist THDPRO.EXE will 
  2764. refuse to run (citing a security breach as the reason). Therefore you must
  2765. use THDPRO.EXE to generate the THDPRO.SEC file before it can be run in secure
  2766. mode.
  2767.  
  2768.     The disadvantage to secure mode is twofold. First it will refuse to run 
  2769. every time you upgrade a virus scanner or other utility (since the CRC's will 
  2770. not match). Secondly it takes time to calculate the CRC values.
  2771.  
  2772.     The first problem is easily solved by ensuring that you update your
  2773. THDPRO.SEC file any time you make changes (as outlined below). The second
  2774. instance is a necessary evil of the added security. The CRC values will be
  2775. checked prior to each run of a util (that is EVERY single time THDPRO.EXE is
  2776. told to run an external util, it will check the CRC first, even if it was run
  2777. only moments before and passed that CRC test).
  2778.  
  2779.  
  2780.                                                                   Page 56
  2781.  
  2782. - THDPRO.EXE /SEC -
  2783. -------------------
  2784.  
  2785.     To generate and/or update the THDPRO.SEC file (anytime a utility is
  2786. changed or THDINSTL is run), simply run THDPRO.EXE /SEC. This option will
  2787. cause THDPRO.EXE to perform it's "normal" self test and if that test is
  2788. passed, then it will create a THDPRO.SEC file using the configured
  2789. information.
  2790.     This option will perform no comparison to previously recorded values, so
  2791. if you have suffered a security breach and are unsure as to what caused it,
  2792. then do not run this until after running the security test outlined below.
  2793.  
  2794. - THDPRO.EXE /SECTEST -
  2795. -----------------------
  2796.  
  2797.     This option causes THDPRO.EXE to compare the current values in the 
  2798. THDPRO.SEC files against the values of the files as they exist. It will
  2799. report only these files whose CRC values are different from those recorded in
  2800. the THDPRO.SEC file. This operation causes no changes to the THDPRO.SEC file,
  2801. and should be used to see which utility or utilities THDPRO.EXE believes have
  2802. changed. Failures will be reported as being "in breach of security". If no
  2803. file names are listed as being in breach of security, then the THDPRO.SEC
  2804. file is usable "as is".
  2805.     An ideal test will report that it is checking and that it is done with
  2806. nothing in between.
  2807.  
  2808.     In addition to the utilities, the THDPRO.SEC file is also CRC checked by 
  2809. the above procedure as well as at run time by THDPRO.EXE. A change in that
  2810. file's CRC is considered to be a security breach just as any utility change 
  2811. would be.
  2812.  
  2813.     Upon exit from THDINSTL, if secure mode is selected, the user will be 
  2814. reminded to run THDPRO.EXE /SEC to update the THDPRO.SEC listing, since in
  2815. almost all cases THDINSTL will change the CRC value of THDPRO.EXE, thus
  2816. rendering the THDPRO.SEC value invalid which will result in a security breach
  2817. each time THDPRO.EXE is run.
  2818.  
  2819.  
  2820.                                                                   Page 57
  2821.  
  2822.                               -----------------
  2823.                               - NETWORK NOTES -
  2824.                               -----------------
  2825.  
  2826.           ***********************************************************
  2827.           ** THE FIRST THING YOU SHOULD DO IF INSTALLING THIS ON A **
  2828.           **  NETWORK, IS TO RENAME THDINSTL.EXE TO NETINSTL.EXE.  **
  2829.           ***********************************************************
  2830.  
  2831.        Alternately, you could also run THDINSTL.EXE /NET which has exactly
  2832. the same effect as renaming the file. However, for ease of use (odds are
  2833. good that you will only ever wish to run in NET mode), you will likely find
  2834. it easier to rename the installation file than to remember to constantly
  2835. supply the "/NET" parameter, although either method will work.
  2836.  
  2837.        This will tell THDINSTL that you are attempting installation on a
  2838. networked system. This will simplify the installation by NOT putting drive
  2839. letters in front of the paths to the utilities that it finds. It will also
  2840. not prompt you for the "temporary" drive assignments and instead default to
  2841. "network compatible mode" which uses only the current drive for file testing.
  2842.  
  2843.      In this and all documentation, THDINSTL refers to the file as
  2844. distributed. If renamed to NETINSTL.EXE, all references are still valid
  2845. except as noted above.
  2846.  
  2847.     While THD ProScan is not "network aware", it can be run in a network
  2848. environment with some considerations.
  2849.  
  2850.     The most important of these considerations, is that THD ProScan makes
  2851. extensive use of "drive" letters in it's normal operation. On a network
  2852. system, these drive letters are reassigned depending on the remote caller.
  2853. The sysop must therefore take into account that these drive letters might be
  2854. different from one remote to the next and account for this when running
  2855. THDINSTL.EXE.
  2856.     When running THDINSTL, be sure not to specific a drive whenever the
  2857. installation will allow you to supply simply a file path (in other works
  2858. supply things like "\utils\pkzip.exe" instead of "c:\utils\pkzip.exe"). In
  2859. order to do this, THDINSTL must be run on the same drive as all of it's files
  2860. are located.
  2861.     It is important to note that THDPRO.EXE will still assign all of these
  2862. paths with drive letters. But this will be done at run time with the current
  2863. drive letter in a case where one was not supplied during installation. If the
  2864. current drive is "C:" when THDPRO.EXE is invoked then a path entered in the
  2865. install as "\UTIL\PKZIP.EXE" will actually be called as "C:\UTIL\PKZIP.EXE".
  2866. Likewise if the current drive were "T:" at run time THDPRO.EXE would run
  2867. "T:\UTIL\PKZIP.EXE". At no time would THDPRO.EXE attempt to run simply
  2868. "\UTIL\PKZIP.EXE"
  2869.  
  2870.                                                                   Page 58
  2871.  
  2872.     It is therefore recommended that network users have THDPRO.EXE and all
  2873. the necessary files located on the same logical drive as all the files to be
  2874. tested and all of the utils to be used. In other words on a one drive system.
  2875.     When THDINSTL prompts for the use of drives to use for testing, you
  2876. should enter "0" (new in version 10.0) to tell THD that you wish it to use
  2877. only it's current drive for file tests. Technically what this does is to tell
  2878. THD that all temporary drives are the same drive and that drive is the drive
  2879. on which the system was running when THDPRO.EXE was called. This option will
  2880. solve the majority of network problems suffered by some users who could not
  2881. get THD working properly for them previously.
  2882.  
  2883.     Note that once configured, THDPRO.EXE could be moved to another drive and
  2884. would work if called correctly, since it determines it's own location at
  2885. runtime.
  2886.     This is not a "requirement" as such. Certainly some network users can get
  2887. it working for them without this consideration. This should be used by those
  2888. who either find it easier than the method they used previously or who are
  2889. having difficulty getting it to run correctly under a network environment.
  2890.  
  2891.     The THDOPT "NDx" environment variable can also be useful for network
  2892. users. If the remote system can define environment variables under your
  2893. particular network, you could have them set this particular variable to their
  2894. drive assignment (see the section on environment variables) and thereby cause
  2895. testing to occur on the correct drive from their point of view.
  2896.  
  2897.     At least one Novell user has stated the need for "SHOWDOTS=TRUE" in his
  2898. configuration file. The symptom was that THD failed to remove it's temporary
  2899. directory when this was not present.
  2900.  
  2901.     The THDOPT=NFL may be required on systems without floppy drives when
  2902. running F-PROT.EXE. Use this only if you have no floppies connected to the
  2903. system and F-PROT suggests that it be used.
  2904.  
  2905.     Note that while I do my best to make THD as compliant with as many systems
  2906. as I possibly can, my knowledge of network software and how it works is nearly
  2907. non-existent. So if you have suggestions or other things in this matter that I
  2908. might consider, please feel free to let me know about them.
  2909.  
  2910.       Again, if you select the "network mode" during THDINSTL, you should be
  2911. certain that you have not supplied drive letters to the utilities to be used
  2912. and that all such utilities are located on the same drive that THDPRO.EXE will
  2913. be called from. Failure to locate "all" files on the single drive will likely
  2914. cause THDPRO.EXE to react in an unreliable manner when unable to locate the
  2915. needed files on the current drive.
  2916.