TrapDoor The Real Amiga Point Mailer Copyright (c) 1989 by Maximilian Hantsch and Martin Laubach All rights reserved 1. Introduction This document is a brief description of TrapDoor Amiga, explaining how to set up the software in order to send and receive mail and attached files. Please refer to the BinkleyTerm Amiga documentation (BTDOC100.ZOO) for additional information on file attaches, echomail and other topics you are missing in this document. Please read the entire manual before using TrapDoor. TrapDoor is a new FidoNet front mailer for Amiga point systems. It transfers mail from/to your boss using WaZoo DietIfna and ZedZap technique, handles file requests and is fairly easy to set up and use. It also works with high speed modems that have the well known capability to not get along too well with BinkleyTerm Amiga V1.00. In a typical Amiga point setup, TrapDoor will merely replace BinkleyTerm. 2. Basics TrapDoor is a CLI based application, it can't be run from WorkBench. It accepts a wide range of keywords that allow an easy and accurate configuration. All parameter settings can be saved by adding the SAVE keyword to the command line. The configuration data will be saved within the program file -- so no extra config file is needed. However, you may also specify a file containing the configuration data. Please note that the keywords are neither case nor position sensitive. You will need arp.library V39.1 or higher to use TrapDoor. This library is part of the Arp 1.3 release and can be found on many major bulletin boards. 3. The Modem The Modem must be Hayes compatible. Schr*ck or other strange PTT enforced standards are currently not supported. A word about cabling: you will need a seven-wire RS232C cable, that is one that supports RxD, TxD, CTS, RTS, DTR, DSR, DCD and last but not least, Gnd. Anything less (or other connections) may not have the desired effect. Be sure to set up your modem so that dropping DTR causes a hangup, and a return to command state -- even better a complete reset. If you don't do this, TrapDoor will be incapable of hanging up correctly! On many Hayes compatible modems this can be achieved with AT&D3. Also, your modem should respond to successful connects with a CONNECT XXXX message, not only CONNECT. Most Hayes compatible modems use ATX1 or higher for that. When DTR is set high, DSR should follow. In case your modem is reacting too slow, try adjusting the SLOWMODEM parameter. Some modems require a delay between the "AT" prefix and the actual command string. Fine tune this with SLOWMODEM. Some modems also require a substancial delay after a reset (caused by DTR drop or ATZ) before they respond to commands again -- SLOWMODEM! You might begin to wonder how to figure out the correct SLOWMODEM value. The two golden rules are: - if it doesn't work, increase it. - if it does work, decrease it. - else set it to 42. 4. Keywords ADJUST factor Normally, you should leave this parameter at the default value. If you have a HST or similar buffering modem, you can try to set it to zero (but at your own risk!). If you happen to live in the US, you'll probably have to set it to zero (but we never tested this!). ANSWER Forces TrapDoor to operate in "answer mode". TD will then wait for a call, answer the phone and try to start a WaZoo session with the remote system. Please note that only ZedZap sessions are currently supported in this mode. Also, this feature is not fully implemented yet -- please do not complain when it doesn't work. You have been warned. (*) Full Node Versions only (NO)AUTOOVERSCAN When using the SCREENMODE CUSTOM option, switching this on forces TrapDoor to open its screen not to the standard NTSC or PAL size, but to the maximum size of the WorkBench screen. If you use a program like "MoreRows" to expand your workbench screen into overscan regions, and you would like TrapDoor to do the same, use this parameter. BANNER bannerline This line will be sent to the other side when TrapDoor answers a call. This typically identifies your system, says "hi", or tells human callers to f*ck off. (*) Full Node Versions only BAUD baudrate This is the baudrate to initially talk to the modem -- after power-on or a reset. This speed may change during a session, when you did not lock the baud rate (see LOCK) and a different speed is reported by the modem. BOSS zone:net/node.point Specifies the FidoNet address of your boss, as in "2:310/3". Please be careful as not to leave out the zone and point information when your boss node is capable of four dimensional addressing. CALL number | BOSS Tells TrapDoor to call out. The number dialed can either be set in the configuration data (see SAVE), or given directly in the command line: when the string following the CALL keyword is not BOSS, it will be interpreted as the number to call. Otherwise, the stored number will be used. In conjunction with the SAVE keyword, no call will be made, but the number will be stored and can be used in future sessions by using the CALL BOSS keyword. COLORS palette specification COLOURS palette specification When you use SCREENMODE CUSTOM (see SCREENMODE), you can change the colors with this option. The palette specifier looks rather like a window specification, starting with color 0 (the background color) and continuing to color 3. The value for each color can be calculated using the following function: color = red * 256 + green * 16 + blue where red, green and blue specify the intensity of each color (0 is none, 15 is highest intensity). Example: Colors 2560/4095/10/160 CONCEPTS Display some ideas about the concepts of ShareWare. Also tells you how to register your copy of TrapDoor (and why to register). Read this! CONFIG config file This is for people with a command-linophobia. It allows you to put yet another config file in your favorite config directory. The format of such a file is just the same than that of the command line -- only that linefeeds will be ignored. Please note that several config files chaining one to the other are quite possible -- but you may have to increase your stack size when you have a try at this. Also note that a recursive config file (ie. calling itself) is a rather bad idea since you may not have set your stack size to plus infinity. CREDITS Displays some "About" information. Read this first -- it will tell you a bit about this program and its authors. INBOUND inbound mail directory This should point to the directory where incoming files will be put. Usually "Mail:Inbound". Make sure that the TrapDoor inbound directory is the same as the one for ConfMail, or your attempts to import mail will fail miserably. Additionally, TrapDoor uses this directory for temporary files during receiving and for so-called "[Plop]"-Files. These are files that store information about aborted/interrupted file transfers, so that receiving these files can be resumed in the next ZedZap session. For more information, see chapter "Inbound Directory". LOGWINDOW window specification Use this keyword to change the position and size of the log window that TrapDoor opens. The window specification looks rather similar to a normal AmigaDOS CON:, RAW: or NEWCON: specification, but omit the device name and the window name. The correct format is: LeftEdge/TopEdge/Width/Height i.e. something like 0/20/640/150 (NO)LOCK Lock (do not lock) the baudrate. If the baudrate is locked, and TrapDoor receives a "CONNECT foo" message from the modem, TrapDoor will not adjust the baud rate to foo, but continue to operate at the rate specified with the BAUDRATE keyword. Use this for buffered modems that convert the baud rates internally (HST). LOGFILE filename Sets the name of the logfile. LOGLEVEL loglevel (0-9) Sets the amount of logging information to be put into the logfile. It is not advisable to use a loglevel higher than 4, since we currently use 5-9 for debugging purposes. Setting the loglevel too high (i.e. 8 or 9) will slow down TrapDoor so much that it will timeout and get serious problems with the YooHoo handshake. Two seems to be a rather nice logging level. MINBAUD baudrate Minimal baudrate to establish a connection. Connections at baud rates below this limit will not be allowed. A sudden drop of DTR will scare off most carriers. MODEMANSWER Modem answer string like "A". Omit the leading "AT". (*) Full Node Versions only MODEMDIAL Modem dial string such as "DP" or "DT". The leading "AT" must be omitted. MODEMINIT modem init string This string will be sent to the modem during the initialization phase of TrapDoor. Things like "S7=20" can be done here. TrapDoor first sends the modem an "ATZ", then (eventually after a SLOWMODEM delay) it will send "AT" and your string. NAME board's name Name of this system -- to be sent to the other system during the beginning of a mail session. NODE zone:net/node.point Sets your own FidoNet address. If your boss uses BinkleyTerm or any other mailer that is not point smart, be sure to insert your private pointnet number here and not your full address. That is, on BinkleyTerm, Opus or SeaDog systems you must not use your complete four dimensional address (2:310/3.24), but rather the fake pointnet addressing method "2:3000/24". FrontDoor and D'Bridge systems on the other hand do already support the four dimensional addressing method. Use your full address then. NODELIST nodelist directory Set this to the directory where you keep your nodelist files. TrapDoor understands only nodelist files generated by CList, the nodelist processor written by Jürgen Hermann that accompanies the Chameleon 0.11 package. (*) Full Node Versions only OUTBOUND outbound mail directory This should point to the directory where outgoing files are kept. It should contain all the necessary #?.REQ, #?.FLO, #?.HLO and #?.CLO files and the associated mail bundles. TrapDoor will automatically maintain and delete these files as they get sent out. Usually set to "Mail:Outbound". For more information, see chapter "Outbound directory". PASSWORD password Specifies the password to be used in WaZoo sessions. If the passwords do not match during the session handshake, this will be recorded in the log file and the caller/callee will politely be shown the way out. RINGS Number of rings to wait before answering an incoming call. (*) Full Node Versions only SAVE Save the current configuration data. TrapDoor will store the current setup within itself, so you don't need another config file. SCREENMODE screenmode This allows you to specify the screen where TrapDoor opens its windows. There are three possible modes: WORKBENCH -- TrapDoor will open its windows on the workbench screen. CUSTOM -- TrapDoor will open its own screen and place the windows there. ACTIVE -- TrapDoor will use the screen with the currently active window and open its windows there. Note that this is rather dangerous as TrapDoor cannot control when the other program will close the screen. If this happens, TrapDoor will try to write to a screen that no longer exists and this will in most cases immediately crash the machine. Still, this option looks very nice in conjunction with Chameleon, a wonderful message editor written by Jürgen Hermann. Try sticking the following command into your 'CE.CFG' file: External CustomScreen "Call Boss" \ "TrapDoor call boss screenmode active" Now start Chameleon, pull down the "External" menu, select this item and see yourself ... (NO)SEALINK Enable (disable) DietIfna mode. SeaLink is a windowed XModem descendant. Choose this, when you only transfer small files or when the line quality is rather poor since it will then usually be faster than ZModem. SERIALFLAGS serial flags If you use some other device than "serial.device", you might need to change this, too. Consult the documentation that came with your other device or use zero as default. This option has not been tested so far. SERIALNAME serial device name If you happen to have a modem connected to some other device than the standard Amiga "serial.device", you can use this parameter to set up the correct device name. Usually, "serial.device" will just be about perfect. SERIALUNIT serial unit number If your modem is connected to some other unit number than zero (on the device you set with SERIALNAME), change this appropriately. SLOWMODEM modem command delay Some modems won't understand incoming data at full speed while in command mode. Others take some time after a reset (ATZ or DTR dropped) until they will react to incoming commands again. If your modem doesn't seem to understand the commands TrapDoor is trying to send, feel free to change (increase) this parameter. STATWINDOW window specification Similar to LOGWINDOW, this changes the position and size of the status window. SUMMARY Shows the current configuration setup of TrapDoor. The output it produces can again be used as a config file for TrapDoor. SYSOP sysop's name Sysop's name, will be sent to the other system during session negotiation. (NO)ZEDZAP Enable (disable) ZedZap mode. ZedZap is the ZModem transfer protocol -- on large files, this is one of the fastest protocols around. It will also resume an interrupted transfer if possible. 5. Example Setup TrapDoor Call 454330 Boss 2:310/3 Node 2:3000/24 Password secret Baud 2400 NoLock Name "The Mad House, Vienna/Austria" Sysop "Maximilian Hantsch" Inbound Mail:Inbound Outbound Mail:Outbound NodeList Nodelist: LogLevel 2 Logfile Mail:TrapDoor.Log ModemInit "s7=20" SlowModem 40 Adjust -11 ZedZap SeaLink ModemAnswer A ModemDial DP Rings 1 MinBaud 1200 SerialName serial.device SerialUnit 0 SerialFlags 0 LogWindow 30/20/580/130 StatWindow 30/160/580/70 ScreenMode WorkBench Save If your shell cannot process a commandline that long, you can break the setup procedure into several parts as in TrapDoor Call 454330 Boss 2:310/3 Node 2:3000/24 Save TrapDoor Password secret Baud 2400 NoLock Save TrapDoor Name "The Mad House, Vienna/Austria" Save TrapDoor Sysop "Maximilian Hantsch" Save TrapDoor Inbound Mail:Inbound Outbound Mail:Outbound Save TrapDoor Nodelist Nodelist: Save TrapDoor LogLevel 2 Logfile Mail:TrapDoor.Log Save TrapDoor ModemInit "S7=20" SlowModem 40 Adjust -11 Save TrapDoor ZedZap SeaLink ModemAnswer "A" ModemDial "DP" Save TrapDoor Rings 1 MinBaud 1200 Save TrapDoor SerialName serial.device SerialUnit 0 Save TrapDoor SerialFlags 0 LogWindow 30/20/580/130 Save TrapDoor StatWindow 30/160/580/70 ScreenMode WorkBench Save You could, of course, also create a config file with all the setup statements and then call TrapDoor CONFIG trapdoor.cfg SAVE SUMMARY 6. The Keyboard TrapDoor understands only a few keystrokes. Ctrl-C ... Abort a session Ctrl-E ... Simulate a timeout (similar to Ctrl-F in Welmat). This is useful to abort a dial. Ctrl-F ... Exit when waiting for a call ESC ...... Abort TrapDoor immediately HELP ..... Pop up context-sensitive Help. Please note that TrapDoor will wait for the Help window to close before it exits. 7. Return Values When TrapDoor returns to the calling program, the following returncodes try indicate its success: 0 ... everything successfully completed. 5 ... some minor problem occurred Either no session could be established (BUSY, NO CARRIER, VOICE etc.) or something went wrong during a session (timeouts, too many retries, carrier lost etc.). 20 ... some fatal error prohibited any further action. TrapDoor could not open its window, screen, serial device or timer device, allocate memory or other neccessary items. 8. The Outbound Directory The outbound directory stores packet files (#?.OUT, #?.CUT, #?.DUT, #?.HUT), file attach files (#?.FLO, #?.CLO, #?.DLO, #?.HLO) and request files (#?.REQ). The first eight characters of the filename indicate the net and node number for which this file is designated. These numbers are encoded in hexadecimal and expanded to 4 digits each (leading zeros). Zone and Point information is not included in the filenames. This is a major disadvantage, but unfortunately all current mail Scanners/Tossers for the Amiga only support this format. TrapDoor will come up with a better solution when better mail processors get written. The file extensions tell TrapDoor how to treat this file. 8.1. Packet files These files contain packed mail (Note: *not* compressed (ARC)mail). This is often used for matrix mail, as these packets are easily built and matrix mail normally doesn't get so large that it needs compression. They are sent 'as is' to the other system. #?.OUT ... Normal, meaning that this packet hasn't been processed further. If left unprocessed, it will be treated the same as a .DUT packet. #?.HUT ... Hold this packet for pickup by the remote system. #?.CUT ... The other system can receive Continuous Mail. #?.DUT ... Direct, meaning the other system can NOT receive Continuous Mail. 8.2. Flow files Files are also sent through FidoNet. File attach files tell TrapDoor what files to send (or hold) for whom. File attach files are also called 'flow files' after the .FLO file extension. Flow files store the path and name of files that should be sent to the other system. Each line in the flow file refers to one file. Additionally, there may be one of the following special characters at the first position in the line, indicating that the file needs special processing after sending. Valid special characters: # ... Truncate this file to zero length ^ ... Delete this file (with logging) ~ ... Don't send this file (has been sent previously) Examples: DH0:Files/outgoing/special/sendme.zoo t:trapdoor.zoo #MAIL:Outbound/FFEB0034.MO1 -t:delete.me Flow file extensions are: #?.FLO ... Normal, meaning that this flow file hasn't been processed further. If left unprocessed, it will be treated the same as a .DLO flow file. #?.HLO ... Hold these files for pickup by the remote system. #?.CLO ... The other system can receive Continuous Mail. #?.DLO ... Direct, meaning the other system can NOT receive Continuous Mail. Examples: 0136000b.out ... a normal mail packet for 310/11 01360003.clo ... a file attach file for 310/3, will be sent as continuous mail 0136000c.hlo ... a file attach file, held for pickup by 310/12 8.3. Request files These files are sent to the other system 'as is' for further processing. Each line in these files contain the name of a file you'd like to request from the other system and possibly, following an exclamation mark, a password for the file. Example: FILES TRAPDOOR.ZOO SECRET.ARC !ILBM 9. The Inbound Directory The inbound directory stores all files received from other systems. TrapDoor does not associate inbound filenames with a certain meaning, this is left for the Scanner/Tosser software (i.e. ConfMail). TrapDoor currently manages the inbound directory filenames & filenotes like this: := '[Plop] ' ' ' := '.' '.' '.' := integer := integer := integer := integer := ... := ' ' '; ' := anythingexceptspace := anythingexceptsemicolon Currently defined tags are: FileName From Length When a file comes in, it is received under a temporary filename. When the file is received successfully, it is then renamed to the final filename. Should a file with this name already exist, TrapDoor does the usual filename bumping (see "Bumping Filenames"), but stores the original filename in the filenote in a "FileName" field. Additionally, each inbound file is tagged with a "From" field in the filenote. When a file transfer fails (carrier lost etc.), the temporary file is renamed to "[Plop] filename zz.nnn.ooo.pp", where is the original filename, and is the FidoNet address of the sender. These files are also tagged with a "FileName" field in the FileNote. Additionally, TrapDoor adds a "Length" field to the FileNote, which specifies how long the file should be. When TrapDoor begins to receive a new file, it tries to find a "[Plop] filename zz.nnn.ooo.pp" file that matches the incoming file. If such a file exists, and the filesize compare successfully (remember: "Length" tag in the filenote!), TrapDoor will resume transfer (ZedZap sessions) at the end of the file. Sealink can't resume transfer, but you can abort a Sealink file transfer and lateron resume with ZedZap. it to a temporary filename again and clear the filenote. Further actions are taken as described above. Please note that the order of the filenote fields is insignificant. Examples: Normal inbound file: ffeb0034.mo1 : From 2:310/3; Bumped inbound file: ffeb0034.mo2 : FileName ffeb0034.mo1; From 2:310/3; Aborted transfer: [Plop] ffeb0034.mo1 2.310.3.0 : FileName ffeb0034.mo1; Length 23862; This format should be rather flexible if future extensions have to be added (limit is 80 chars for all the filenote fields), but still remains totally compatible with ConfMail & other (?) utilities that assume MS-Dos style filenames. 9.1. Bumping Filenames TrapDoor does not overwrite inbound files. Instead, the incoming filename is "bumped", i.e. an unique name is created by cautiously modifying the original filename until a new, unique name is found. Bumping proceeds like this: (a) If the filename matches "#?.?UT", it is renamed to a random "#?.PKT" file. This is necessary, as some MS-Dos software does not rename .OUT files into .PKT when transmitting them with the SeaLink protocol. Therefore, TrapDoor tries to correct this mistake. (b) If the last digit of the extension is not a numeric decimal digit, set it to '0'. (i.e. trapdoor.zoo -> trapdoor.zo0) (c) If the last digit of the extension is already a numeric decimal digit, and it is less than 9, increment it. (i.e. trapdoor.zo0 -> trapdoor.zo1 -> trapdoor.zo2 -> ...) (d) If the last digit of the extension is '9', proceed one position to the left and bump again starting at 0 until 9. (trapdoor.zo9 -> trapdoor.z09 -> trapdoor.z19 -> ...) (e) If there are no more characters left for bumping (bumped first character until '9', can't move left any further), rename the file to some random #?.IBF (IBF=InBoundFile), and bump everything again. (f) continue at (b) until an unique name is found. 10. Calling Out To make a call to your boss, TrapDoor Call Boss will do the job. If you'd like to call some other number, just use TrapDoor Call 7900 Password other4 LogLevel 6 Also, if you want to call a certain FidoNet node (*), just use TrapDoor Call 2:310/3 and TrapDoor will figure out the password and other important configuration data for that node from the nodelist. (*) Full Node Versions only 11. Caveats The only problems we have encountered are usually caused by wrong or incomplete RS232 cabling, modem DSR settings or slow modems, and last, but not least, people not reading the documentation. Be sure to especially examine the chapter about the modem carefully if you encounter problems. The 1.10 release of TrapDoor contained a bug, so that it crashed when it could not open the arp.library. (In fact, it died when trying to tell the user that Arp was not available.) This has been corrected in the 1.11 release. Also, some code left over from beta and gamma test versions has been removed. 13. Future There will be two versions of TrapDoor. First, a point version; simple to use, it will allow you to setup a state-of-the-art point system. The unregistered version is nearly the same as the point version, with one restricion: When you start TrapDoor, some requesters pop up and tell you that you have not registered the program. You have to answer all these (i.e. Press a button or click a gadget) before TrapDoor will begin to work. Second, there will be a full node version. This version is currently in development. It will contain full nodelist support, event scheduling, ARexx addressability and a lot more, depending on your ShareWare registration efforts. Throughout this manual, features that only work in full node versions are marked as such: (*) Full Node Versions only When the full node version becomes ready, already registered users will receive this version free of charge. Meanwhile, they will be shipped the latest point version (without the requester pop thingy). 14. Politics 14.1. Registration TrapDoor is a copyrighted product that has been made available to you under the concept of "Shareware". It has never been, nor will it ever be in the "Public Domain". You are granted a limited license in order to evaluate this program. If, after a 3 or 4 week period of evaluation, you find that TrapDoor suits your telecommunication needs, please register yourself. By cooperating with this concept you help to ensure continued development of this product. Site license information for commercial and government use can be obtained directly from the authors. No person(s) or businesses other than the authors are authorized to accept any registration or distribution fees in any form whatsoever. The only people who will be acknowledged as registered users are those who have sent a check or money order (postal order) in the amount of ATS 300,- for Austrian addresses (DM 50,- for Germany and other European countries, US$ 30,- for overseas addresses) made out to: TrapDoor Development c/o Maximilian Hantsch Matzleinsdorfer Platz 3-4/3/10 A-1050 Wien Austria / Europe Please allow 6-8 weeks for delivery. TrapDoor may be redistributed with two restrictions. It must be in its original archive format without any files being omitted and no profit, in any form, may be realized for said distribution. 14.2. Support If you have any suggestions, bug reports etc., feel free to contact the authors of TrapDoor at the above address. Additionally, you can reach us at: Maximilian Hantsch Martin Laubach Fido: 2:310/3.24 Fido: 2:310/3.14 Uucp: max@madvie.at Uucp: mjl@alison.at Also, there is a FidoNet Echomail conference called TRAPDOOR, which should be available at major backbones. This conference is in English and intended for the users of TrapDoor. There, you can freely exchange your experience with TrapDoor, discuss future enhancements you would like to see etc. Both authors will participate in the conference and try to assist you. 14.3. License 1. This license applies to the product called "TrapDoor", a program for the Amiga computer, published by Maximilian Hantsch and Martin Laubach under the concepts of ShareWare, and the accompanying documentation, example files and anything else that comes with the original distribution. The terms "Program" and "TrapDoor" below, refer to this product. The licensee is addressed as "you". 2. You may copy and distribute verbatim copies of the program's executable code and documentation as you receive it, in any medium, provided that you conspicuously and appropriately publish only the original, unmodified program, with all copyright notices and disclaimers of warranty intact and including all the accompanying documentation, example files and anything else that came with the original. 3. You may not copy and/or distribute this program without the accompanying documentation and other additional files that came with the original. You may not copy and/or distribute modified versions of this program. 4. You may not copy, modify, sublicense, distribute or transfer the program except as expressly provided under this license. Any attempt otherwise to copy, modify, sublicense, distribute or transfer the program is void, and will automatically terminate your rights to use the program under this license. However, parties who have received copies, or rights to use copies, from you under this license will not have their licenses terminated so long as such parties remain in full compliance. 5. By copying, distributing and/or using the program you indicate your acceptance of this license to do so, and all its terms and conditions. 6. Each time you redistribute the program, the recipient automatically receives a license from the original licensor to copy, distribute and/or use the program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. 7. You may not disassemble, decompile, re-source or otherwise reverse engineer the program. 8. You may use this program for a period of up to 30 days for evaluation. After that, you have to register. 9. If you wish to incorporate parts of the program into other programs, write to the authors to ask for permission. 14.4. No Warranty THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 14.5. Disclaimer No warranty, either express or implied, is made with respect to the fitness or merchantability of TrapDoor. The authors, Maximilian Hantsch and Martin Laubach, reserve the right to not develop any future versions of TrapDoor. The authors, Maximilian Hantsch and Martin Laubach, will try to make a good faith attempt at correcting any problems if any are discovered, but are in no way required, nor bound to correct them. The authors, Maximilian Hantsch and Martin Laubach, neither assume or accept any responsibility for the use or misuse of this program. They also will not be held liable for damages or any compensation beyond the original registration fee due to loss of profit or any other damages arising out of the use, or inability to use this program. 15. Acknowledgements The following names are either trademarks or the efforts of the person and/or company listed: Amiga and AmigaDOS are trademarks of Commodore-Amiga, Inc. BinkleyTerm Amiga by Jürgen Hermann. Chameleon Editor and CList by Jürgen Hermann. ConfMail by Bob Hartman, Spark Software Inc. EchoMail by Jeff Rush. Fido and FidoNet by Tom Jennings, Fido Software. Inspiration by US Robotics' Dual HST. License Agreement inspired by Jack Radigan and the GNU General Public License. Many Thanks to Alexander Holy, Café Heine, Felix Kasza, Johannes Mistelbauer, Manfred Schädler, Many Others, Martina Patzelt, Werner Schlagnitweit. MS-DOS is a trademark of Microsoft Corporation. Nagging (persistant!) by Roland Schwefel. Oliver Kastl is a trademark of Elaborate Bytes. Snap by Mikael Karlsson. Surfing, Girls and Transportation by the Beach Boys. The TrapDoor Terrifying Tomato Award to the FSC and FTS Documentation. TrapDoor by Maximilian Hantsch and Martin Laubach. Unix is a trademark of AT&T. Welmat by Michael C. Richardson.