Page i THD ProScan Version 10.0 Documentation Index Topic - Subtopic................................................. Page No. Copyright ....................................................... 01 Introduction .................................................... 02 - The Product ............................................... 02 - Overview .................................................. 02 - Registration / Donations .................................. 03 - History ................................................... 03 The Author ...................................................... 05 - History ................................................... 05 - How to contact me ......................................... 05 Product Support ................................................. 06 - Commentary (THD vs other Archive Processors) .............. 06 - Thanks to... (Credits) .................................... 08 THDINSTL.EXE .................................................... 09 - Command line syntax ....................................... 09 - ? .................................................... 09 - /F (Full installation)................................ 09 - {Path to old THDPRO.EXE} ............................. 09 - /NET (network compatible mode) ....................... 09 - Function .................................................. 09 - conditions for running successfully ....................... 10 - selection screens ......................................... 10 - final screens ............................................. 16 - final screen one ..................................... 16 - final screen two ..................................... 16 - final screen three ................................... 16 THDPRO.EXE ...................................................... 18 - command line syntax ....................................... 18 - ? .................................................... 18 - /NODESC (NO DESCription).............................. 18 - CRC (CRC Mode)........................................ 18 - /CO (Convert Only).................................... 18 - /KO (Keep Original)................................... 18 - /LA (Log All)......................................... 18 - /ADD (ADD description to FDB)......................... 19 - {COMPORT} ............................................ 19 - /60 /120 /250 /450 /750 /1500 ........................ 19 - {CONVERT INDICATORS} ................................. 19 - Requirements .............................................. 19 - Function .................................................. 20 - Features .................................................. 21 - Basic operation ........................................... 26 - CRC mode .................................................. 26 - Conversion and Convert-Only mode .......................... 27 - Test mode ................................................. 31 - Frequently asked Questions................................. 32 Page ii THDPLUS.EXE ..................................................... 36 - command line syntax ....................................... 36 - ? .................................................... 36 - /ALL (process ALL).................................... 36 - /REMOVE (mark to REMOVE).............................. 36 - Requirements .............................................. 36 - Operation ............................................ 36 TESTINFO.DAT .................................................... 37 - What is it? ............................................... 37 - Why is it? ................................................ 37 - How does THDPRO use it? ................................... 38 - How can others use it? .................................... 38 THDTERM.EXE ..................................................... 39 - General Information ....................................... 39 - command line syntax ....................................... 39 - {Comport} ............................................ 39 - /S (Source directory) ................................ 40 - /C (Configure) ....................................... 40 - Requirements .............................................. 40 - Function .................................................. 40 - Features .................................................. 41 - Basic Operation ........................................... 41 - THDTERM and Filedoor ...................................... 41 THDDEMO.COM ..................................................... 42 - Purpose ................................................... 42 - ANSI Files ................................................ 42 - THDPRO.AN? files ..................................... 43 - PAINSOFT.AN? files ................................... 44 - PAINSOFT.ANS ......................................... 46 COMMENTS ........................................................ 47 - THD ProScan's custom / configurable comment control ....... 47 - Randomly selected comments ................................ 47 - Comment by area ...................................... 47 - Keyword replacement / customization ....................... 49 - keywords ............................................. 49 ENVIRONMENT VARIABLES ........................................... 53 - THDZIP .................................................... 53 - THDARJ .................................................... 53 - THDOPT .................................................... 54 SECURE MODE ..................................................... 55 - THDPRO.EXE /SEC ........................................... 56 - THDPRO.EXE /SECTEST ....................................... 56 NETWORK NOTES ................................................... 57 Page iii - PREFACE - THD ProScan is a collective effort by myself and a number of others. While most of the time you associate only myself with the various releases, I feel that I need to take a moment to acknowledge that were it not for the great users and fantastic beta testers, this product might have long since been history. Since the inception of THDscan (about 6 years ago) there have been many people who have helped to find problems and offered assistance in many other ways. This version of THD ProScan is dedicated to all of those people. Without regard for how great or how small their contribution, these are the people who have made it possible for you to receive this version. Please take a moment to read the credit section of this documentation. Although only a few are specifically listed in that area, it is worth noting that there are in fact many other contributors. Some who have made donations or incurred costs, or perhaps even simply made a comment or suggestion are still deserving of a mention. Among those rarely ever mentioned, I would like to thank the makers of the products that THD was designed to replace. While I would never recommend some of the products that fall into that category, I can't help but remember that had it not been for those inferior products, THD might never even have made the drawing board. The early creators of file processors missed a great many details now considered standard, however without their original ideas, this product and many others may not ever have come into existence. And to my competitors, without whom this product might be only a shadow of what it is today. Some have been friendly and other have downright destructive, but all have helped in the creation of various versions. While no implementation in THD has ever been taken directly from another product, many of the "toys" are based on suggestions from users who had seen similar options in other products. As I'm sure on occasion users of other products have made suggestions based on things they have seen in THD. I could never hope to mention everyone who has made a relevant suggestion for the improvement of THD. Nor could I hope to recall all the people who have made a significant difference in it's development. What I can do is to thank them all here for their contributions, whether intentionally or by circumstance. So, to all the testers, users, non-users, nay-sayers, praisers, critics and competitors... Thanks for your contributions, no matter how great or how small... This one is dedicated to you. Page 01 ------------- - COPYRIGHT - ------------- The following copyright covers THD ProScan and all of it's parts, including (but not limited to), THDPRO, THDINSTL, THDPLUS, THDTERM, THDDOC and THDDEMO. The TESTINFO.DAT format is covered by a separate copyright. Please see TESTINFO.INC for details. These programs and all of their associated names, files, logos and makeup are Copyright 1992 - 1994 by PainSoft. Absolutely no duplication in whole or in part is allowed. With the exception of duplication of the entire archived set of files for distribution to those in need of it's services. None of the copyrighted material may be changed in any way, except by the author. Changes made by the author's original, unmodified installation program will be considered to have been made by the author for the purpose of this copyright. The files may be rearchived in ANY fashion which requires them to be restored to their original condition before use. (Portions are Copyright Borland International). The Author accepts no responsibility for the actions of this program. It is FREEWARE and NO charge may be made for distribution. It is NOT a commercial product and the ONLY acceptable charge for it will be "actual, physical cost of duplication". Other products mentioned are copyrighted by their respective owners and include their own restrictions for use. Please be sure to register those products if requested by the copyright holders. Page 02 ---------------- - INTRODUCTION - ---------------- - The Product - --------------- - Overview - THD ProScan is an File Processor. It was conceived as a security conscious method for testing the integrity of archived files and has evolved from a 50 line batch file to what you see now. The general purpose of an file processor is to perform a series of tests on a given file (usually an archive) and report the passing or failing of the various tests. The types and number of tests done will vary with the program being used, but the one test viewed as the most important is the Virus Scan. Others tests are (or are not) performed depending on the software being used. Normally things like CRC testing and commenting of archives are standard procedure. These products are known by many names, almost all of which are a contraction of one of FILE, ARCHIVE, or UPLOAD and TESTER, PROCESSOR or CHECKER. Whatever they call themselves, their usual goal is to offer some assurance that the files have been reasonably tested for integrity. The difference between this and many other upload testers is one of priorities. Most upload/file testers regard the testing of the file as the single most important factor. THD ProScan, on the other hand, has a different view. THD ProScan is designed with security as the single most important factor in a file tester. It is with this in mind that THD ProScan has been programmed from day one. This is also the reason why some things that you might "like" to see are not present. You cannot change a number of things which others allow. The reason being that the options used in this tester are the ones most likely to stop people from gaining access to your computer. Simple things like not allowing user definable commands to be run and insisting that full paths be supplied, help to ensure that the sysop without a full working knowledge can get as much benefit from this tester as the seasoned pro. By the same token, THD ProScan also attempts to compete and defeat the so called "competitors". It attempts to do as many things as could be realistically asked of an upload tester, while maintaining the security that prompted its creation as well as being generic enough to be used by as many BBS programs as possible. I think you will find that the number and types of options available in this tester rival or exceed those available with a number of other testers. If you need an upload tester... ------------------------------- ---- YOU NEED THD PROSCAN ----- ------------------------------- Page 03 - Registration / Donations - ---------------------------- While THD ProScan is a FREEWARE product, the author (that's me) does gladly accept donations. There is no "set" amount or for that matter it doesn't even have to be cash. Since my main concern is to upgrade my current computer (an XT), I will also accept hardware in the hopes that it will assist me in building my new computer. Details are available in DONATE.PLS and the address is found in the author section of this documentation. - History - ----------- Long, long, ago and far, far, away.. I used to call about 40 BBS'es a day. I became concerned one day when I uploaded a file and it failed something called an "upload test". I quickly downloaded the program which failed my file and was amazed at what it was attempting to do. (cool I thought). However upon looking closely into what it was doing and how it was being done, I became VERY concerned. This program could give a user COMPLETE control of the sysop's computer if they created just the right archive. Being the conscientious little co-sysop that I was, I went searching for a similar program without the flaws present in this one. Believe it or not, I couldn't find one (I did find some 15 other programs, none of which addressed all of my concerns). I decided instead that I would create a "secure" batch file for this sysop to process his uploads. I made one that worked on my system, then I made it configurable (so that the sysop could customize it for his system). And such was born a 4DOS dependant batch file called THDScan. (are you still with me?). Others of course called and saw the "neat" screen output and inquired as to where they could get a copy and so on.. Many were amazed at what could be accomplished through batch processing and began to use it. As is normal, problems began to arise and improvements were requested. And so development of THDScan continued. This development saw many changes and additions to THDScan through the two years it was being improved. But alas, as is always the case, some spoilsports refused to use it because it was a batch file (not to mention it needed 4DOS or NDOS to properly run). And so Development of an executable version of THDScan began. No-one was willing to "program" it my way, so I started to learn Turbo Pascal in the hope of creating it myself. And after much hair pulling, on August 20, 1992, the world was introduced to THD ProScan Version 1.0. (more like about 45 local systems). Things continued on with bug reports and so on (what can I say, I never programmed anything before). And so began the upgrading of THD ProScan. Somewhere around version 6.0, I was surprised to receive a netmail from Ireland making inquiries about my program (whoa.. all the way from Ireland). I asked this person for explanations, what I could do etc. and he was most helpful in showing me what he wanted added/changed to support his particular use. Page 04 Soon thereafter netmail started coming from everywhere (okay .. almost everywhere). THD had somehow become a popular program. From that point onward THD has been treated by me as a major endeavour. The Version 10 being released today, is the result of many such communications and many, many hours of work. None of which I have ever regretted. For those of you who are dying to know, THD actually stands for "The Head Doctor" (the alias of the sysop for whom the original pre-version 1.0 THDScan Batch file was created). I have long since lost contact with him, and many of the people whom I knew at that time. But I suppose I ought to thank him for lending me his monogram. So there it is.. everything you never wanted to know about THD ProScan. Page 05 -------------- - THE AUTHOR - -------------- - History - ----------- Who am I? Hi. I'm David Muir, born in the winter of 1962. I was introduced to computers about 8 years ago by a friend. BBSing at that time was something that I hadn't even considered. Not too long after that I got my first IBM compatible computer. I played games, made notes, and used it to keep my company records. It was a tool. After scooping some neat toys from a friend, I began to inquire how he came about getting them, he explained about modems and BBS'es. I soon after purchased a neat 2400 bps modem and got a few numbers off of him. In no time flat I was a BBS junkie. Calling up to 40 BBSes at a time and trying my best to help people out. I eventually got to co-sysop on about 15 of those boards and was quite in demand as a co-sysop (due mainly to my security conscious approach). But time took it's toll, and eventually I had to lessen my outgoing calls. Somewhere in there THDScan was born and later THD ProScan. So now I'm a 32 year old computer junky, who loves nothing more than to get netmail from places I've never been and help people with problems I don't have. THD ProScan is my way of helping. And a pretty good reason to talk to people from distant places. I still use that same computer (an XT compatible that cost darned near as much as my car). Generally I'm a pretty boring kinda guy who's more than willing to lend a hand when I can. - How to contact me - --------------------- I can be reached via Netmail at Tim Strike's BBS The Forbidden Knights 1:259/423.0 (fidonet) (905) 820-7273 Mississauga, Ontario User name- David Muir Alias - Pain Home is... David Muir 198 Leyton Ave Scarborough, Ontario Canada, M1L 3V6 I'm also available in numerous other nets (look for Tim's BBS) as well as following many of the public echos which relate to BBS support. Page 06 ------------------- - PRODUCT SUPPORT - ------------------- Product support is available directly from the author according to the information above. However, you might find that many people in the public echo areas are willing to help as well. Most of the sysops listed as distribution sites will be happy to try to assist you and if unable to do so, will generally forward questions and comments to me. Questions regarding interaction with your particular BBS type are generally best answered by those who use the same BBS software as yourself. If however you're stuck and no-one seems to know the answers, please give me a shout, either by mail or via netmail (or possibly in the public echos if you happen to spot me). - Commentary (THD vs other Archive Processors) - ------------------------------------------------ In the last year or so, it seems that the Archive Processing field has become VERY competitive. I have done my best to uphold my friendly disposition in the face of numerous attacks, both on me personally as well as on my product. So people who don't want to know how I REALLY feel should not read this. Still with me? Okay... THD ProScan is NOT a hobby. It's not something I do to rip the nice sysops off for their money. It's not a pastime that I use to fill my empty hours. It IS an obsession. THD is what I do. To attack it, is to attack me. I do engage in employment as well, but that is something which I am paid to do and do not do because I "desire" to do it. In the past year, I have been called everything from a complete fraud to a liar. I am neither. THD has been called ineffective, inefficient and unreliable. It is none of those things. What THD is, is quite simply my way of saying thank to the many sysops out there who need something and may not know what. THD is built with security in mind. To date NOT even ONE other archive processor has been able to match THD in its efficiency and security. Now to be fair, there are some that I have not tested. In those cases I have not come across them or have found them not to run on my XT. Page 07 I do not begrudge the other authors who believe that their product is as good or as secure as my own (or those who believe that theirs is superior to mine). But I can tell you, in all honesty, that with the singular exception of THD ProScan there does not exist an upload tester (of which I am aware) through which I cannot pass a KNOWN virus in a legitimately testable archived file. This refers to a virus that will be recognized by McAfee's VirusScan if all archives are expanded and all resulting files are tested. This does not refer to any underhanded encryption technique or creation of the virus after being tested. But an honest to goodness real virus in a file type which those other do test. Some of those other products can even be manipulated by an uploaded archive to allow the remote user "FULL" access to the host system. If it's any consolation, the last statement refers to fewer and fewer products as time goes by. Most regularly updated processors do guard against this particular instances.. BUT NOT all of them, so watch for these. I specifically will not mention any of the people who have attacked myself or my tester. But I will be honest, in saying that if I ever actually tell you not to use a specific product (something I would rarely ever do), I do have my reasons and they are never related to anything as petty as revenge. I stand behind my product. I believe what I tell you about it, and most of all I make it for you.. not me. (I have no use for about 90% of what is coded in there, 10% is coded for me the other 90% is coded for the people who use it). Remember that I am not a sysop and most of the features in THD are BBS related. As a final note. Many of my competitors in the Archive processing field are not described above. Many are very friendly and professional people who have never said anything to belittle myself or my product (or anyone else's product). Many of them are good intentioned hard working people, bringing you what they believe is an excellent product. Please if you use one of these other products and the author requests registration... be sure to register the product. The amount of work that goes into these things is not petty and those who request registration have worked long and hard to produce that product for you. Be sure to remember that when you see them asking for registration. Above all. Remember that I truly do believe that THD is a superior product. (and I have tested enough of them to make a reasonable judgement) If you feel that another product is better (or better suits your needs) then use it with my blessing. The final consideration must be what you believe you need and not what myself or another author thinks. Thanks for reading my babblings... David Muir... Author THD ProScan. Page 08 - Thanks to... (Credits) - -------------------------- The list of people who have aided in the Development of THD ProScan is far too long for me to list here (and to be totally honest, I don't think I could name them all). The following is a list of people who's input has been extraordinary is not necessarily all inclusive. I have tried to give credit where credit is due. I have many people to thank that are not listed specifically in this text. Thanks to all the sysops who, at various stages, helped in the betatesting of this product. Many helped me to find "minor" inconsistencies and fix them before you got to see it. A VERY special thanks to Eugene Chin for his great assistance in betatesting the first releases and making valuable suggestions about the program.. Many of which were implemented, And of course some which were not.. But all of his suggestions and comments were considered. A special thanks as well to "Eternal Darkness" for his contribution of the "user side ansi screen". He willingly gave me a number of "ansi" drawings with permission to modify them as was necessary to suit my purpose. The ansi your users see is only very slightly modified from the ansi I received and I think he did an excellent job. A thanks as well to David Luckie who reported the problem which Version 4 fixed. Without his inquiries the integrity of this program might have been severely compromised. And to Tim Strike for his assistance in too many aspects to list in this document, including relaying David's concerns and replies so that I might be able to fix the problem. To Neil Dempster for his support and constant questioning (not to mention the extra drives). To Mark Kerr for his inquiries into the "move/rename" aspect of the program. As well as making me aware of the number of RA supporters. A VERY Special Thanks to Rudy Ramsey for rushing me the registration key for VENDEDIT so that THD ProScan could be distributed with a valid VENDINFO.DIZ. Persons with inquiries regarding the VENDINFO standard should contact Rudy Ramsey as noted in the VENDINFO.DIZ included with this package. To TurboPower Software for the use of their EXECSWAP program. To all Beta sites, past and present. And to anyone who ever reported an error so that I could endeavor to fix it or made a suggestion to improve it. Page 09 ---------------- - THDINSTL.EXE - ---------------- THDINSTL.EXE is the installation/configuration for THD ProScan. THDINSTL accepts four (4) different parameters. (note that "/NOMOVE" is no longer supported as a commandline parameter and must be toggled from the final screen). - command line syntax - ----------------------- - ? - Running THDINSTL.EXE ? will result in a quick display of the commandline options available for running THDINSTL.EXE. - /F - Running THDINSTL /F will cause the installation to emulate an original installation as if the file had never been configured before. Useful if you have made major errors or wish to make major modifications to your configuration. - {PATH\TO\OLD\THDPRO.EXE} - Running THDINSTL.EXE C:\OLDTHD\THDPRO.EXE will result in THDINSTL reading the file who's name is supplied. If this file is found to be a valid THDPRO.EXE from the version 6.0 or later than the configuration from that file will be extracted for use in configuring the THDPRO.EXE in the current directory. If it is not recognized as a valid THDPRO.EXE, it will default to a full installation process. - /NET - Running THDINSTL.EXE /NET will run in "network compatible mode". This has the effect of not including the drive letter specifications when files are found. As well it changes drive selection to allow only the use of the current drive for the creation of its temporary directories. This is exactly the same as renaming THDINSTL.EXE to NETINSTL.EXE as explain under "Network Notes". IF used, this parameter must be the last thing on the command line. - Function - ------------ The sole purpose of THDINSTL.EXE is to configure THDPRO.EXE. If THDPRO.EXE is not yet configured, you will be stepped through a series of questions. Answer these questions appropriately by supplying paths etc, until the final three screens, where you will be shown the results of your input, and have the option to make changes prior to changing the configuration inside THDPRO.EXE. If THDPRO.EXE has been previously configured, THDINSTL will read that configuration and skip directly to the final three screens, from which you can opt to make changes. At almost any time during the installation you can press function key F1 to receive online help. Page 10 - conditions for running successfully - --------------------------------------- THDINSTL, insists that the THDPRO.EXE which is to be configured is present in the current directory when it is run. THDINSTL, requires approximately 150k of free memory to run (more or less may be required depending on your use of the dos shell feature available by pressing function key F2). Changes will only be saved by hitting "enter" from the final screen. - selection screens - --------------------- THDINSTL will step you through numerous screens. This text will only outline those screens which require more than a path to a file be supplied. For those entries which are simply paths, you should supply a full drive path and filename (complete with extension). The exception being that persons running on networks should not supply drive letters and should also read the section marked "NETWORK notes". - The very first screen after product identification will show the following prompt. I think it's pretty much self explanatory. Please press "C" to continue. Any other key will abort the installation. - Next screen.. same idea... PRESS ANY KEY TO START THE INSTALLATION... - The Log size screen is basic I think as well. You have 5 choices. pick one which corresponds to the appropriate log size for your needs. A) 5,000 B) 10,000 C) 20,000 D) 30,000 A/B/C/D to set size or "ANY OTHER KEY" for 50,000---¯ - The option to reboot and drop carrier on virus uploaders are simple yes/no choices. Both of these options use the fossil to perform these functions. generally it's a good idea not to drop carrier on users. And rebooting your system upon detection of a virus is generally not necessary. Page 11 - The option to supply a maximum size to autotest files is simple. If for some reason you do not wish to test large files, you can select to not test files automatically if they are larger than the selected size. Any files over this size will cause THDPRO.EXE to prompt the sysop for 5 seconds to press a key. If the sysop presses a key, then the file will be tested. If no key is pressed, then the file is passed without testing and a note is logged. A) 1 Megabyte (1024576 bytes) B) 2 Megabytes (2049152 bytes) C) 3 Megabytes (3073728 bytes) D) 4 Megabytes (4098304 bytes) A/B/C/D to set size or "ANY OTHER KEY" to test all files ------¯ - Default comport. seemingly simple enough. This entry accepts a digit between 0 and 8. If your BBS can pass a comport, then I recommend setting this to "0" and let the BBS supply the comport when necessary. If you run a single node BBS which can not pass the comport, then setting this to the appropriate comport used by the BBS would be correct entry. Note that this entry goes by the human definition of comport and not by the fossils definition. (com 0 is local [no comport] and not port 1 as would be determined by most fossil drivers). - Local comport is a very specific setting for a very specific circumstance. Almost everyone should set this to "0". If you think perhaps you need this setting, then hit function key F1 from this screen for a description of who does and does not need this. - BBS name. This entry is limited to 39 characters (as are most of them which require multiple character input). This entry MUST be made. if you don't run a BBS enter your name or alias at this prompt. This is the name which the user side will show THD as being "Registered to". Please enter the full name of your Bulletin Board ie. The Best Little Board in Texas Input Name---¯: - Log directory. This entry requires a path to a directory in which you would like THD to keep it's log files. THD keeps a log for each file tested. This entry is mandatory. Please enter the FULL path to your LOG directory ie. C:\BBS (No ending "\") Input LOG Directory---¯: - Reject directory. this is the directory to which THDPRO.EXE should move failed files If the FAILED FILE MOVING is set to normal (from the final screen of the installation). This entry must be valid. it will not be used if failed file moving is turned off, but must be configured just in case. Enter the path to a directory which THD should move such files. Page 12 - BBS Type. Which of the following BBS types are you running? 1- RemoteAccess (version 2.00 or compatible) 2- Telegard 2.7 3- Renegade (07-17-93 or compatible) 4- FILES.BBS (standard format) 5- FILES.BBS (SBBS extended format uses " >") O- Other (Create TESTINFO.DAT file) N- None (Do not create a data file) If you use and want THD to update the file bases for one of these BBS types. Select that BBS type. the installation may prompt you for a path or other information if you select one. Selecting "O" (for other) will tell THDPRO.EXE that you do not run one of the supported BBS types, but that you wish it to create a TESTINFO.DAT file for each file processed. This file can be used by external utilities to update the file bases for types not supported by THDPLUS. This should only be selected if the utility you are using specifically requests that this file be created. Selecting "N" (for none) Tells THDPRO.EXE that you are not using one of the supported bbs types (or do not wish them to be updated) and that you do not wish to have a TESTINFO.DAT file generated. - Age/date limit. This option allows you to limit the acceptance of files based on the dates of files included in the archives. If you wish to limit file by age or date, you would be well advised to look into the online help at this screen (F1). - VENDINFO.DIZ file support. THD supports the Vendinfo.diz file standard version 1.00 in a limited capacity. The capacity is limited to descriptions (and Author name as well as Product name and version in comments only) I strongly recommend using these descriptions if you use description importation at all. These descriptions ARE supplied by the author and are generally good descriptions. The file contains 6 distinctively different descriptions (they are not just cut off at "x" number of lines) 0 - do not use VENDINFO descriptions. 1 - 60 character description. 2 - 120 character description. 3 - 250 character description (suitable for TG/RG/FILES.BBS). 4 - 450 character description (FILE_ID.DIZ size). 5 - 750 character description. 6 - 1500 character description. Page 13 - Heuristic Failures If you select to use a heuristic tester for virus scanning THDPRO.EXE can be set to either fail those files which raise heuristic flags or to pass them. If you use ONLY heuristic testers, this will default to fail heuristically flagged files. If you use SCAN.EXE for detection you can choose to only log instances of heuristic flagging. -File comments. File comments are a very complex issue in THD ProScan. At this screen your choice is simple. You can opt to enter a single path to a file to be used as a file comment for every file (option 1) or supply the path to a list of comments (option 2). For more information on the many options available for file comments see the appropriate section in this document. 1. You can supply the full path to a file to add as an "archive comment" OR 2. You can supply a full path and filename to a list of such files to be chosen at random. Press any other key to skip this entry - Drive options. this selection refers to the drives THDPRO.EXE should attempt to use when making it's temporary directory structure (temporary workspace). THD automatically detects the drives present on the system and displays the first three here. To access a drive not shown here remove one or more drive letters by entering the letter of the drive to be removed. For information or other options you should see the online help from this screen (F1). The "0" option tells THDPRO.EXE to use ONLY the default drive for it's workspace. This is HIGHLY recommended for Network operations or other environments when drive specifications can cause confusion. THD ProScan will use the following drives to test files. Drive C: Drive D: Drive E: If you do NOT wish one of these drives to be used for testing. press the drive letter to "NOT" do testing on. To access a drive not shown here, remove one or more of the above drives, until the one you want is displayed. To reverse the order showing press "1". To Rotate the order press "2". For network comp. mode press "0". [enter] accepts the configuration shown... Page 14 - File removal is a relatively complex choice. Choices 1 and 2 are relatively simple. for an explanation of CRC removal see the section on CRC mode. The online help also gives a brief explanation (F1 from the appropriate screen). 1. You may supply a few filenames to be removed. 2. You may supply a list of filenames to be removed. 3. You may choose to remove files by their CRC values. 4. You may remove files using by BOTH CRC and filenames. Choosing to use both list types will remove files based on their CRC values and then check the remaining files for files to be removed by name only. - The "files to add" option allows THDPRO.EXE to add files of your choice to each archive tested (except protected archives). At this screen you can supply a few file names or a path using wildcards indicating which files should be added (hit enter for none). - A feature of this tester is the ability to reject files from a list of file names. This list must be a list of file names ONLY with no extension with each name on a separate line. The HACKLIST "*.COL" files are compatible with this format and "may" be used directly. The hacklist "IDX" files can also be read directly by this tester. At this point you can hit enter to skip this option or enter the full path and filename of a list of files to be used as a hacklist. (See the section on file formats for specific information on the acceptable format of a hacklist) - This Version of THD ProScan allows you to select "default" options. If you choose to configure these options they will only be utilized if no options are entered on the command line. Supplying any parameters on the command line other than a file path and name will cancel these options. Options which can be set by this configuration are... The conversion type and level - The /NODESC option - The /CO feature - The /KO feature - Do you wish to set/modify defaults for any of these? [y/N] Page 15 At this point if you select to have THDPRO.EXE assume default command line options, you will be prompted as follows... The default options are as follows... These options are "toggles". To change the setting of any given toggle simply enter the corresponding letter. * Note that some options are unavailable without a conversion type. * Hit [ENTER] to accept the defaults as shown. A-- Conversion "OFF" by default. B-- Convert-only mode ("/CO") - FALSE C-- Keep-Original mode ("/KO") - FALSE D-- Convert indicator - None E-- Use /NODESC option - FALSE As you select options, the various values will change on the screen indicating your choices. Hit enter when the choices match your desired settings. (You might be best not to change these until you are familiar with the command line options and what they do). - THD ProScan has 3 user definable levels for archive conversions. You should select to modify one or more of these options if the preconfigured levels are not to your liking. Do you wish to view and/or modify these settings? [y/N] If you select YES you will see a screen like this.. Available options level4 level5 level6 Convert imbedded archives FALSE FALSE FALSE Convert SFX main archives FALSE FALSE FALSE Convert SFX imbedded archives FALSE FALSE FALSE Convert odd name main archives FALSE FALSE FALSE Convert odd name imbedded archives FALSE FALSE FALSE Convert protected main archives FALSE FALSE FALSE Convert protected imbedded archives FALSE FALSE FALSE Convert archives of the same type FALSE FALSE FALSE Arrow keys to move around. [SPACE] key to toggle the highlighted value. [ENTER] key to accept all values shown. Press desired key ... Change the values by following the instructions. To use these levels see the section dealing with Conversion mode. Page 16 - final screens - ----------------- After answering the numerous prompts in the install you will be presented three final screens. The options on these final screens are shown below. Some options may not be seen prior to the final screens. The options available on the final three screens are generally a recap of information you have entered during the installation up to this point. To change any of the entries type the letter which corresponds to the entry you wish to change. - Final Screen one - contains only selections which would have been configured to this point. - Final Screen two - contains only path to utilities which you would have configured prior to this point. - Final Screen three - has two option which you will not yet have seen they are options "G" and "I" - Option "G" deals with the timestamp of the file being tested. This should be set to indicate what timestamp should be put on this file. Hitting "G" from this screen will toggle between the following four choices. G-- File's Timestamp -- Use date of newest internal file. This option uses the timestamp of the newest internal file for the finished archive. G-- File's Timestamp -- Update to current date and time. This option uses the current time and date for the finished archive. G-- File's Timestamp -- Use File's upload date and time. This option uses the timestamp that the file had when it was uploaded. G-- File's Timestamp -- "Best Guess" at original date and time. This option uses a calculation based on a average of the 5 newest files in the archive. Recommended only if you don't normally strip others BBS ads from the archives. - Option "I" is used to determine if THDPRO.EXE should move and/or rename files which fail it's various tests. IF your BBS handles the moving of files when they fail (like RemoteAccess) then this should be set to inactive, so that the BBS can find the files to move them. If however your BBS does not handle moving of failed files (like Telegard 2.7), you should set this to "normal" so that THD will move the files as needed to avoid having the BBS delete them. Page 17 - Option "M" is toggled to invoke SECURE mode. Secure mode is explained in detail elsewhere in this document. You should set this to false until you have completely reviewed the section on secure mode. From this final screen hit [enter] to save the configuration into THDPRO.EXE and you are done. Remember that throughout this process pressing F1 will get you online help, and F2 will provide a dos shell. For the record, the online help in most cases offers a more complete description that is present in this portion of the text. At any prompt, configuration can be aborted by hitting CTRL-C. Page 18 -------------- - THDPRO.EXE - -------------- - Command line syntax - ----------------------- - ? - Running "THDPRO.EXE ?" will result in a help screen which gives a brief description of the proper syntax, for the various modes. - With the exception of the ? option, all other options require supplying a filepath. - /NODESC - Running "THDPRO.EXE {drive:\path\filename.ext} /NODESC" will result in normal running of the test mode of THDPRO.EXE while NOT importing the descriptions into your file data bases. This switch is useful when you wish THDPRO.EXE to update your data bases in regards to name changes but not in regard to descriptions. - CRC - Running "THDPRO.EXE CRC {drive:\path\filename.ext}" will invoke THDPRO.EXE in CRC mode. CRC mode is explained in detail later. This is the only mode in which wildcards will be accepted. - /CO - Running "THDPRO.EXE {drive:\path\filename.ext} /CO [Convert Indicator]" invokes THDPRO.EXE in Convert-Only mode. Using this switch will cause the file to be converted to the type of the convert indicator which must also be supplied (convert indicators are explained below). No "testing" will be done in this mode. - /KO - When conversion mode is active (either Convert-Only mode or normal test/convert mode), if this switch is supplied, THDPRO.EXE will not delete the original file after conversion takes place. (Normally if conversion is successful, the original file is deleted and replaced by the newly converted file). - /LA - Using this switch (Log All), THDPRO.EXE will not exit immediately following a failed virus scan. Instead, it will finish scanning with all configured virus scanners before indicating a scan failure. This can be used to record the log output of the three scanners into HEURIST.LOG. Note that output from the SCAN 1.x.x series is not logged, but Scan 2.x.x as well as F-Prot and TBSCAN are logged. Page 19 - /ADD - Using this switch tells THDPRO.EXE to toggle the flag in the TESTINFO record which indicates that the user wishes to have a record added to the file database if one does not already exist. THDPLUS does not support this option. It is included for users of third party utilities. This is identical in function to "SET THDOPT=ADD". - 0 (1,2,3,4,5,6,7,8) {COMPORT} - Supplying a single digit of 0-8 on the command line will cause THDPRO.EXE to ignore the internally configured comport and use the comport number supplied on the command line. The use of "0" will cause no remote output to take place (this forces local mode). Other comport numbers will supply remote output to the comport supplied. - /60 /120 /250 /450 /750 /1500 - Use of any one of these switches will inform THDPRO.EXE that instead of the comment size selected in installation, you prefer it use this "/xxx" size for commenting files. Note that this size selection refers ONLY to descriptions taken from a VENDINFO.DIZ and ONLY as used in file comments. These switches were added to allow you to have 1500 charcater descriptions in your File base but not be forced to have the same size comment in your file comment (if you chose to use that option). These switches have no effect when descriptions are taken from the other than VENDINFO.DIZ files. - TOZIP (TOARJ,TOLHA,TOSQZ,TOUC2,TORAR) {CONVERT INDICATORS} - These six labels are called Convert Indicators. Using these on the command line will cause THDPRO.EXE to go into conversion mode. (note that without the "/CO" switch testing will be performed as usual and conversion will follow immediately thereafter). Only one may be used on the command line. Detailed explanations of the various convert indicators is given later in this document. - Requirements - ---------------- This tester requires... - PC/XT (or compatible) - MS-DOS 3.3 (or higher)(other "DOS" systems MAY be acceptable) - A FOSSIL DRIVER (user output will not be sent if no fossil is found but the testing will still be done) - At least one Harddisk (drive assignment C: - Y:) - at least ONE of i) McAFEE's VIRUSSCAN (2.x.x supported by default) (1.x.x support through THDOPT) ii) F-Prot iii) TBScan - Enough free memory to run each of the utilities used by this program (+3k). THDPRO.EXE requires about 225k itself to load, but releases all but 3k of that to run external programs. Page 20 The following utilities are required depending on which file types you wish to test. - ARJ.EXE for "ARJ" files (version 2.41a) - GIFTEST for "GIF" files (version 4.xx) - HYPER.EXE for "HYP" files - LHA.EXE for "LZH" files - PAK.EXE for "ARC" files - PAK.EXE for "PAK" files - PKARC/PKXARC for "ARC" files - PKPAK/PKUNPAK for "ARC" files - PKZIP/PKUNZIP for "ZIP" files (version 1.10 - 2.04g) - RAR.EXE for "RAR" files (version 1.51) - SQZ.EXE for "SQZ" files - TDCHECK.EXE for "TD0" files - UC.EXE for "UC2" files (revision 2) (Where versions are specifically mentioned, it is believed that versions other than those mentioned "may" not work as expected.) - Function - ------------ WHAT WILL IT DO.. THD ProScan will .. 1) Check (and/or reject) files from a user supplied list of files 2) Strip the file comment 3) CRC test the file 4) FIND a drive with enough space to test the file 5) Create a directory called "THDTEMP.???" on that drive 6) Remove files (if configured) from the archive. (Removal by name, by crc, or by both) 7) Check dates to reject old files (if selected). 8) Expand the archive into that directory while recreating its internal path structure. 9) Extract and process VENDINFO.DIZ if configured. 10) It then selectively searches each of the subdirectories created for testable archives. If found, it repeats the above process until no more archives are found. 11) It will then scan each of the files in that directory and all subdirectories below it. 12) THDPLUS will run if so configured. 13) Add your loaders to the archive 14) It maintains a log in your BBS directory of all actions performed. 15) Perform a complete accurate conversion (if selected). 16) Add your file comment. 17) It then proceeds to remove the temporary directory structure. 18) Updates all of the log files. 19) Reports the appropriate errorlevel to dos. The full process is actually much more complex than this basic outline, but the above gives a reasonable representation of what happens. Page 21 - Features - ------------ - Support for ARC/ARJ/GIF/HYP/LHA/PAK/RAR/SQZ/TD0/UC2/ZIP file formats. - Two testing methods. THDPRO.EXE starts out in default mode. In this mode THDPRO.EXE will attempt to expand the main file and all of it's imbedded files prior to beginning the virus scan. This method is designed for speed, but can require a significant amount of disk space. If unable to expand one of the embedded files, THDPRO.EXE will drop back to the "FALLBACK" method. The "FALLBACK" method, extracts and scans each imbedded archive separately. This method may not require as much disk space (in some cases it requires significantly less), but will take longer to run. This is the method used by all previous versions of THD ProScan. The drop to the FALLBACK method is automatic and only used when space prohibits the use of the default method. - Intelligent processing of LHA files. The handling of LHA files is done in an "intelligent" manner. The file type is diagnosed to see if it is expandable on a DOS based system. If it cannot be expanded, it will be CRC tested only. If it can be expanded, it will be checked for the use of the root directory. If it attempts to use the root directory, a clone will be built which makes no attempt and the clone will will be expanded and tested in its place. - Complete logging of file testing. All aspects of the test are logged in a file called THDPRO.LOG in a directory which you configure in THDINSTL. The size of this log is configurable, and it reports processes and failures. - Logging of heuristic testing only when suspicious code is found. It seemed unreasonable to log all heuristic testing, considering that MOST of the time there are no infections. The logs kept for failures or for suspicious code are generated by the virus scanners themselves. - Sysop can opt to NOT test files if they are too large. During the installation, you can choose to not test files over a given size. If you choose this, you may pick from files over 1,2,3 or 4 megabytes (1048576 bytes per megabyte). If this option is enabled and THD ProScan is asked to test a file larger than the "acceptable" size, it will prompt the sysop for 5 seconds to press a key. (in this way you can still test these files manually by pressing a key). If no key is pressed, the file is passed without testing. Page 22 - 100% share aware and compatible (share.exe is not a requirement) Before any file is opened by THDPRO.EXE, the presence of share.exe is determined. If SHARE is loaded, then the file is opened in a shared mode, so that other processes may also use the files. If share is not loaded, files are opened in standard mode. If file access is denied, THD ProScan will wait for up to 30 seconds for the file to be released. If the file is not released in 30 seconds, the test is aborted and the file passed. Otherwise, if the file is released, testing will resume without incident. - File descriptions can be directly imported into the file data bases. Through the use of THDPLUS, file comments can be added to the file bases for users of REMOTEACCESS 2.00(+), Telegard 2.7, Renegade 07-17 and the many FILE.BBS supported BBS'es. THDPRO.EXE will create a data file with the necessary file information and then call THDPLUS to make changes. VENDINFO.DIZ if found will be processed and used regardless of the presence of the following files. Without a VENDINFO.DIZ these description files will be prioritized in the following order. i) FILE_ID.DIZ - if found it will be used. ii) DESC.SDI - will be used in the absence of FILE_ID.DIZ. iii) DESC.SDN - will be used if neither of the above are found. In the event that no description files are in the archive, THD ProScan will make no attempt to alter the user's description. - Allows the sysop to use any combination of SCAN.EXE / F-PROT.EXE / TBSCAN.EXE (1, 2, or all three) SCAN.EXE is no longer required due to it's memory needs. Instead you may opt to use any or all of the noted virus testers. Or any combination of them. However note that at least ONE MUST be used. Simply tell THDINSTL the full path and filename of the tester(s) that you wish to use and all selected scanners will be run on every file. Support for the SCAN 1.x.x series is available through the proper use of the THDOPT environment variable (explained later). - Supports "heuristic" testing for suspicious code using F-PROT.EXE or TBSCAN.EXE. When testing is done using F-Prot or TBScan, the tests are always performed in "heuristic mode". This will enable these testers to find some unknown viruses as well as the known viruses. - Optionally pass or fail files which contains suspicious code found by the heuristic testers. You can choose to consider "suspicious" files as being virus infected and thereby cause THD ProScan to consider them failed. Normally, I recommend against this but there are many valid reasons to fail such files. DO NOT fail these files if your BBS deletes failed files. This is only optional if SCAN.EXE is used. in absence of SCAN.EXE heuristic failures will be considered virus infected. Page 23 - Optionally display a "changed" internal interface. - Allows the sysop to supply up to 9 user side "interfaces" . New in version 9.0 is the ability for the sysop to supply up to 9 user side interfaces and 9 replacement corners for the internal interface. Giving a total of 21 possible remote screens to be chosen at random during any one test run. - The file after testing can be time stamped with one of four date selections. Original date - Choosing this option will date the finished file with the same date and time it had at the start of the test. Current Date - Choosing this option will date the finished file with the time and date of the completion of the test. Newest date - Choosing this option will date the finished file with the time and date of the newest file included inside the archive. Best Guess - Choosing this option will date the finished file with the time and date of a calculation of the average date and time of the five newest files internal to the archive. - Identifies all archives by their internal signatures. - Including self extracting archives. All archive types are recognized by their archivers unique signatures. Even the self extracting files are done by signature, so the name of a file will have no bearing on whether or not it is tested. If it is an archive type which you have configured for testing, it will be tested. This may be limited by some bbs programs ability to tell THD ProScan what to test, since some will only pass the file for testing based on it's extension. - Allows files to be rejected based on the dates of the files inside the archives. You can choose to limit the acceptance of files on your BBS based on the actual date of the files inside the archive. OR you may choose to limit them based by how old they are. The difference? You may choose to reject files older than "3 months" (you choose the age) and thereafter never update the limit as age is compared to the date of testing. Or you may choose to not accept files created before "January 1 1990" (again you choose the date), and files will be failed based on their "date". Note that the dates referred to here are the date INTERNAL to the archive and not the archive date. - Can reject files by name using a "hack list" (HACK****.COL and IDX files can be read directly). You can choose not to test files which have specific names. This is useful for avoiding testing of known viruses/hacks/pirated software. You can create a list of file names to be rejected or use the official "Hack Report" files. Or you can mix the two. Files rejected by this method will be considered to have FAILED testing. - Support for remote ansi or ASCII as determined by auto ansi detect. The presence of ANSI on the remote side is automatically detected. If ansi is found, it is used. Otherwise output is plain ASCII. Page 24 - Suppression of remote output through the use of "comport 0". - Suppression of remote output through the use of a user defined comport. Remote output can be suppressed when run locally (to avoid sending the ASCII output to an unsuspecting user). It can also be suppressed when told to send to a "legitimate" comport. (Not recommended except in some very odd circumstances) - Protection for "ZIP" archives which have a valid "AV". Zip files which contain a valid "AV" (Authenticity Verification) will not be modified, since this would corrupt the "AV". These files will be reported in your THDPRO.LOG so that you may see if they have legitimate "AV"'s. All "testing" will be performed as usual. - Strips comments from all archives before any processing is done Ansi bombs are avoided by stripping the comments of all archives without allowing the comments to be displayed to the screen. This will protect your system from ansi bombs while THDPRO is running. - Recreates full directory structure "from" the temporary directory, Although the process involved is very complex to explain, if an imbedded archive exists in an archive it WILL be found and tested. No matter how many subdirectories or other imbedded archives must be searched in order to find it. This is limited by the types of archives supported by your system. But if it can be found with what is configured...IT WILL BE. - Does not allow the "overwrite" option on any of the archive types. (stops some forms of "hacking") Some upload testers use the "overwrite" option to avoid having the archivers prompt the sysop for input. THD ProScan does not allow overwrites of any kind. The reason being that one of the most popular methods to corrupt your system was to create archives which would expand over your system files. THD ProScan will not allow this. - Add loaders to the main archive. THD ProScan can (if configured) add loaders (insert files into an archive). - Insert your file comment - Insert a specific comment depending on the location of the file. THD ProScan can add file comments in a number of ways. It can be told to add a single comment to every file tested. OR it can select at random from list of such comments. OR it can insert a comment based on the file's location at the time of testing. The options are further explained in the "COMMENT" portion of this document. - Configurable file specific text in file comments. Key words can be used in file comments to be replaced by file specific information. Please see the section on Configurable comments later in this documentation. Page 25 - Will use one of as many as three drives to test files by searching in order to find enough available space on one of them. THD ProScan will search up to three drives (as selected in THDINSTL) to find one which has enough free space to expand the archive to be tested. Testing will only be done if sufficient space is found. - "Intelligent" installation which will attempt to do as much of the installation for you as is possible. The installation tries to find any file which it prompts for by name. If it finds a file by that name it will ask you if you want to use it and optionally allow you to insert the path to a different file. (in this way you are not limited as to the location of your utilities) - Online help during the installation. - Dos shell from the installation. While running THDINSTL, online help is available by pressing F1, a dos shell is available by pressing F2. and the installation can be aborted by pressing "CTRL-C". - The configuration of THDPRO.EXE (from ver 6 or higher) can be used automatically. THDINSTL can import the configuration of any previous version of THDPRO.EXE (6.0 or later). You can then modify that configuration to suit your needs with this version. - Will Virus scan all file types regardless of types configured. If THD ProScan is asked to test a non supported archive or a "normal" file, it will simply virus scan the file. In this respect it is a good idea to have all uploads tested by THD ProScan. - Remove unwanted files from the archives tested (using name and/or CRC). Files can be removed from archives based on their name, their CRC or both. A more complete explanation is available under the heading "CRC MODE". - Option to hang up on users who upload viruses. Sysops who are tired of users not virus scanning their software before upload may choose to drop carrier on those offenders. - Option to reboot after a viral detection. You may also reboot after a viral detection. Although usually not necessary, It does make some people feel better. - THD ProScan also supports a "fall back" to the original processing method. If an imbedded archive fails to expand for testing, THDPRO.EXE will fall back to the old method which extracts and tests each imbedded archive separately (thus requiring less space). - No Known ways to "alter" the operation of your BBS through it's use. As stated this tester is designed with security in mind. I have done everything in my power to use the options best suited to that purpose. Page 26 - basic operation - ------------------- THD ProScan Version 10.0 has 3 distinct modes of operation. They are TEST MODE, CRC MODE, CONVERT(-ONLY) MODE. Note also that conversion can be done on the fly during testing, although this is currently only recommended for persons running RA/TG/RG or FILES.BBS oriented BBS packages. (And only those specific versions as listed below). Future versions and/or add-ons may add the necessary functionality for other BBS'es to use this feature as well. Each of the three modes is explained below. There is no way to change the "way" this scanner operates (without hacking it) for a good reason. Even some of the most noted upload testers make a very serious flaw in the way they handle uploaded archives. By not allowing the user to change these settings, I avoid someone opening one of those "all too evasive" back doors and hacking into your system. So please don't ask me to change the parameters that this program uses. They are that way for a reason. (I will of course be happy to change any that prove to be incorrect or cause "real" problems). - CRC mode - ------------ "CRC MODE" ---------- Beginning with Version 9, THDPRO.EXE can also perform another function. THDPRO.EXE can also create and/or update a CRC list (for use with the file removal function). The proper syntax to invoke the CRC mode is... C:\UTILS\THDPRO.EXE CRC D:\WHATEVER\*.* {This would calculate the CRC values for all files in the directory "C:\WHATEVER" and add them to THDPRO.CRC. Wildcards are accepted in CRC mode only.} The use of CRC mode is intended specifically for use by those wishing to remove files from archives based on the file's CRC value. In order to use this ability, you must have chosen to use the CRC method of file removal during the installation. To understand why you might choose to use CRC removal, you should understand that a CRC is a calculation based on the "bytes" of a given file. No matter what the file name is, the file will always have the same CRC. (unless it is modified internally) You can use this to your advantage. If you constantly get files from a BBS which always adds the same file to each of it's archives but has used different names to avoid having them "easily" stripped. You can have these files removed by using their CRC value rather than their name. Page 27 For example, Rose Media in Toronto adds files called "READ.ME" to each of it's archives. If that file exist, it is added as "READ-ME.". For obvious reasons you might see why you wouldn't want to remove these these files by their name. By running "THDPRO.EXE CRC READ.ME" on those files, THD ProScan will calculate the CRC of that file and add it to a list of CRC values (THDPRO.CRC) and thereafter remove those files regardless of their name while not risking the removal of legitimate "READ.ME" files. You must (of course) have a copy of the file for THD ProScan to be able to calculate its CRC value. The format of the list created is outlined in detail in the section regarding file formats, later in this document. The THDPRO.CRC file is generated and updated by THD ProScan through use of CRC mode and never need be dealt with manually. This option is not active by default and must be selected via the installation. - Conversion and Convert-Only mode - ------------------------------------ THD ProScan Version 9.0 introduced a fully functional archive convertor. This version can convert from any of the supported archive types to any of ARJ/LHA/RAR/SQZ/UC2/ZIP file formats. It can be used interactively during testing OR as a standalone conversion utility. What makes this convertor better than every file convertor I have seen is the simple ability to convert as well as THD ProScan tests. Quite simply, this convertor will find archives that other convertors and testers simply never see. In this respect it is the most complete archive convertor. (*Note that some convertor with this ability may exist, but I have never seen nor heard of it). This conversion mode offers special features to users of ... RemoteAccess 2.00 (or compatible) Telegard 2.7 (or compatible) Renegade 07-17-93 (or compatible) FILES.BBS (normal and SBBS extended format) -Note that compatible refers strictly to the file data base structures for each BBS type and that future versions of these BBS softwares are unlikely to remain compatible. Renegade and Telegard sysops might wonder why they should use this convertor to convert their archives, since their BBS already has provisions for file conversions. The answer is simple. Flexibility and full conversions. This convertor offers a number of conversion levels (as well as the ability to create protected archives) and does the most complete conversion possible. This is something these two BBS packages are unlikely to offer in the near future. Page 28 Version 9.1 adds a parameter for conversion mode which will stop THD from deleting the original archive after conversion. The "/KO" switch (Keep Original) will only be useful for BBS types which require the original archive to be present at the end of conversion. TG/RG need this as they will attempt to delete the original after a conversion and choke when it is not there. Other BBS'es or processes may require similar measures. Conversion mode is invoked by use of a "convert indicator". These indicators are as follows. TOARJ - TO CONVERT TO ARJ FORMAT TOLHA - TO CONVERT TO LHA FORMAT TORAR - TO CONVERT TO RAR FORMAT TOSQZ - TO CONVERT TO SQZ FORMAT TOUC2 - TO CONVERT TO UC2 FORMAT TOZIP - TO CONVERT TO ZIP FORMAT If any of these indicators are appended to THDPRO.EXE's command line, then before a file comment is added, the file is converted to the type specified. Conversion will of course only be done if the conversion type and the original archive type are both configured in THDPRO.EXE for testing. To use this as a stand-alone convertor, you must first configure THDPRO.EXE (using THDINSTL.EXE) and when invoking the convert line include the switch "/CO". So the command lines would be as follows... THDPRO.EXE C:\TEST\TEST.ZIP TOARJ - this would test "TEST.ZIP" and thereafter convert it to an ARJ archive. THDPRO.EXE C:\TEST\TEST.ZIP /CO TOARJ - this would convert "TEST.ZIP" (without testing) to an ARJ archive. The convert indicators have a few variants. any of the convert indicators is capable of converting on 5 different levels. The five levels of conversion are as follows.. default (no changes to the indicator) - Using the default level files will be converted ONLY if they have the correct extension for their archive type (lzh for LHA etc). LEVEL 0 (add a "0" to the convert indicator { TOZIP0 }) - will convert ONLY the main archive (no imbedded conversions). LEVEL 1 (add a "1" to the convert indicator { TOZIP1 }) - will convert ONLY files which have the correct extension for their type AND are NOT the archive type to be converted to. This level will not repack a zip when converting to zip. LEVEL 2 (add a "2" to the convert indicator { TOZIP2 }) - Will convert files if the have the correct extension OR the extension "EXE". Page 29 LEVEL 3 (add a "3" to the convert indicator { TOZIP3 }) - will convert any testable archive type regardless of it's extension or present archive type. This is also the ONLY level which will convert "AV" protected "ZIP" files or "secure" "ARJ" packets. ** NOTE ** "TOZIP3" would be used to convert all supported archive types to the ZIP format without regard for their extension, present archive type, or AV protection. "TOARJ2" would be used to convert any supported archive type with the proper extension or an extension of "EXE" to the ARJ format. "TOSQZ1" would be used to convert only archive types other than SQZ, and ONLY if they have the correct extension for their current archive type. "TOZIP0" would be used to convert only the main archive while leaving all imbedded archives in their original archive format (for compatibility with some installation programs which will require a specific format to install). "TOLHA" would be used to convert ALL supported archive types to LHA format only if they have the correct extension for their current type. The above switches apply in both test mode and Convert-Only mode. ** end note ** When run in Convert-Only mode (/CO) THD ProScan will still strip the comment and add your proprietary comment. This is done to ensure that ansi bombs are not loaded during the conversion (note that when THD uses the window effect, ansi is not supported. However on some machines this window may not be supported and the standard console, which does support ansi, will be used). This feature could be used to replace comments only by using level1 and converting to the same archive type as the original (since no conversion would actually take place). The conversion feature of THD ProScan will not cause THDPRO.EXE to exit with a non-zero errorlevel (in test mode). If testing is passed and conversion fails, the errorlevel returned will be "0". In Convert-Only mode, THDPRO.EXE will return "0" for a successful conversion and "1" for an failed conversion. At the completion of a successful conversion, the original file is deleted. IF you are running RemoteAccess 2.00 (or equivalent) and have configured THDPRO.EXE to add file descriptions, then the name will be updated in your FDB. THD ProScan can also update the names in the TG and RG and FILES.BBS bases following a successful conversion. HOWEVER note that no name changes will be done for TG/RG when the file is the result of a batch upload. It cannot be done because the file name is not inserted into the BBS databases until after a successful file test. Page 30 If you are not running one of these BBS types then descriptions and filenames will NOT be updated in your BBS program's data bases. It is therefore suggested that unless you are running one of these BBS types DO NOT CONVERT DURING TEST MODE. Instead, use the Convert-Only mode (after testing) to convert your files. (This does not apply if you are using the convertor to repack archives of the same type.) As a side note, all conversions are done in maximum compression mode for any archive types which support it. Sysops of the supported BBS types should convert during testing ONLY if they have configured THD ProScan to acknowledge that they are indeed running one of the supported BBS'es. These sysops can use the following command line. (Note that this only applies where the filename will be in the base to be modified. THD does not add new entries to any of the supported types.) THDPRO.EXE {drive:\path\filename.ext} {convert indicator} The following command line is recommended for BBS type's which support single stage conversions. THDPRO.EXE {drive:\path\filename.ext} /CO {convert indicator} For BBS programs which depend on 2 stage conversions, I suggest that stage 1 run "THDPRO.EXE" with no parameters (this will return an errorlevel of "0" allowing the program to move to the second stage). Then use the command line above (for single stage conversions) for stage 2. One final ability of "conversion mode" is the ability to create "SECURE" packets with ARJ and/or "AV" packets with PKZIP. If you have a registered copy of one (or both) of these programs, you can opt to have THD ProScan create these "protected" archives. This will be done through the use of environment variables. For "AV" protected zip archives you must set an environment variable of THDZIP=TRUE or THDZIP={drive:\path\to\your\AVEXTRA.TXT} This entry will be required if you wish the AVEXTRA.TXT information inserted into your finished archive. If THD ProScan finds this variable defined as above it will send the command line to create an "AV" protected ZIP file (you must also configure THD ProScan to use the registered version of PKZIP) Page 31 For "Secured" ARJ archives you must set an environment variable of THDARJ={drive:\path\to\your\security.key} DO NOT include ANY switches... JUST the path and filename of your security key file. THDPRO.EXE will supply the necessary switches to use the security key. Be sure to include the full drive path and filename in this variable. (And THD ProScan must of course be using the registered ARJ). - Test mode - ------------- The operation of the scanner could not be simpler. You need simply run THDPRO.EXE while supplying it with the FULL path and filename of the file to be tested. I STRONGLY suggest that you also supply the full path and filename to THDPRO.EXE as well (not necessary but it too can help to reduce hacking). So the proper syntax would be as follows... C:\UTILS\THDPRO.EXE D:\NEWUPS\TESTFILE.ZIP {Where THDPRO is located in "C:\UTILS" and the file to be tested is "TESTFILE.ZIP" which is located in "D:\NEWUPS"} The tester optionally accepts a comport # as a parameter. That parameter can be a single digit between 0 and 8. This parameter is the number of the comport to be used for remote output and is only necessary if you wish output to a comport other than the one specified during the install. Using "0" will not send any remote output. Numbers between 1 and 8 will send to the comport of the corresponding number. If run without parameters, It will simply display the correct syntax. ERRORLEVEL 0 will be returned in any event where a file is not tested (to avoid the BBS software deleting files due to improper syntax). While geared toward the testing of archived files, The tester will virus scan any file type for which it is not configured. So having your BBS use this tester to scan "EXE" and "COM" files is an excellent idea. (The addition of "self extracting" testing makes this a good idea as well.) The passing or failing of such files will be based solely on the result of the scan and no other operations will be attempted on the file aside from the heuristic scan. Any valid filename can be passed if you wish it to be "scanned". I suggest that you configure your BBS to "test" all files with "executable" extensions as well as any "OVL/OVR" files. IF your BBS allows it, testing of all uploaded files is recommended. Page 32 This tester will exit with one of 10 DOS errorlevels. ERRORLEVEL 0 - All tests were passed satisfactorily. - The scanner will also exit with this errorlevel under a number of "odd" circumstances which will avoid having a file fail due to some unforeseen difficulty.(This includes failing to supply a proper path to the file to be tested and a number of other small things) ERRORLEVEL 1 - An imbedded archive failed the CRC test. - In Convert-Only mode this indicates a failure to convert. ERRORLEVEL 3 - The file has failed due to the date restriction. ERRORLEVEL 4 - The file was failed for being on the Hack list. ERRORLEVEL 5 - An imbedded archive failed the CRC test due to a disk read error. (used by some BBS programs to determine if the file is to be resumed later.) ERRORLEVEL 10 - A virus was detected during the "scan" (or optionally, the heuristic scan). ERRORLEVEL 15 - The main archive failed the CRC test. ERRORLEVEL 103 - File access was denied for longer than 30 seconds resulting in a premature abortion of testing. (Share supported but not required.) ERRORLEVEL 233 - CRC testing was attempted on a nonexistent file (file existed at start of testing and was deleted prior to to the CRC calculation attempt - near impossible error) ERRORLEVEL 255 - A security breach. This error will occur any time a needed executable file fails the CRC test prior to execution. This will occur only with secure mode active. ** note - The sysop view is NOT identical to the user view and does not necessarily fully reflect what is seen on the user's side. It was deemed unnecessary to provide "complete" compliance with the user view, given the additional information available through the sysop view. - Frequently asked Questions - ------------------------------ Q. How do I register this fine tester? A. Registration in the traditional sense is not required. However, if you really wish to do something for the author, The following is what I would like to see. Make the file FREE on your BBS (No Points/No Ratio). Make it FREQ'able if you are part of a net. If you are on a BBS that doesn't have it available, upload it there (ESPECIALLY foreign countries). If you have comments or suggestions, send them to me through Fidonet at 1:259/423 (attention David Muir). And above all, encourage people to use it. Page 33 Q. Do You Accept Donations? A. Beginning with Version 8, Yes. Prior to this version, I have fought off the urge to ask for Donations. However, comments from many people have made me reconsider. People wishing to donate to the... "Dave Needs a New Computer Fund" or the "THD Deserves an AT Fund" can send bank notes payable on a Canadian financial institution to... David Muir, 198 Leyton Ave, Scarborough, Ontario, Canada M1L 3V6 Please note that any money sent will be considered a "GIFT" and is not "registration". THD ProScan remains free. Q. Why do all the files fail the SCAN? A. As noted in another area, SCAN.EXE by McAfee is becoming more and more memory intensive. As a result, persons who's BBS programs are not swapping their memory are finding that SCAN won't run effectively. If SCAN.EXE does not have sufficient memory to run, it returns an error. THD interprets an error from SCAN as a viral infection. To avoid this, either avoid using SCAN.EXE or make sure that your BBS (and any other resident programs) are leaving enough memory to run it. Usually having your BBS swap its memory, frees enough to run Scan. Q. Why is the UC2 format not supported? A. It was my intention to support the UC2 format. However, since UC2 does in fact not work on my machine (at all), I am unable to properly test the options from a security point of view. I'm also not terribly pleased with it's use of batch files to perform various functions (while I suspect I could work around these, it makes no difference if the archiver itself does not run on my system). For those of you who think this is selfish, I apologize, but I will not support a utility of which I cannot test the security. If and when another release of UC2 is made, I will again try to test it. Until then, the archiver will not be supported by THD ProScan. Q. THD ProScan runs fine locally but doesn't send any remote output, why? A. A common mistake for people is to not read the requirements of a given program. In this case the likely solution is to install the required Fossil driver and/or select the proper comport in the installation. Q. Can I stop THD from Moving/Renaming files? A. YES. With version 6 - 9, THDINSTL will accepted a parameter of "/NOMOVE" and altered the THDPRO.EXE file to not perform the move/rename operation. (In Version 10.0 this option must be toggled from the final configuration screen, since /NOMOVE is no longer supported.) Q. Why are the version numbers always ".0"? A. I have decided to stick with whole numbers for each new release. The "." is reserved for use in patch files as was the case with version 5.1. At least this way, when you see version 7 you will know that there have not been 100 "point" versions before it. Also each version number used is accounted for in the HISTORY.DOC, as are all the bugs found and fixed to date. Page 34 Q. Can I change the options used by SCAN.EXE or the archivers? A. NO! Q. Why not? A. The reason for making this tester in the first place was because of the way (literally all) other upload testers handled the options. Those who left them configurable, handed the BBS user keys to your system, as did most of those who did not let you configure them. The options I use in THD Proscan are the ones I would use IF I ran a BBS. THD is the ONLY tester I could not find a simple way to break into a BBS. If I allow the options to be modified, Then I allow people who do not know the methods used to break into BBSes a chance to turn my tester into a back door. Q. You always emphasize the "SAFE" aspect of this tester, Is it really that safe? A. I cannot say that there is no way to get past it. However, I can say that I have not been able to do so and have never heard of anyone doing so. I have however tested a number of other upload testers and been successful in EVERY attempt at getting past them. I am not saying that it is impenetrable, only that I don't know any way. But be warned... "Locks are for honest people. Real thieves can break into almost anything." Q. Why do I even need an upload tester? A. You don't... It is simply a convenient way to test files while the user is online. If you wish to test all files manually that is your option. If you wish to trust another tester, that too is your option. But if you are at all unsure as to the security offered by other testers, use this one. If you find a back door in my tester, tell me. I will fix it. If I can't, I will stop programming it. Q. What options DOES this tester use for the archives? A. Basically it uses those options required to recreate all subdirectory structures without allowing the use of the root directory. It does not allow any overwrites. Q. Why no overwrites? A. Many testers allow overwrites as a way to stop archivers from prompting the sysop, I simply create an environment where this will never occur. Allowing overwrites could let a virus get past the tester by having two files with the same name, My tester will expand both those files and test both those files, while some other testers will let the virus free file overwrite the infected file and lose the ability to detect the virus in the first one. Q. So no viruses get past this tester? A. No viruses that can be detected by your version of McAfee's Virusscan. Unknown viruses or viruses not yet detectable by your version of SCAN.EXE may still get by, but they are few and far between. Also in this version the heuristic testing can aid in detecting unknown viruses. Page 35 Q. The Ansi screen takes too long. Can it be aborted? A. No. It is interactive and must complete in order for the indictors to make any sense. Users not wishing to see it could disable their own ansi, thus causing the ASCII output to occur. Q. Sometimes my users don't get the ansi screen. Why? A. The program allots a given amount of time to detect ansi on the remote system. If the remote does not respond in that time, it is assumed that they have no ansi capability. This detection time has been revised a number of times but will never guarantee that the remote does or does not have ansi active. If a user shells to use a protocol, then the terminal cannot answer the detection sequence until it is again active. In the meantime THD could timeout on the detection and send ASCII instead. Work is still ongoing to optimize that time span to allow most terminals to regain control. Q. My multinode BBS can pass the NODE number but not the port number. How do I get THD ProScan to understand which "PORT" to use? A. The easiest way to do this is to run THDPRO.EXE from a batch file. Have your BBS pass the "NODE" to the batch file and then have the batch file call THDPRO.EXE with the appropriate PORT number for that node. The following example would work for a BBS with node 1 using com2 and node2 using com3. @echo off CTTY CON IF "%2"=="1" C:\THD\THDPRO.EXE %1 2 IF "%2"=="2" C:\THD\THDPRO.EXE %1 3 ^node number use comport^ Page 36 --------------- - THDPLUS.EXE - --------------- THDPLUS is a file database interface which supports FILES.BBS (standard and SBBS extended formats), Telegard 2.7, Renegade 07-17 and RemoteAccess 2.00 and 100% compatible file bases. It processes a record created by THD ProScan Version 10.0 (or later) called TESTINFO.DAT. - command line syntax - ----------------------- - ? - Running "THDPLUS ?" Will show an identification screen and instruct the user to run without parameters. THDPLUS.EXE - process the last 5 entries normally (entries properly processed are marked as "processed" in TESTINFO.DAT). THDPLUS.EXE /ALL - Process all entries normally (entries properly processed are marked as "processed" in TESTINFO.DAT). THDPLUS.EXE /REMOVE - Process all entries normally, and mark all entries as "processed" in TESTINFO.DAT, regardless of success or failure to import. - Requirements - ---------------- TESTINFO.DAT must be located in the same directory as THDPLUS.EXE (which is generally the case since THDPRO.EXE will create it in it's own directory and it will only run THDPLUS if it too is that directory.) - Operation - ------------- When THD imports a file into the TG file bases it will check the first character in the description. If the first character is a letter or number, THD will enter the description as "normal". If however the first character is not a letter or number, THDPLUS will indent the first line by 5 spaces. The hope is that descriptions which use "box" figures etc will be aligned by this process (to preserve the "box" appearance). The exception is that the following characters are considered to be valid "letters". ;:<>=?@ The reason these symbols are counted as "letters", is simply due to their place in the ASCII table (they occur between the valid numbers and letters). Given that few descriptions are likely to begin with these characters (and almost none that do would likely be representative of "box" figures), it was simply easier to ignore them than to make exception for them. Page 37 A "logic" is used to determine the lines for each of the fields in TG/RG description which "could" on occasion backfire, resulting in inappropriate looking descriptions. (I haven't run into any problems using the current logic, but this logic was based only on examples I have available to me). The basic logic is that (for TG/RG) a file description containing CR/LF will be considered to be a valid EndOfLine(EOL). Thus THDPLUS will strip any CR/LF and end the line. If it does not encounter a CR/LF it will back up to the nearest space character and end the line there. Where no space occurs in the line, THDPLUS will split the line into 2 lines with the above conditions (at 50 characters per line). THDPLUS can be run from the commandline to process unprocessed TESTINFO.DAT files. TG/RG for instance should use this where "THDPRO DIZ" had previously been recommended. As a side note, to maintain compatibility with earlier versions, "THDPRO DIZ" will still function, but it will do so by calling THDPLUS thus rendering it actually slower than simply running THDPLUS.EXE. The only possible advantage to doing this is that THDPRO.EXE will verify that it is running a PainSoft created version of THDPLUS where calling it from a commandline does no such verification (in absence of a legitimate PainSoft file THDPRO.EXE will do nothing more than show an opening screen and exit). No special considerations are given to the other BBS types. They are imported "as is" into the appropriate file bases. Also TG sysops should be aware that THDPRO.DIZ will still work, but simply running THDPLUS.EXE will be faster. All thdpro.diz files present on TG systems should be processed prior to running this new system as the THDPRO.DIZ file is no longer recognized or processed with this version. - TESTINFO.DAT - ---------------- - What is it? - TESTINFO.DAT is a new data file that will be created by THDPRO.EXE when any BBS type (aside from "0") is selected during installation. The file contains a multitude of information which can be used by third party programmers who wish to interface THD with their own BBS. THDPLUS uses this file to interact with the currently supported BBS types. The structures are included in the archive for programmers who might wish to make use of it. - Why is it? - The format was created for two reasons. First it offered an opportunity for me to remove the description code from the actual THDPRO.EXE file (resulting in lower overhead for those whose BBS'es not yet supported). Secondly it gives others a chance to interface THD with their BBS programs via third party utils. The file is formatted so that these third party utilities can get the information they need in a quick and efficient manner. By moving these these structures out of THDPRO.EXE it also allows me to create specific interfaces for other BBS types without needing to update the entire THD package. Page 38 - How does THDPRO use it? - THD ProScan uses it by creating the file during it's running time, and calling THDPLUS to process the file. THDPRO.EXE performs the maintenance (removing processed records and or deleting unneeded files), while THDPLUS records in the file when it has been processed. Under all normal circumstances, THDPRO.EXE will run, process and remove the file, prior to the completion of the test. However with TG/RG where the file will not yet be present in the data base, this file will be updated and left on the disk for processing on the next run (or manually by running THDPLUS). - How can others use it? - The file itself is designed with third party programmers in mind (THD makes use of only a very few fields). The information recorded in this data file can be accessed by third party programmers by having the user set his BBS Type to "O" (Other) in the installation. THD will then process the record and the third party utilities can extract the needed information from that record and perform file base updates based on that information. (sounds confusing, but programmers who look at the structures ought to be able to figure it out ). The file is designed with programmers in mind and does not contain data in any form useable by non-programmers. Page 39 --------------- - THDTERM.EXE - --------------- - General Information - ----------------------- This is an excellent tool for sysops as well as users. For a sysop, it will allow them to use THD ProScan Version 5+ with their fossil active without attempting to send output over the modem. Thus making it the perfect tool for a sysop or user to test his/her downloads. Compressing the executable is recommended for space purposes and has no adverse affect on the operation. However, Note that it must be configured before it is compressed and that it cannot be configured or reconfigured in it's compressed state. For users in general it provides the same security that many sysops have become accustomed to. Needless to say, THDPRO.EXE will need to be configured properly before this program will be of any use. Reasons for failure are not reported by this program, but all such instances should be accounted for in your THDPRO.LOG created by THD ProScan. With the exception of possible runtime errors, this program will ALWAYS exit with errorlevel "0". The only indicators left by this program will be the presence of the tested files in the Pass or fail directory. In keeping with the tradition of THD ProScan, this program will NOT delete files for any reason. Files are left for you to do with as you choose. This program was outwardly inspired by THDPRO TERMINAL EXTENSION. A program created for the same basic purpose as this one. - command line syntax - ----------------------- THDTERM accepts 3 parameters. Default is to run THDTERM with no parameters to process "as configured". - 0-8 A single digit from 0 to 8 which represents the comport to which it should have THDPRO.EXE send it's output. the default is to use "0" which will cause THDPRO.EXE to run in local mode. A comport is always sent to THDPRO.EXE, even if none is supplied. - /C (configure) If run as THDTERM.EXE /C, This will cause THDTERM to enter configuration mode. Configuration mode simply prompts you for 4 things and configures the executable file to use those values from that point on. Configuration mode is the default the first time this program is run, and this switch should be used if you wish to reconfigure it at a later time. Page 40 - /S (source directory) Running THDTERM.EXE /S {drive:\source\dir\to\test} will cause THDTERM to process the supplied directory instead of the internally configured directory. Also, when run with the "/S" parameter, moving of "passed" files is suppressed, and only those files which fail are moved (to the fail directory). - Requirements - ---------------- THDTERM requires a configured copy of THDPRO.EXE and about 2k of memory above that which will be required by THDPRO.EXE. As well, since it runs THDPRO.EXE, it also requires the same things required by that program. If you can run THDPRO.EXE normally and have an extra 2k of memory, then you have met the requirements. - Configuration - ----------------- The first time THDTERM.EXE is run it will automatically prompt you for 4 things. (no parameters need to be supplied on the first run) You will be prompted for the following... Path to THDPRO.EXE Path to the directory containing the files to be tested. Path to the directory for passed files. Path to the directory for failed files. ALL of these paths MUST exist prior to the configuration. As mentioned above it can be reconfigured by running "THDTERM.EXE /C". - Function - ------------ Functionally speaking THDTERM doesn't actually "do" a whole lot. It's purpose is entirely single minded. It is designed to replace a simple dos "for..in..do.." statement. Meaning that it runs THDPRO.EXE on each file in the default directory (or alternately the supplied "source" directory). The advantage to using THDTERM is singular. It runs THDPRO.EXE on each file, and moves it (in default mode) to either the pass or fail directory, depending on whether it passes or fails testing by THDPRO.EXE. The singular advantage to this method is that it will never duplicate a test as might be seen by a dos for..in..do.. statement and it provides a little error checking prior to moving any files. Basically it is a glorified batch file. Page 41 - Features - ------------ None to speak of. It serves a very basic purpose in a very basic way. This program should be used where you might like to use wildcards with THDPRO.EXE but are unable to. - Basic Operation - ------------------- Basic operation is achieved by configuring the program and running THDTERM.EXE. This will cause it to run THDPRO.EXE on each file in the default (or alternately the "source") directory. Files will be "moved" to the directories internally configured depending on whether THDPRO.EXE passes or fails them. - THDTERM and Filedoor - ------------------------ THDTERM now accepts a comport as a parameter. As with THDPRO.EXE, the comport must be the last parameter and must be a number between 0 and 8. If supplied with a comport, THDTERM will tell THDPRO.EXE to use that comport instead of "0" which it uses by default. This modification will allow Filedoor users to use THDTERM to run THDPRO.EXE while still sending the remote output to the user. Those sysops should have their exitafteruploads command as follows. ExitAfterUpload1 C:\THDPRO\THDTERM.EXE /S $U $P $M $N I also recommend that the "exitmask" not be defined and that THDPRO.EXE be expected to test ALL uploads. Note... I do not use Filedoor myself and have based the above strictly on the documentation for that program. Some modification may be necessary. Also note that, newer versions of filedoor may not work as described here and may in fact be able to pass the filename as required by THDPRO.EXE. Versions capable of passing the filename should use THDPRO.EXE for this purpose and not THDTERM. Use THDTERM only in those instances where file names cannot be supplied. Page 42 --------------- - THDDEMO.COM - --------------- - Purpose - ----------- THDDEMO.COM serves two purposes. The first is to show you the user side view of what THDPRO.EXE does from the remote perspective. This can be accomplished by running THDDEMO with no parameters. When run, it will randomly choose and display one of three internal screens along with an "emulation" of how that screen changes from the remote point of view during an actual test. The second purpose is to give you a preview of what your custom ansi screen will look like to the remote user. The makeup of custom screens is discussed below in the section regarding THDPRO.AN? and PAINSOFT.AN? files. THDDEMO.COM can be used to preview your ansi with the THD test screen. Use this to see if your ansi will be displayed correctly to the remote users. Typing "THDDEMO.COM" will show you the "traditional" THD Ansi screen. Typing "THDDEMO.COM" followed by the path to YOUR ansi file will show you what your ansi will look like to the remote user. THDDEMO.COM is purposely crippled to not properly display ansi which exceeds 70 characters per line. This is to ensure that your ansi will remain compatible with the majority of user's systems. If your ansi looks fine through the demo, it will almost definitely be fine on the remote end. THDDEMO accepts a filename to be displayed as a remote user would see it during operation. If the file is "PAINSOFT.AN?" (where the ? is any character), the file will be displayed as a PAINSOFT formatted file. Any other filename will be displayed as a THDPRO file. The differences between the two formats are discussed in detail below. When testing a PAINSOFT formatted file, THDDEMO accepts /C as a parameter (optionally) which allows you to view the various the colour settings of the THD header portion of the output. This option is better explained in the PAINSOFT files category below. - ANSI files - -------------- THD ProScan has direct support for two types of sysop supplied ANSI. The first is an ANSI CORNER. An ansi-corner for the purposes of this program will be considered a non-interactive ansi which will be displayed during testing to the remote user in the upper left corner of his/her screen. It can be 35 characters wide and 16 characters high. Files of this type will be named THDPRO.AN?, where the "?" represents a number from 1 to 9. Page 43 The second ANSI is a full screen interface. It may use the entire screen EXCEPT for the top two lines which are reserved by THDPRO.EXE for self identification purposes. This file is not a "true" ansi screen in that it will contain an ansi image and a number of "interaction lines" to be sent as required by THDPRO.EXE. These files will be called "PAINSOFT.AN?", where the "?" represents a number from 1 to 9. First, you must understand that THDPRO.EXE will search for these files in numerical order and as soon as one is not found, it will be assumed that no higher numbers exist. That is to say that if THDPRO.AN1 does not exist, THDPRO.EXE will NOT search for other THDPRO.AN? files. If it finds THDPRO.AN1 and THDPRO.AN2 but not THDPRO.AN3, it will stop searching and assume there are only the two "THDPRO.AN?" files to choose from. It will then begin a search for the "PAINSOFT.AN?" files using the same rules. Also, these "ANSI" files will ONLY be found IF they are located in the same directory as THDPRO.EXE. (that is, the copy of THDPRO.EXE that is actually performing the test). If they are not located in the same directory, THDPRO.EXE will simply assume that they don't exist. These (up to 18) additional files will be displayed at random along with the 3 original screens internal to THD ProScan. Ansi output (PAINSOFT.AN? and THDPRO.AN? files) should ALWAYS be tested using THDDEMO.COM before being used. THDDEMO will show you EXACTLY what the user will see and aid you in fine tuning your ansi files. SAMPLES OF BOTH OF THESE TYPES OF SCREENS ARE INCLUDED IN "THDANSI.ZIP" - THDPRO.AN? files - Your THDPRO style custom ansi's can use the top/right corner (a box 35 characters wide by 16 high). That portion of the screen will be left untouched when the test portion of the ansi is displayed immediately following. The acceptable co-ordinates for your ansi are bound by position "1,1" and "16,35". The rest of the display will be used by THDPRO.EXE. The ansi "line length" cannot exceed 70 characters per line, or they will NOT be displayed. The total number of lines is not important. Note that the "Registered to BBSname" message is NOT displayed to the remote when a user defined ansi is used. This is done to free up that space for your use. You should keep that in mind when designing your ansi corners. Page 44 - PAINSOFT.AN? files - First a note. The use of PAINSOFT.AN? is a delicate and involved process. If you do not understand the workings of ansi drawing (and the code itself) I suggest you not even attempt to use this file. This file will be a "complete" ansi test screen and NOT an ansi corner. It will contain a main body ansi screen, followed by a number of "data" ansi lines that will be displayed as discussed below. The format for a usable ansi of this format will follow the following conventions. IT must not use the two top lines of the screen. These are reserved by THDPRO.EXE and will be rewritten immediately following each section of ansi from the user's file. In this way it will never be over written by the user's ansi. The first "section" of the ansi file should contain the basic screen image which is to be sent to the user BEFORE testing begins (Usually a screen with blanks to be filled as testing proceeds). The second section will be marked by a line (immediately following the "main" section) with only the text ENDANSI (IN CAPITAL LETTERS). This will signal the next series of commands are for filling in the test prompts. The next section will consist of 19 ansi strings each of which will indicate a certain process occurring. An optional final line can define the foreground and background colours of the THD identification header. in order, they are.. indicator clearing line 1 indicator clearing line 2 the CRC test is starting the CRC test was passed the CRC test was failed the file is being expanded the file expanded okay the file did NOT expand okay the file is being virus scanned the file passed virus scanning the file failed virus scanning the work space is being cleared clearing of workspace is complete. expanding for conversion passed expansion for conversion failed expansion for conversion rearchiving for conversion passed rearchiving failed rearchiving foreground/background colour definition (optional) None of these strings may exceed 70 characters. Page 45 The first two lines are for clearing the "indicators". If you are using "blocks" or other characters to display the testing, they should be "reset" or cleared before the testing of imbedded archives begins. These first two lines are for that purpose. These two lines could also be used to erase "text" and start again. They will be displayed immediately before the CRC test begins. There is no need to "clear" any of the "Fail" indicators as the testing would stop if any fail occurs. (with the possible exception of the SCAN failure which can be skipped if THDPRO.EXE is configured to pass heuristic failures). If you are not sure how to use them... leave them as empty lines. The third string (The CRC test starting string) could also be used to clear the "pass" indicators (if the 2 indicator clearing lines are not enough). So they will be cleared as the testing of internal files begins. IF any of those strings is to be unused, a blank line MUST be entered in it's place. Imbedded testing will use the same indicators as the main file testing. So only one set of indicators will be required. (Unlike the internal ansi and ansi corners discussed above which have separate main and embedded indicators). The final configurable string is an optional colour configuration for the THD identification header (shown at the top of the screen when using PAINSOFT.AN? files). The format for this line is "EXACTLY"... FOREGROUND=# BACKGROUND=# where "#" - represents the colour number according to the following 0 = black 1 = red 2 = green 3 = yellow 4 = blue 5 = magenta 6 = cyan 7 = white 0 (black) may be used as a background colour ONLY. Foreground colours will always be high intensity and background colours will always be low intensity. Both colours MUST be defined or the display will default to YELLOW on RED. (foreground must be specified first). The "TESTING - FILENAME.EXT" will always be high intensity white in the header. To "sample" the various headers available, THDDEMO now allows the use of a parameter "/C". (This parameter must be "after" the filename on the command line.) If this parameter follows the name of a PAINSOFT.AN? file it will display the "main" ansi portion and sit. At this point you may scroll through the various foreground and background colours by hitting either "F" or "B". when you have decided on a combination that goes well with your main body ansi, hit . THDDEMO will then exit, clear the screen, and report the foreground and background colours that were displayed just before you exited. Page 46 ie. THDDEMO PAINSOFT.AN4 /C would display the PAINSOFT.AN4 ansi file with the THD ID header, from there press "F" or "B" to change the foreground and/or background colours until you find a combination that you like. Hit esc and it will display the correct "colour definition line" to insert in the file to achieve the colours that you have selected. (Note that this only works with PAINSOFT files since the THDPRO files do not display the ID header). - PAINSOFT.ANS - PAINSOFT.ANS is a special case. If Found, PAINSOFT.ANS, will always be used instead of ANY other ansi. Painsoft.ans follows the same creation and viewing guidelines as described above for PAINSOFT.AN? files. You may use this file to force the same output on every file test. While boring, I'm sure some of you will find it useful. In English... If PAINSOFT.ANS exists in the same directory as THDPRO.EXE then all random screen selection is bypassed and PAINSOFT.ANS is always sent to the remote, regardless of the other ansi files present. Page 47 ------------ - COMMENTS - ------------ - THD ProScan's custom / configurable comment control - ------------------------------------------------------- THD ProScan offers what is likely the most configurable comment option available in any upload tester. In some cases, this configurability comes at a cost. Some of the options are very complex to set up and understand. Notably commenting by area is not a simple task to set up for most people. Random comments can be confusing. Keyword replacement however is more or less relatively simple. - Randomly selected comments - ------------------------------ THD ProScan can be configured to select a comment at random from a list of comments. This option must be selected in THDINSTL and is not the default. These comment files may have any legal dos filename and are simply to be arranged in a list format of one filename per line followed immediately by a carriage return/line feed (hitting enter in most editors accomplishes this). Such a list might look like this... C:\HEADERS\RANDOM1.TXT C:\HEADERS\RANDOM2.TXT C:\HEADERS\RANDOM3.TXT C:\HEADERS\RANDOM4.TXT C:\HEADERS\RANDOM5.TXT C:\HEADERS\RANDOM6.TXT C:\HEADERS\RANDOM7.TXT C:\HEADERS\RANDOM8.TXT C:\HEADERS\RANDOM9.TXT C:\HEADERS\RANDOM10.TXT - Comment by area - - theory This "random" list can also be used to cause files in certain areas to be given a specific comment. This will be useful for persons who wish to emphasize certain aspects of their BBS. You could for instance cause all files in your "programming" area to be marked with a comment file that tells people about your "Programming" conference and guidelines. Or perhaps you allow free download of BBS utilities and want to insert a comment in those archives to let people know that BBS Utilities are free on your BBS. Whatever your reason. Page 48 - setting it up The method is as follows. To cause THDPRO.EXE to insert a specific comment in a specific area, you must select in THDINSTL to use a "list" of file comments. You must then create that list. In our example the file will be called "COMMENT.LST". A "specific" comment line in this file will consist of... "IF" {QUALIFIER} {COMMENT} [note that the entire line must be capital letters] A "qualifier" is a string of text which will be looked for in the path to the file being tested. It need not match the path exactly... But rather if the "qualifier" is contained in the path then it will be considered a match. As an example. "C:" as qualifier would match every file in every directory on drive "C". (Since the text "C:" would be found in the path to any file on that drive). "C:\BBS" as a qualifier would match any file found in the "C:\BBS" directory or any of it's subdirectories. And "C" as a qualifier would match EVERY path that has a "C" anywhere in it. A random comment will only be used when a matching qualifier is not found. To use ONLY random comments, simply make a list of headers with no "IF" or {QUALIFIER}. Sample "COMMENT.LST" (using only specific area comments) IF C:\BBS\DLS\PROGUTIL C:\HEADERS\UTILHEAD.TXT IF C:\BBS\DLS\BBSUTIL C:\HEADERS\BBSHEAD.TXT IF C:\BBS\NORATIO C:\HEADER\FREE.TXT IF C: C:\HEADERS\BBSAD.TXT IF D:\MYUTILS C:\HEADERS\MYHEAD.TXT IF D:\SYSOP C:\HEADERS\PERSONAL.TXT In the list above, the "IF"'s, qualifiers, and headers are separated in a column arrangement so that you can better distinguish them. This is for your benefit and is not required. They must be separated by at least a single space (although a column arrangement as shown above will also be acceptable as long as the entries are separated by "spaces", not by "tabs"). The "IF" statements must ALL be before the random selection list. The lines without "IF" statements are comments which are to be chosen from at random when there are no matching qualifiers. When looking for a comment, THDPRO.EXE will look for the FIRST matching "qualifier" (that is the text following the "IF" statement above). In this regard a "match" is any qualifier which can be found in the path of the file being tested. If the qualifier is contained in the path to the file to be tested, THDPRO.EXE will stop looking for a comment and use the first match. Page 49 In the above example you will notice that "C:" (the qualifier for the fourth line) is contained in each of the first four qualifiers. IF it were put as the first line, then THDPRO.EXE would use "C:\HEADERS\BBSAD.TXT" for every file on drive "C". Since "C:" would be found in any file in "C:\BBS". So in this respect you must make sure that the order in which you place the qualifiers will not conflict with any later qualifiers. That is, a qualifier must NEVER fully contain a qualifier which appears before it in the list. (ie. "C:\BBS\TEST" must appear before "C:\BBS" in the list). IF THDPRO.EXE cannot find a matching qualifier it will chose at random a comment from the entries appearing without "IF" statements. IF the comment chosen does not exist. THDPRO.EXE will insert the comment from the very first line in the list (even if it has an "IF" statement). IF the comment from the first line does not exist, no comment will be added. The list is considered complete if a blank line is found, so no blank lines should be in the list. If there is a blank line in the list, all text following the blank line will be ignored. The best "simple" method I can give for ensuring the correct order of "IF" statements is to put them in alphabetical order from BOTTOM TO TOP. (that is... in reverse alphabetical order). Many word processors can do this for you quickly and easily. And remember that the "IF" statements go first and the order of the random comments is unimportant except that they be after ALL "IF" statements. GOOD LUCK. - Keyword replacement / customization - --------------------------------------- THD ProScan supports the use of some "key words" which it will search for inside of file comments and replace with certain values prior to using the comment. These keywords will be searched and replaced in all comments no matter by what means the comment is chosen. - keywords - The list of valid keywords and their values is as follows %THDVER% - The version of THD used. Format = "THD ProScan Version 10.0" %TIME% - The Time (at which the comment is updated) %DATE% - The Date (at which the comment is updated) %NEWDATE% - The date of the newest file in the archive. %OLDDATE% - The date of the oldest file in the archive. %NEWFILE% - The name of the newest file in the archive. %OLDFILE% - The name of the oldest file in the archive. %DESC% - The description as used in the file bases update (if any) %IFDESC% - Print this line ONLY if a description is used. %P_NAME% - The Program name (according to Vendinfo.diz) %P_VER% - The Program version (according to Vendinfo.diz/only numbers) %A_NAME% - The Program's Author (according to Vendinfo.diz) Page 50 The latter 3 options will only be translated IF a vendinfo.diz is found, so they may safely be used in comments. However note, that if the information is NOT found, the entire line will not be printed, so it would be best to keep each of these entries on a separate line in any comment in which they might be used. ie. %P_NAME% Version %P_VER% by %A_NAME% is acceptable (since none of these values would be translated in the absence of a Vendinfo.diz) Program Name - %P_NAME% Version - %P_VER% Author - %A_NAME% Acceptable (all 3 lines would be removed if no Vendinfo.diz found) %P_NAME% test by %THDVER% on %DATE% would not be acceptable since the whole line would be removed if no vendinfo.diz were found (thus the date and THD Version would not be entered since this line would not be printed unless a vendinfo.diz were found.) It is imperative that no other information be entered on the same line as %DESC%. This entry will not print the line on which this is entered. Instead this line is replaced by the description to be used in the File base update (this is for those who wanted FILE_ID.DIZ in the comment). The size of this description, if it is taken from a vendinfo.diz file is selectable in THDINSTL.EXE (otherwise the full description contained in a valid description file is used). Lack of a description will result in no line at all (not even a blank line). The "%IFDESC%" is to be used on a line that you only wish to be print IF a description is present. reason being.. you might like to use something like this.. Description ----------- %DESC% Problem being that if no description is present the "Description" and following underline would still be printed. To work around this it can be entered in the comment file as ... %IFDESC% Description %IFDESC% ----------- %DESC% Page 51 which would only print the "Description" and "-----------" if a description were present. (The position of %IFDESC% on the line is not important and it could just as easily be placed at the end of the line with no difference in final output.) For the sake of demonstration, the following would give the exact same result as above... (although for simplicity. I recommend putting it at the beginning or end of the line) De%IFDESC%scription ------%IFDESC%----- %DESC% The following is a sample comment and what follows is how it would look as an archive comment after processing by THD. (note in the following examples I have used the 250 character description from the Vendinfo and not the 450 character that would be used in most circumstances [or possibly longer given some people's refusal to go by the standard]). Original comment file prior to processing... ------------------------------------------------- | This file successfully passed testing by | | %THDVER% | | on %DATE% at %TIME%. | | | | Program Name - %P_NAME% Version %P_VER% | | Author - %A_NAME% | | %IFDESC% | | %IFDESC% ***************** | | %IFDESC% ** Description ** | | %IFDESC% ***************** | | %IFDESC% | | %DESC% | ------------------------------------------------- ** After processing with no desc or vendinfo.diz... ------------------------------------------------- | This file successfully passed testing by | | THD ProScan Version 10.0 | | on 06/05/1994 at 3:49PM. | | | ------------------------------------------------- Page 52 ** After processing with desc but no vendinfo.diz... -------------------------------------------------- | This file successfully pass testing by | | THD ProScan Version 10.0 | | on 06/05/1994 at 3:49PM. | | | | | | ***************** | | ** Description ** | | ***************** | | | | THD ProScan Version 10.0 Archive Processor. | | File base updates for FILES.BBS, RG, TG and RA | | formats. Multiple virus scans as well as many | | configurable options. Allow user definable | | conversions for supported archives. | -------------------------------------------------- ** After processing with vendinfo.diz (description is taken directly from vendinfo.diz)... -------------------------------------------------- | This file successfully pass testing by | | THD ProScan Version 10.0 | | on 06/05/1994 at 3:49PM. | | | | Program Name - THD ProScan Version 10.0 | | Author - David Muir | | | | ***************** | | ** Description ** | | ***************** | | | | THD ProScan Version 10.0 Archive Processor. | | File base updates for FILES.BBS, RG, TG and RA | | formats. Multiple virus scans as well as many | | configurable options. Allow user definable | | conversions for supported archives. | -------------------------------------------------- Page 53 ------------------------- - Environment variables - ------------------------- THD ProScan supports three environment variables. They are... THDZIP - THDARJ - THDOPT - The first two environment variables are for use by persons who have registered version of PKZip and/or ARJ. The latter of the variables can alter a number of default actions of THDPRO.EXE. - THDZIP - ---------- This variable accepts one of two settings. The first... SET THDZIP=TRUE This setting tells THDPRO.EXE that you are using a registered version of PKZIP and would like to have the "AV" added when conversion to "ZIP" format are performed. SET THDZIP={drive:\path\to\your\AVEXTRA.TXT} This setting tells THDPRO.EXE that you are using a registered version of PKZIP and would like to have the "AV" and the AVEXTRA.TXT added when conversion to "ZIP" format are performed. For information on AVEXTRA.TXT, you should see your PKZIP users manual. - THDARJ - ---------- This variable accepts only a single parameter. SET THDARJ={drive:\path\to\your\SECURITY.KEY} This setting tells THDPRO.EXE that you are using a registered version of ARJ and would like to have the security envelope added when conversion to "ARJ" format are performed. Do not put any switches in this variable as THDPRO.EXE will supply the necessary switches. Page 54 - THDOPT - ---------- This variable is used to alter some default actions of THDPRO.EXE. The available options are as follows... THDOPT accepts six switches. "SOLID", "SC1", "ANSI", "ADD", "NFL" and "NDx" where the "x" represents a drive letter to be used for expansion and testing of the file. SET THDOPT=SOLID will cause conversions to "RAR" format TO produce "solid" archives. (Uses the -s switch to create RAR archives). SET THDOPT=ANSI will force ansi to the remote. SET THDOPT=NDF will force THDPRO.EXE to attempt to use drive "F" for the file testing process before using the internally configured drive(s). SET THDOPT=SC1 tells THDPRO.EXE to run SCAN.EXE with a commandline suitable for the 1.x.x series of scanners from McAfee. SET THDOPT=NFL tells THDPRO.EXE to send the "/NOFLOPPY" switch to F-Prot. Use this ONLY if F-PROT requires the "NOFLOPPY" switch to run. SET THDOPT=ADD tells THDPRO.EXE to toggle the bit in the TESTINFO.DAT record which indicates that the user wishes to have database entries created when they do not already exist (not supported by THDPLUS). SET THDOPT=ANSI NDE SC1 SOLID ADD NFL Force ANSI output, use drive "E" for the temporary drive assignment, send a SCAN 1.x.x compatible commandline, use the solid option when converting to RAR format, Set the "add" flag in TESTINFO.DAT and use the "/NOFLOPPY" switch with F-PROT. Note that only one alternate drive may be input using NDx. These switches can be mixed and matched as necessary. Contrary to popular opinion, there is no support for a "THDPRO" environment variable. The purpose for which many programs use a similar environment variable is not required by THDPRO.EXE as it finds this information based on other factors. SET THDPRO=XXXX does absolutely nothing except waste your environment space. DO NOT SET THIS VARIABLE unless you have a use for it yourself. THD ProScan does not recognize it. Page 55 --------------- - Secure Mode - --------------- The theory behind providing a "secure mode" is to offer some limited protection against THDPRO.EXE inadvertently helping to spread viruses by running infected utilities. THDPRO.EXE, when run in secure mode, will CRC check each executable file prior to running it (including THDPRO.EXE itself, but this will of course be checked after loading). If the file's CRC does not match the recorded value, THDPRO.EXE will cease operation immediately following cleaning of any temporary directories which it may have created. It will then exit with an errorlevel of 255, indicating a security breach. In most cases this breach will be logged in THDPRO.LOG. The exception to the above is THDPLUS.EXE. If THDPLUS.EXE fails the CRC check, it will be logged and the utility will not be run. Since THDPLUS.EXE is not essential to any "test" operations, it was deemed that aborting testing due to it's CRC failure was unnecessary. Instead running of THDPLUS is skipped and logged. ********************************************************************** ** Please keep in mind that this method of "security" is not 100% ** ** effective. This is being supplied as an additional step to virus ** ** scanning these utilities and not as a replacement for it. These ** ** utilities (as with all files) should be scanned for viruses and ** ** tested on a regular basis to ensure that the files are intact. ** ********************************************************************** Secure mode is toggled from the final screen of THDINSTL. Once selected, THDPRO.EXE will search for and evaluate the CRC's based on a file called THDPRO.SEC. This file MUST exist in the same directory as THDPRO.EXE (THDPRO.EXE will put it there). If the file does not exist THDPRO.EXE will refuse to run (citing a security breach as the reason). Therefore you must use THDPRO.EXE to generate the THDPRO.SEC file before it can be run in secure mode. The disadvantage to secure mode is twofold. First it will refuse to run every time you upgrade a virus scanner or other utility (since the CRC's will not match). Secondly it takes time to calculate the CRC values. The first problem is easily solved by ensuring that you update your THDPRO.SEC file any time you make changes (as outlined below). The second instance is a necessary evil of the added security. The CRC values will be checked prior to each run of a util (that is EVERY single time THDPRO.EXE is told to run an external util, it will check the CRC first, even if it was run only moments before and passed that CRC test). Page 56 - THDPRO.EXE /SEC - ------------------- To generate and/or update the THDPRO.SEC file (anytime a utility is changed or THDINSTL is run), simply run THDPRO.EXE /SEC. This option will cause THDPRO.EXE to perform it's "normal" self test and if that test is passed, then it will create a THDPRO.SEC file using the configured information. This option will perform no comparison to previously recorded values, so if you have suffered a security breach and are unsure as to what caused it, then do not run this until after running the security test outlined below. - THDPRO.EXE /SECTEST - ----------------------- This option causes THDPRO.EXE to compare the current values in the THDPRO.SEC files against the values of the files as they exist. It will report only these files whose CRC values are different from those recorded in the THDPRO.SEC file. This operation causes no changes to the THDPRO.SEC file, and should be used to see which utility or utilities THDPRO.EXE believes have changed. Failures will be reported as being "in breach of security". If no file names are listed as being in breach of security, then the THDPRO.SEC file is usable "as is". An ideal test will report that it is checking and that it is done with nothing in between. In addition to the utilities, the THDPRO.SEC file is also CRC checked by the above procedure as well as at run time by THDPRO.EXE. A change in that file's CRC is considered to be a security breach just as any utility change would be. Upon exit from THDINSTL, if secure mode is selected, the user will be reminded to run THDPRO.EXE /SEC to update the THDPRO.SEC listing, since in almost all cases THDINSTL will change the CRC value of THDPRO.EXE, thus rendering the THDPRO.SEC value invalid which will result in a security breach each time THDPRO.EXE is run. Page 57 ----------------- - NETWORK NOTES - ----------------- *********************************************************** ** THE FIRST THING YOU SHOULD DO IF INSTALLING THIS ON A ** ** NETWORK, IS TO RENAME THDINSTL.EXE TO NETINSTL.EXE. ** *********************************************************** Alternately, you could also run THDINSTL.EXE /NET which has exactly the same effect as renaming the file. However, for ease of use (odds are good that you will only ever wish to run in NET mode), you will likely find it easier to rename the installation file than to remember to constantly supply the "/NET" parameter, although either method will work. This will tell THDINSTL that you are attempting installation on a networked system. This will simplify the installation by NOT putting drive letters in front of the paths to the utilities that it finds. It will also not prompt you for the "temporary" drive assignments and instead default to "network compatible mode" which uses only the current drive for file testing. In this and all documentation, THDINSTL refers to the file as distributed. If renamed to NETINSTL.EXE, all references are still valid except as noted above. While THD ProScan is not "network aware", it can be run in a network environment with some considerations. The most important of these considerations, is that THD ProScan makes extensive use of "drive" letters in it's normal operation. On a network system, these drive letters are reassigned depending on the remote caller. The sysop must therefore take into account that these drive letters might be different from one remote to the next and account for this when running THDINSTL.EXE. When running THDINSTL, be sure not to specific a drive whenever the installation will allow you to supply simply a file path (in other works supply things like "\utils\pkzip.exe" instead of "c:\utils\pkzip.exe"). In order to do this, THDINSTL must be run on the same drive as all of it's files are located. It is important to note that THDPRO.EXE will still assign all of these paths with drive letters. But this will be done at run time with the current drive letter in a case where one was not supplied during installation. If the current drive is "C:" when THDPRO.EXE is invoked then a path entered in the install as "\UTIL\PKZIP.EXE" will actually be called as "C:\UTIL\PKZIP.EXE". Likewise if the current drive were "T:" at run time THDPRO.EXE would run "T:\UTIL\PKZIP.EXE". At no time would THDPRO.EXE attempt to run simply "\UTIL\PKZIP.EXE" Page 58 It is therefore recommended that network users have THDPRO.EXE and all the necessary files located on the same logical drive as all the files to be tested and all of the utils to be used. In other words on a one drive system. When THDINSTL prompts for the use of drives to use for testing, you should enter "0" (new in version 10.0) to tell THD that you wish it to use only it's current drive for file tests. Technically what this does is to tell THD that all temporary drives are the same drive and that drive is the drive on which the system was running when THDPRO.EXE was called. This option will solve the majority of network problems suffered by some users who could not get THD working properly for them previously. Note that once configured, THDPRO.EXE could be moved to another drive and would work if called correctly, since it determines it's own location at runtime. This is not a "requirement" as such. Certainly some network users can get it working for them without this consideration. This should be used by those who either find it easier than the method they used previously or who are having difficulty getting it to run correctly under a network environment. The THDOPT "NDx" environment variable can also be useful for network users. If the remote system can define environment variables under your particular network, you could have them set this particular variable to their drive assignment (see the section on environment variables) and thereby cause testing to occur on the correct drive from their point of view. At least one Novell user has stated the need for "SHOWDOTS=TRUE" in his configuration file. The symptom was that THD failed to remove it's temporary directory when this was not present. The THDOPT=NFL may be required on systems without floppy drives when running F-PROT.EXE. Use this only if you have no floppies connected to the system and F-PROT suggests that it be used. Note that while I do my best to make THD as compliant with as many systems as I possibly can, my knowledge of network software and how it works is nearly non-existent. So if you have suggestions or other things in this matter that I might consider, please feel free to let me know about them. Again, if you select the "network mode" during THDINSTL, you should be certain that you have not supplied drive letters to the utilities to be used and that all such utilities are located on the same drive that THDPRO.EXE will be called from. Failure to locate "all" files on the single drive will likely cause THDPRO.EXE to react in an unreliable manner when unable to locate the needed files on the current drive.