Introduction to Gatekeeper Version 1.3 November 1993 Installing Gatekeeper ------------------------------------------------------------------ Gatekeeper will only operate on Macintoshes with the 128K ROMs, or better. This means that it should work fine with the Macin- tosh 512Ke, Plus, SE series, II series, Classic, LC and better. In addition it should only be used with System versions 4.1 or later; ideally 6.0.4 or later. To install Gatekeeper you'll need the following files: Gatekeeper, Gatekeeper Controls, and Gatekeeper Aid. Where these files are placed, however, varies depending on the version of the System you happen to be using. Regardless of the System you are using, though, you can install Gatekeeper quickly and correctly by following the steps below. 1. Find your System Folder's icon. 2. If the System Folder window is open (the System Folder's icon will appear gray if it is), find and close that window. 3. Select the Gatekeeper, Gatekeeper Aid and Gatekeeper Controls files and drag them onto your System Folder's icon. 4. If you're running a System earlier than version 7.0, the files will be copied and that'll be that. If you're running System 7.0 or later an alert will appear and you'll be told that the items "need to be stored in special places inside the System Folder" - just click the OK button in this alert and everything will happen automatically. 5. Double-check the installation by making sure those items are in the locations shown in the following diagrams. 6. If you've used Gatekeeper 1.2.x on your Mac before, look for the Gatekeeper Prefs file in either the System Folder or the Preferences folder. If you find it, and you're using System 7, put it in the Trash, but don't bother trying to empty the Trash. If you're using System 6 or earlier, just drag the Prefs file out of the System Folder. This will force Gatekeeper 1.3 to create a new Prefs file when you restart your Mac. The new Prefs file will contain the latest set of default privilege information, so it is normally preferable to earlier versions of the file. (Once this is done you'll be able to throw away that old Prefs file.) System 4.1 to System 6.0.x Gatekeeper Component Locations [Graphic Omitted] System 7.x Gatekeeper Component Locations [Graphic Omitted] NOTE: Once Gatekeeper is installed and operating it will create two new files named "Gatekeeper Log" and "Gatekeeper Prefs". System 7 users will find these files in the Preferences folder, while users of earlier systems will find them in the System Folder. Because of the way Gatekeeper Controls was written, you are not required to place it in the Control Panels folder under System 7. In fact, you can put it anywhere that happens to be convenient, or you can even remove it altogether if you are certain you won't need it to configure Gatekeeper at some later date. In general though, it's best to put it in the Control Panels folder and leave it there, so that there won't be any question of where to find it when you need it. System 6 users do not have the option of relocating the Gatekeeper Controls file; it must be located in the System Folder for the Control Panel desk accessory to find it. However, it is possible to omit the Gatekeeper Controls file, if you are certain you won't need it to configure Gatekeeper at some later date. Omitting Gatekeeper Controls is useful when you're setting up a facility like a public access lab in which you don't want users changing Gatekeeper's configuration. For the sake of flexibility there are three valid locations for the Gatekeeper Log and Gatekeeper Prefs files under System 7. They can be in the Preferences folder, the System Folder, or the same folder that contains Gatekeeper. Under System 6, however, the choice of location is limited to the System Folder or the same folder that contains Gatekeeper (there are a few INITs which make this distinction relevant). NOTE: If, after you install Gatekeeper, you do not see the new Gatekeeper icons (particularly the color icons available under System 7) you will need to delete all previous versions of Gatekeeper from your disk(s) and rebuild your Desktop file. This is done by restarting your Macintosh while holding down both the command and option keys until menus reappear in the menu bar at the top of the screen. At this time you can release those keys. You will soon be asked if you want to "rebuild the desktop" on your disk(s). Click on the OK button, and the Finder will do the rest for you. Remember, however, that rebuilding your Desktop file will remove all the comments attached to your files in the "Get Info..." dialog - other than that, though, it's a harmless operation. Gatekeeper in Principle ------------------------------------------------------------------ Gatekeeper is a program designed to continuously monitor the operation of your Macintosh, watching for operations that are commonly carried out by viruses as they attempt to spread. When Gatekeeper detects an infection attempt it will automatically stop the attempt, almost before it's started. This type of monitoring and protection is possible because viruses generally depend on a small group of operations which they use in somewhat unusual ways. Of course, if detecting virus operations was really as straightforward as all that, everyone would be doing it. The fact is there's a catch. Not a big one, but a catch just the same: Some perfectly normal programs carry out some of the same basic operations that viruses do. (For very different reasons, of course.) Gatekeeper deals with these "false-alarms" by allowing you to tell it what virus-like operations any given program should be allowed to carry out. You tell Gatekeeper just once, then forget about it - everything's automatic from then on. Gatekeeper restricts two basic classes of operations: 1. Operations on information about files that contain programs. These are known as "File" operations. 2. Operations on the components of programs stored within files. These are known as "Resource" (usually abbreviated as just "Res") operations. Within each class of operation there are three variants: 1. The file being operated on is the file containing the currently running program, i.e. the program is operating on itself. This is known as an operation of type "Self." 2. The file being operated on is the System file. This is known as an operation of type "System" (usually abbreviated as "Sys"). 3. The file being operated on is some other file, i.e. the program isn't operating on itself (case 1) and it isn't operating on the System file (case 2), either. This is known as an operation of type "Other." With these two basic classes of virus operations, each of which has three variants, we get a total of six separate operations for which Gatekeeper has to watch. If this doesn't mean anything to you, don't worry. It's helpful to understand what these different operations do, but it's certainly not required. Just understand that there are two classes of operations monitored by Gatekeeper, "File" and "Res," and that there are just three variations within those two classes, "Self," "System" and "Other." You don't have to memorize this, but it's worth being aware of it. Gatekeeper in Practice ------------------------------------------------------------------ [Graphic Omitted] When push comes to shove, this is what Gatekeeper does. It automatically detects and stops suspicious operations and notifies you of the event. This alert tells you what program appears to have been responsible for the suspicious operation (Kermit), what privilege the program attempted to violate (Res(System)), and who the intended victim was (the System file). For the technical and the curious, it also includes in brackets the name of the actual Toolbox or OS operation that was blocked (AddResource) and what it's immediate intent was (to add a resource of type 'nVIR' with an ID number of 0 to the System file). In this case the operation being stopped was an attempt by the nVIR virus to implant itself in a Macintosh's System file. But what if you didn't know about the nVIR virus? How would you determine whether or not this was an operation that should have been permitted? Unfortunately, there's no perfect method. The first thing to do is to run John Norstad's Disinfectant utility, version 3.3 or later, to check for known viruses. If Disinfectant gives your Mac a clean bill of health, you're probably safe. If you're still not sure whether or not that operation should have been permitted, there are a few rules of thumb that take care of most situations, so, when in doubt, ask yourself the following questions: Does the program modify, create, install, decode, recover or restore applications, extensions or control panels? If so, it'll need some type of File privilege. * All file manipulation, backup and recovery software will require File(Other) privileges in order to work properly. Examples: Finder, DiskFit, Symantec Tools, HFS Recover, MacTools, Scanner, Floppy Recover, HD TuneUp, File Splitter. * Communications programs, compression utilities, and electronic mail packages require File(Other) privileges when decoding downloaded applications and system files. Examples: Compact Pro, StuffIt, PackIt, BinHex, NCSA Telnet, XferIt, VersaTerm, MacTerminal, White Knight, AppleLink, etc. NOTE: Gatekeeper does not require that self extracting archives (SEAs) created by Compact Pro, StuffIt, Zoom or Disk Doubler have any privileges in order to operate. These types of SEAs are handled as special cases internally, so they can be used without privileges and without worry. Does the program modify, create, install or delete resources that contain programs? If so, it'll need some type of Res privilege. Some of the most common examples of resources that contain programs are desk accessories, FKEYs, and HyperCard's XCMDs and XFCNs. * Installer and Updater applications almost always require Res(Other) and/or Res(System) privileges and are likely to require similar File privileges. However, since these applica- tions are used infrequently, they shouldn't be granted any privileges. Just turn Gatekeeper off (after using Disinfectant 3.3, or later, to verify that the items to be installed are free of known viruses) while you perform the installation. Examples: Apple's Installer, PageMaker Installer, TOPS Installer. * Resource manipulation utilities generally need Res(Other) privileges and will need Res(System) privileges if they are used to modify the System file. The exact privileges they require will depend on what you use these utilities for. Examples: Font/DA Mover, ResEdit, FKey Manager, ResCopier stack, RMaker, Rez. * Development systems (i.e. programming languages) require File(Other) and Res(Other) privileges in order to build virtually all projects. Examples: THINK C, THINK Pascal and Apple's MPW. If none of these cases seem to fit your situation, or you're just not sure, check with others who might have relevant knowledge - users groups can be good places to find such people. If none of the programs listed in the examples above sound very familiar to you, don't worry: most programs don't need any privileges. Gatekeeper's Division of Labor ------------------------------------------------------------------ There are two crucial components of any Gatekeeper installation; Gatekeeper and Gatekeeper Aid. Although this document will discuss Gatekeeper at length, it will hardly mention Gatekeeper Aid, because it doesn't require any configuration. In this section, though, we'll take some time out to talk a bit about Gatekeeper Aid and how it relates to Gatekeeper. Gatekeeper, as has been discussed above, is a general purpose anti-virus utility which knows little or nothing about specific viruses. It stops viruses from operating by carefully monitoring your Mac and stopping any suspicious behavior that occurs. It has been remarkably successful in stopping both the viruses that existed when it was first released and those that have appeared in the years since then, but no anti-virus system can ever be perfect, and at least one virus appeared that could get around Gatekeeper's protections. That's why Gatekeeper Aid exists. Gatekeeper Aid is a utility that searches for and removes families of known viruses which Gatekeeper either can't stop at all, or can't stop completely enough to render harmless. Over time, its role has been expanded to include some general purpose anti-virus duties as well as the detection and removal of some viruses that Gatekeeper can stop successfully, but which also happen to be easily detected and removed. Together, Gatekeeper and Gatekeeper Aid form a security system capable of stopping all known viruses, and one with a proven (if inevitably imperfect) ability to stop new viruses as they appear. This is why it's crucial to use both products; one or the other isn't enough to provide effective protection. In spite of this, it is possible to use Gatekeeper Aid independent of Gatekeeper. Some people use Gatekeeper Aid to augment the abilities of other anti-virus utilities, like the Disinfectant INIT. Rest assured that 'Aid still works perfectly well in such setups. 1 - General Section ------------------------------------------------------------------ [Graphic Omitted] Gatekeeper's General section is always the first thing you'll see when you open Gatekeeper. It'll tell you what version of Gatekeeper you're using, but other than that it's pretty dull. The most important thing in this section isn't really a part of this section at all; it's the scrolling list of sections which always appears in the same place at the top of the window. This list shows you all the other parts of Gatekeeper you can access. Clicking on a section name in the list takes you to that section. Keyboard Shortcuts - Section List ------------------------------------------------------- tab Advance to next section. shift + tab Go back to previous section. ------------------------------------------------------- 2 - Help Section ------------------------------------------------------------------ [Graphic Omitted] The Help section provides a simple quick-reference to Gatekeeper's features. It doesn't do anything fancy; I'm afraid there's no searching or indexing features. However, when used on Macs running System 6.0 or later, the text is displayed in multiple fonts, sizes and styles to make the text as easy to navigate as possible. In particular, major section headings in the help text are set in Helvetica 18 point bold, so they're easily located as you scroll through the text. To view the text properly, make sure that the Times, Helvetica and Monaco fonts are installed in your System. If you'd like to print text from the help display, select the text with the mouse and then select the "Copy" item from the "Edit" menu. You can then paste the text into any word processor and print it out in any way you'd like. Keyboard Shortcuts ------------------------------------------------------- home Move to top of help text. end Move to bottom of help text. page up Move up one "page." page down Move down one "page." option If held down when the Help section is initially opened, help text is displayed only in Geneva 9. ------------------------------------------------------- 3 - ON/OFF Section ------------------------------------------------------------------ [Graphic Omitted] The ON/OFF section provides you with the means to turn off Gatekeeper for up to nearly one hundred hours. It's simple enough; just click on the big, fancy ON/OFF button. When the button says OFF in big, bold, red letters, all of Gatekeeper's protections are disabled. When the button merely says ON, Gatekeeper is operating normally, providing your system all the protection it can. Turn Gatekeeper off when you're performing relatively brief tasks that Gatekeeper would otherwise interfere with. The most common examples of such tasks are running "installer" programs which install software of some kind on your system, such as PageMaker or TOPS. Remember, Gatekeeper will automatically turn itself on again after the time limit has expired. (If you're looking at the ON/OFF section at the time, you'll see that the time remaining counter has counted-down to 0:00:00.) If the time limit value is too small (or too large) for your needs, you can change it just by clicking on it and entering the new value the same way you would if you were setting the time in the General control panel or the Alarm Clock desk accessory. NOTE: Turning off Gatekeeper doesn't turn off Gatekeeper Aid. Even with Gatekeeper off, 'Aid will still remove any known viruses that it detects. The one thing it will not do is remove suspicious resources (known as "Implied Loaders") when it comes across them. 4 - Settings Section ------------------------------------------------------------------ [Graphic Omitted] The Settings section allows you to define some of the basic ways in which Gatekeeper operates. Each group of options is discussed below. When a Privilege Violation Occurs --------------------------------- Two radio buttons in this area let you tell Gatekeeper what to do about suspicious operations it encounters. When the "Stop the Operation (Notify & Veto)" radio button is selected, Gatekeeper will stop any suspicious activities it observes. On the other hand, if the "Permit the Operation (Notify Only)" radio button is selected, Gatekeeper will not actually interfere with suspicious operations; it will merely tell you the operations have occurred. It's then up to you what you do about them. Gatekeeper Aid will also respect these settings to some extent - when "Notify Only" mode is chosen, it will refrain from removing any suspicious resources (known as "Implied Loaders") that it may find. However, even in "Notify Only" mode, 'Aid will still remove any known viruses it comes across. When an Important Event Occurs ------------------------------ Two check boxes in this area let you tell Gatekeeper and Gatekeeper Aid what they should do when they need to get your attention. Typically, they only need to get your attention when they observe things like privilege violations, viral infections or other similarly unusual events. The "Display an Alert" check box tells Gatekeeper and 'Aid, when they are used with System 6.0 or later, to display an alert describing the event that occurred and their response to that event. The "Record it in the Log File" check box tells them to record a short description of the event in the Gatekeeper Log file for later review. These two options may be in used in any combination you find convenient; in practice, however, it's best to keep both options checked. During Startup -------------- Two check boxes in this area let you tell Gatekeeper and 'Aid how to behave when your Mac starts-up. If the "Show the Gatekeeper Icon" check box is checked, Gatekeeper and Gatekeeper Aid's icons will be displayed somewhere along the bottom of your Mac's display during startup. Showing icons in this fashion is merely a convenient way of showing that both items are installed on your Macintosh. In addition, if either one cannot install itself for some reason, its icon will be drawn with a large red X over it to warn you that something went wrong. The other check box in this area, labeled "Display a Mode Warning Alert", allows you to tell Gatekeeper whether or not it should display a "warning" alert after startup to remind you of what mode it is operating in. Gatekeeper can operate in either Notify Only or Notify & Veto mode. By default, Gatekeeper displays a warning alert after startup when it is in Notify Only mode (since it doesn't protect against viruses in that mode), but does not display a warning alert when in Notify & Veto mode (since that is the mode in which Gatekeeper normally operates). The "Display a Mode Warning Alert" check box, however, allows you to change this behavior to suit your own needs. 5 - Log Section ------------------------------------------------------------------ [Graphic Omitted] The Log section allows you to view the contents of Gatekeeper's log file if the "Record it in the Log File" option is checked in the Settings section. The log is a file in which Gatekeeper and Gatekeeper Aid record all the important events they observe so that you can review them at a later date. Each entry in the log file occupies one line of the log display. Entries for different days are separated by a line which indicates the day and date on which the entries below it occurred. All other lines in the display begin with the time at which the event occurred and are completed by a brief indication of the type of event that occurred. Important events like privilege violations are drawn in bold, red text so that you can locate them at a glance. Startup and Shutdown messages are grouped together by dotted lines in the left margin of the list so that you easily see when your Mac has been in use, or has crashed. To see an explanation of an entry in the log file, select that entry in the log file display and click on the "Get Info" button. A dialog similar to one of the two on the next page will appear. The dialog will give you all the available details including the name of the program responsible for the operation and the name of the disk that program was stored on at the time. Double-clicking on an entry, not surprisingly, has the same effect as selecting an entry and clicking on the "Get Info" button. [Graphic Omitted] Startup & Shutdown Entries -------------------------- Normally, the log will contain only "Startup" and "Shutdown" entries, which tell you when your Macintosh has been started or shutdown in Gatekeeper's presence. These entries are totally routine, and are recorded only to help you determine when your Mac has been used and whether it may have been used without Gatekeeper, thereby leaving it unprotected against possible virus attacks. HINT: To determine whether your Mac may have been used without Gatekeeper, look at the difference between the volume write counts for a Shutdown entry and the Startup entry that appears immediately after it. If the difference is greater than normal - and it's up to you to determine what's normal for your Mac - then your Mac probably has been booted with some other disk. So what's a "volume write count"? It's just the number of times any information has been written to the disk since it was last initialized. Every time you save a document, for instance, a number of writes are made to the disk and the volume write count increases accordingly. Res & File Privilege Violation Entries -------------------------------------- Occasionally, you may find other entries in the log file, though. These entries begin with the words "Res" or "File" and describe attempts by programs to exceed the privileges they have been granted. These entries tell you one of two things: (1) some program needs additional privileges in order to operate correctly, or (2) a virus is attempting to spread on your Macintosh and is being stopped by Gatekeeper. If you're not sure which is which, run Disinfectant 3.3, or later, to see if there are any known viruses on your Macintosh. If Disinfectant detects a virus in the program that was guilty of the privilege violation, you know that Gatekeeper was doing its job properly and stopping a virus from spreading. If Disinfectant gives your Mac a clean bill of health, though, it's up to you to determine whether the guilty program was operating normally, or was the victim of a new virus which Disinfectant cannot detect. Some rules of thumb that may help you determine what privileges certain types of programs will require are included in the "Gatekeeper in Practice" section of this document. Read through those rules of thumb and see if any obvious explanations present themselves. If you're still not sure what to do at this point - and that's highly understandable - contact your system administrator for help. If you don't have a system administrator to pick on, or you are a system administrator and you still can't decide how to resolve the matter, make sure you're using the latest version of Disinfectant and remember that you can always pick on me (the author) - see the Bug Reports section of this document for details. Granting Privileges from the "Get Info" Window ---------------------------------------------- If, on the other hand, you are confident that an entry in the log file merely indicates that a program needs an additional privilege in order to operate correctly, you can easily grant that privilege to the program by clicking on the "Grant Privilege" button in the "Get Info" dialog box for that entry. After using the Grant Privilege button, you can, if you wish, switch to the Privileges section where you'll find that the guilty program has been automatically selected, and its privileges displayed, in case you want to make any adjustments (like removing the version number from the end of the program's name). Other Entries ------------- A number of other types of entries which are not discussed here may also be found in the Gatekeeper Log. Selecting them and clicking on the "Get Info" button will give you a brief, and hopefully informative, explanation of their meanings. Keyboard Shortcuts ------------------------------------------------------- home Move to top of log file. end Move to bottom of log file. page up Move up one "page." page down Move down one "page." up-arrow Select the previous line. down-arrow Select the next line. return Display an explanation of the selected line. Same as clicking on the "Get Info" button. enter Same as return. ------------------------------------------------------- 6 - Privileges Section ------------------------------------------------------------------ [Graphic Omitted] The Privilege section is the most important part of Gatekeeper. In this section you tell Gatekeeper what programs are allowed to perform operations that would otherwise be considered suspiciously virus-like. (These operations are known as "privileged operations".) This information allows Gatekeeper to operate automatically on behalf of you and others; preventing viruses from operating successfully while permitting normal programs to work unhindered. Gatekeeper is distributed with a large list of common programs known to require privileges, so that most users will not need to worry about setting-up any privileges in order to use Gatekeeper on their Macintosh system. In order to add a program to the privilege list, you can click on the "Add..." button and select the program using the standard "Open..." dialog box. Alternately, you can click on the "New..." button and type in the name of the program directly - note that this is often the only way to grant privileges to desk accessories. In order to grant privileges to a program, click on the program's name in the privilege list and check the appropriate check-boxes that will appear at the bottom right side of the Privileges section. For an explanation of what the various privileges mean, see the "Gatekeeper in Principle" section of this document. To changed the name of an item in the privilege list, select the item and click on the "Edit..." button. A dialog box will appear in which you can edit the item's name. Removing an item from the privilege list is easiest of all; just select the item and click on the "Clear" button. To keep confusion to a minimum certain changes are made to names as they are added to the privilege list, so don't be surprised if the name you enter isn't exactly the name that actually ends-up in the privilege list. Invisible characters like control characters are replaced with spaces. So are colons. Non-breaking spaces are replaced with conventional spaces. Spaces found at the beginning of names are always removed, and diacritical marks although they are preserved, are ignored when the list is searched. These translations make Gatekeeper good at coping with subtle changes to program names, and eliminates confusion like that which resulted when Apple quietly replaced the non-breaking space in DA Handler's name with a conventional space. Keyboard Shortcuts ------------------------------------------------------- home Move to top of privilege list. end Move to bottom of privilege list. page up Move up one "page." page down Move down one "page." up-arrow Select the previous line. down-arrow Select the next line. type-to-select Typing a name will select the item most closely matching that name. return Edit the selected item. Same as clicking on the "Edit..." button. enter Same as return. command + e Same as return.[1] delete Delete the selected item. Same as clicking on the "Clear" button. backspace Same as delete. clear Same as delete. command + n Create a new entry. Same as clicking on the "New..." button.[1] command + a Add a new entry. Same as clicking on the "Add..." button.[1] command + o Same as command + a.[1] ------------------------------------------------------- [1] System 7.0 does not allow control panels like Gatekeeper Controls to receive most command key shortcuts. Consequently, marked shortcuts do not work in System 7.0 - this is not a bug in Gatekeeper. ------------------------------------------------------- Postcards, Bug Reports, Etc. ------------------------------------------------------------------ I can be reached with questions, suggestions, bug reports (be sure to note the version number of Gatekeeper and/or Gatekeeper Aid that you were using), etc. at... US Mail: -------- Chris Johnson Gatekeeper 4505-B Avenue H Austin, TX 78751 USA Internet: --------- chrisj@mbs.telesys.utexas.edu UUCP: ----- {husc6|uunet}!cs.utexas.edu!ut-emx!chrisj AppleLink: ---------- chrisj@mbs.telesys.utexas.edu@internet# CompuServe: ----------- >INTERNET:chrisj@mbs.telesys.utexas.edu MCI Mail: --------- Command: Create To: Chris Johnson (EMS) EMS: Internet MBX: chrisj@mbs.telesys.utexas.edu Turnaround time on email messages is usually under 48 hours, if I'm not drowning in mail at the time. If I am drowning in mail at the time (an increasingly common situation in the last few years), it'll definitely take longer to get back to you. Turnaround time on US Mail is approaching five years in many cases. So, if you have the choice, send email. If you must use US Mail, including a self addressed stamped envelope just might help to speed up the process. ...and please send a postcard. (See the Copyright Notice below.) (Of course, if you use this product and happen to work for Apple Computer, feel free to convince Apple to contribute a fast Macintosh computer system of some sort as a way of finally showing some support for this development effort. ...Not that I'm holding my breath.) Finding the Latest Version ------------------------------------------------------------------ There are several good ways to find the latest version of Gatekeeper: 1. FTP -- People with FTP access to the Internet can retrieve the latest version via anonymous FTP to the microlib/mac/virus directory of microlib.cc.utexas.edu. Of course, there are many other good archive sites which should also have current versions at any given time, but I upload new releases directly into microlib as soon as they're ready, so I can guarantee that it's up to date. 2. Email -- If you can send me email, I can usually email the latest version back to you. Be sure to let me know what version you are currently using. There can be problems, however. Some services like AppleLink and CompuServe limit the length of messages their users can receive to something in the neighborhood of 32K. This means that I'd have to split Gatekeeper into more than 12 parts in order to send it via email (and the recipient would subsequently have to reassemble all those parts). This is very time consuming, so unless your mail system will accept messages close to 100K in length, it's probably not a good idea to try to get Gatekeeper via email. Remember to tell me the maximum message length your system will accept. 3. U.S. Mail is also an option. Send a diskette along with a self-addressed, stamped envelope (SASE) to the address below. Unlike correspondence, I am able to periodically catch-up on all the outstanding update requests, so you really will get your disk back eventually. Unfortunately, disks sent without a SASE (or a reasonable facsimile), legible return address, return postage, etc. can't be returned. (Hey, the software is free; I can't afford to pop for the postage, disks, etc., and I can't do invoices, either. Believe it or not, I do get update requests without disks, postage, etc.) If you live in a country other than the U.S., postage for the SASE will be hard to come by, of course. International postage coupons will work fine, though, as will U.S. currency (standard disclaimers about sending cash in the mail apply, unfortunately). If you're not sure what the correct postage is, ask your local postal officials. If you even come close, I'll make sure you get your update. I will occasionally replace a bad or damaged diskette out of my own pocket, but don't count on it. In other words, don't send me that old diskette that you found under the refrigerator last spring. I probably won't be able to format it successfully, and you'll always wonder why you didn't get your disk back. If I had a lot of money, it might be different, but I don't. Finally, if you haven't already sent a picture postcard, please include one with your update request. (See the Copyright Notice above for details.) Anyway, the address to send those disks to is: Chris Johnson Gatekeeper Update from 1.3 4505-B Avenue H Austin, TX 78751 USA The "Gatekeeper Update..." line is important, so be sure to include it. Note that the "from 1.3" part tells me what version you are currently using so that I won't make the mistake of sending you a version which you already have. Credits ------------------------------------------------------------------ Many thanks to all the Gatekeeper testers. Without their help and patience Gatekeeper couldn't have been made even remotely as reliable and trouble-free as it is. Scott R. Anderson Dale M. Arends Brian Aslakson Steve Baumgarten David A. Belsley Sunil Bhatla Thomas R. Blake James Blieden Jonathan Brecher Daniel Buchan Rick Cardona Ian Chai Philippe Chatalic Brian L. Donnell Jon Duke Jim Elliott Bill Engels Zbigniew Fiedorowicz Charette Frederick Brian Gaines Peter Galko David A. Grayson Ben Goren Marcus Harvey Jay Hirsh Steve Holden Kirk Holub Dan Hugo John Im David Inman William G. Innanen Andrew E. Johnson Vahe Kassardjian Kendrick Killian Edgar Knapp Dick Kriss Dave Lee Masato Ogawa Doc O'Leary John Owens John F. Pane Peter John Roberts Clay C. Ross Nick Rothwell Robert Rubinoff Howard Shubs Larry Simmons Robert Stewart Michael Stovsky Jochen Teufel Werner Uhrig Johan van Zanten Mike Weasner Jerry Wilcox Thomas Willett Ed Wright Marvin Yount David R. Zinkin Sam Zschokke I would also like to thank all the people around the world who have sent me problem reports at one time or another. Unfortunately, there's just no testing ground quite like the real world. There are too many people to list (and, in fact, too many to keep track of), but they know who they are. Thanks to all. Thanks to Ken McLeod for his translation of the original ShowINIT code into THINK C. There's only a few lines of his code left in Gatekeeper's ShowINIT implementation, but I'm glad I had that code to work from. Patrick C. Beard's code was also helpful, but none of it survives into this implementation. Gatekeeper and Gatekeeper Aid were built with version 5.0.4 of THINK C. Copyright (c) ------------------------------------------------------------------ Gatekeeper (c)1988-1993 Gatekeeper Aid (c)1990-1993 by Chris Johnson. All Rights Reserved. Gatekeeper and Gatekeeper Aid are free for non commercial public distribution. This software may not be sold or distributed for profit, or included with other software or hardware which is sold or distributed for profit, without the permission of the author. (CD-ROM publishers are not now, nor have they ever been, an exception to this rule.) To put it simply, I don't make any money from this software, so nobody else should either. While there is no charge for Gatekeeper, I do ask that if you use this product, you send me a picture postcard from your home town (or from wherever you happen to be at the time). If that's too much to ask, find a comparable product with more reasonable terms....