W...W W.W.W .W.W. WaterGate Version 0.92 gamma Message processor for FidoNet and Internet/Usenet Documentation 14 October 1996 Copyright (c) 1993-1996 Waterline Software Development V.O.F. All Rights Reserved Development by: Ramon van der Winkel Martijn Dijksterhuis Michel van der Laan (we have removed all the graphics and high-ASCII from this file, so it can be printed on any printer in a non-proportional font) WaterGate Manual Table of Contents Page i --------------------------------------------------------------------- Table of contents ----------------- Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Features. . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Requirements. . . . . . . . . . . . . . . . . . . . . . . . . 4 Welcome to WaterGate . . . . . . . . . . . . . . . . . . . . . . 5 Contacting the authors. . . . . . . . . . . . . . . . . . . . 6 Support site, newsgroup and the mailing list. . . . . . . . . 6 Disclaimer, legal stuff, license, money and you!. . . . . . . 7 Limitations in the unregistered version . . . . . . . . . . . 8 Installing WaterGate . . . . . . . . . . . . . . . . . . . . . . 9 Program description . . . . . . . . . . . . . . . . . . . . . 9 The distribution system. . . . . . . . . . . . . . . . . . 9 The gateway system . . . . . . . . . . . . . . . . . . . . 10 UUCP for beginners. . . . . . . . . . . . . . . . . . . . . . 10 About UUCP . . . . . . . . . . . . . . . . . . . . . . . . 10 About SMTP . . . . . . . . . . . . . . . . . . . . . . . . 11 UUCP spool directory . . . . . . . . . . . . . . . . . . . 11 Compressed news and batch headers. . . . . . . . . . . . . 12 UUCP Name and Domain addresses . . . . . . . . . . . . . . 12 Smart host . . . . . . . . . . . . . . . . . . . . . . . . 13 WaterGate terminology . . . . . . . . . . . . . . . . . . . . 13 Groups. . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 User types. . . . . . . . . . . . . . . . . . . . . . . . . . 13 System Configuration . . . . . . . . . . . . . . . . . . . . . . 15 System Settings . . . . . . . . . . . . . . . . . . . . . . . 17 SysOp. . . . . . . . . . . . . . . . . . . . . . . . . . . 18 System path. . . . . . . . . . . . . . . . . . . . . . . . 18 AreaFix and NewsFix. . . . . . . . . . . . . . . . . . . . 19 Duplicates . . . . . . . . . . . . . . . . . . . . . . . . 19 Max. open handles. . . . . . . . . . . . . . . . . . . . . 20 Cache .TDB files . . . . . . . . . . . . . . . . . . . . . 20 Oversized path . . . . . . . . . . . . . . . . . . . . . . 20 Log file path. . . . . . . . . . . . . . . . . . . . . . . 20 Use swap file? . . . . . . . . . . . . . . . . . . . . . . 21 Swap file path . . . . . . . . . . . . . . . . . . . . . . 21 Swap file size . . . . . . . . . . . . . . . . . . . . . . 21 Time slicing . . . . . . . . . . . . . . . . . . . . . . . 21 Minimum disk free. . . . . . . . . . . . . . . . . . . . . 22 Drives to check. . . . . . . . . . . . . . . . . . . . . . 22 Setting up the Fido system. . . . . . . . . . . . . . . . . . 23 Fido AKAs. . . . . . . . . . . . . . . . . . . . . . . . . 23 Fido Settings. . . . . . . . . . . . . . . . . . . . . . . 25 Inbound directories . . . . . . . . . . . . . . . . . . 25 Outbound directory. . . . . . . . . . . . . . . . . . . 25 Origin lines. . . . . . . . . . . . . . . . . . . . . . 26 Fido system . . . . . . . . . . . . . . . . . . . . . . 26 Mailer rescan file. . . . . . . . . . . . . . . . . . . 26 Editor rescan file. . . . . . . . . . . . . . . . . . . 27 Max length settings . . . . . . . . . . . . . . . . . . 27 Default groups. . . . . . . . . . . . . . . . . . . . . 27 WaterGate Manual Table of Contents Page ii --------------------------------------------------------------------- ArcMail names . . . . . . . . . . . . . . . . . . . . . 28 Fido Message bases . . . . . . . . . . . . . . . . . . . . 29 Auto Link . . . . . . . . . . . . . . . . . . . . . . . 29 Strip SEEN-BY . . . . . . . . . . . . . . . . . . . . . 29 Replace Tearline. . . . . . . . . . . . . . . . . . . . 29 Netmail message base. . . . . . . . . . . . . . . . . . 30 Decode files. . . . . . . . . . . . . . . . . . . . . . 30 Badmail message base. . . . . . . . . . . . . . . . . . 30 Dupes message base. . . . . . . . . . . . . . . . . . . 30 Default number and days . . . . . . . . . . . . . . . . 30 Auto create type and default path . . . . . . . . . . . 31 Fido Compression Programs. . . . . . . . . . . . . . . . . 32 Fido AreaFix Forwarding. . . . . . . . . . . . . . . . . . 33 Setting up the UUCP System. . . . . . . . . . . . . . . . . . 34 UUCP settings. . . . . . . . . . . . . . . . . . . . . . . 34 The spool directory system. . . . . . . . . . . . . . . 35 UUCP name . . . . . . . . . . . . . . . . . . . . . . . 36 Domain addresses. . . . . . . . . . . . . . . . . . . . 36 Smart host. . . . . . . . . . . . . . . . . . . . . . . 37 Backbone. . . . . . . . . . . . . . . . . . . . . . . . 37 Default groups. . . . . . . . . . . . . . . . . . . . . 37 Time zone . . . . . . . . . . . . . . . . . . . . . . . 37 Maximum bundle size . . . . . . . . . . . . . . . . . . 38 Undeliverable mail. . . . . . . . . . . . . . . . . . . 38 Bounce small. . . . . . . . . . . . . . . . . . . . . . 39 Mail and news grades. . . . . . . . . . . . . . . . . . 39 UUCP filenames. . . . . . . . . . . . . . . . . . . . . 39 UUCP compression programs. . . . . . . . . . . . . . . . . 40 UUCP newsfix forwarding. . . . . . . . . . . . . . . . . . 42 Gateway Settings. . . . . . . . . . . . . . . . . . . . . . . 44 Gateway AKA. . . . . . . . . . . . . . . . . . . . . . . . 45 Gateway User . . . . . . . . . . . . . . . . . . . . . . . 46 Gateway TO . . . . . . . . . . . . . . . . . . . . . . . . 46 Kill gated netmail . . . . . . . . . . . . . . . . . . . . 46 FSC-35 kludges . . . . . . . . . . . . . . . . . . . . . . 46 Fido From: . . . . . . . . . . . . . . . . . . . . . . . . 47 Copy Headers . . . . . . . . . . . . . . . . . . . . . . . 47 ASCII conversion . . . . . . . . . . . . . . . . . . . . . 48 Message-ID to MSGID conversion . . . . . . . . . . . . . . 49 Organization to Origin conversion. . . . . . . . . . . . . 49 Name separator . . . . . . . . . . . . . . . . . . . . . . 49 Small addresses. . . . . . . . . . . . . . . . . . . . . . 50 Private mail settings . . . . . . . . . . . . . . . . . . . . 51 Log file settings . . . . . . . . . . . . . . . . . . . . . . 52 Administrator . . . . . . . . . . . . . . . . . . . . . . . . 53 Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Area Definitions . . . . . . . . . . . . . . . . . . . . . . . . 55 Area name . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Comment . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Area type . . . . . . . . . . . . . . . . . . . . . . . . . . 56 In groups . . . . . . . . . . . . . . . . . . . . . . . . . . 56 WaterGate Manual Table of Contents Page iii --------------------------------------------------------------------- Subscribers . . . . . . . . . . . . . . . . . . . . . . . . . 57 Allow passive . . . . . . . . . . . . . . . . . . . . . . . . 57 Passive . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Origin. . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Custom. . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 Origin AKA. . . . . . . . . . . . . . . . . . . . . . . . . . 58 Add SEEN-BY . . . . . . . . . . . . . . . . . . . . . . . . . 58 Moderated and Moderator . . . . . . . . . . . . . . . . . . . 58 Fido base and path. . . . . . . . . . . . . . . . . . . . . . 58 Fido age and limit. . . . . . . . . . . . . . . . . . . . . . 59 Decode files. . . . . . . . . . . . . . . . . . . . . . . . . 59 Files path. . . . . . . . . . . . . . . . . . . . . . . . . . 59 User Definitions . . . . . . . . . . . . . . . . . . . . . . . . 60 FidoNet style user. . . . . . . . . . . . . . . . . . . . . . 60 Organization . . . . . . . . . . . . . . . . . . . . . . . 61 Allowed groups . . . . . . . . . . . . . . . . . . . . . . 61 Subscribed to. . . . . . . . . . . . . . . . . . . . . . . 62 Passive. . . . . . . . . . . . . . . . . . . . . . . . . . 62 Address. . . . . . . . . . . . . . . . . . . . . . . . . . 62 SysOp. . . . . . . . . . . . . . . . . . . . . . . . . . . 62 Packet password. . . . . . . . . . . . . . . . . . . . . . 62 AreaFix password . . . . . . . . . . . . . . . . . . . . . 62 AreaFix special. . . . . . . . . . . . . . . . . . . . . . 63 New Area-create. . . . . . . . . . . . . . . . . . . . . . 63 Compression. . . . . . . . . . . . . . . . . . . . . . . . 63 Send format. . . . . . . . . . . . . . . . . . . . . . . . 63 Export AKA . . . . . . . . . . . . . . . . . . . . . . . . 64 Decode files . . . . . . . . . . . . . . . . . . . . . . . 64 Max PKT length . . . . . . . . . . . . . . . . . . . . . . 64 UUCP name. . . . . . . . . . . . . . . . . . . . . . . . . 64 World registered . . . . . . . . . . . . . . . . . . . . . 64 Allow sub-domains. . . . . . . . . . . . . . . . . . . . . 65 Domain addresses . . . . . . . . . . . . . . . . . . . . . 65 UUCP style user . . . . . . . . . . . . . . . . . . . . . . . 66 Compress . . . . . . . . . . . . . . . . . . . . . . . . . 67 Add batch header . . . . . . . . . . . . . . . . . . . . . 67 Remark on the use of "New Area-create" . . . . . . . . . . 68 Bag supplier. . . . . . . . . . . . . . . . . . . . . . . . . 69 Return system. . . . . . . . . . . . . . . . . . . . . . . 70 WARNING about the return system. . . . . . . . . . . . . . 70 SMTP interface user . . . . . . . . . . . . . . . . . . . . . 71 SMTP-In path . . . . . . . . . . . . . . . . . . . . . . . 72 SMTP-Out path. . . . . . . . . . . . . . . . . . . . . . . 72 Some notes . . . . . . . . . . . . . . . . . . . . . . . . 72 The List Server. . . . . . . . . . . . . . . . . . . . . . . . . 73 Subscribing to a mailing list . . . . . . . . . . . . . . . . 73 Setting up a mailing list . . . . . . . . . . . . . . . . . . 74 List name. . . . . . . . . . . . . . . . . . . . . . . . . 75 Description. . . . . . . . . . . . . . . . . . . . . . . . 75 Welcome file . . . . . . . . . . . . . . . . . . . . . . . 75 Private list . . . . . . . . . . . . . . . . . . . . . . . 75 Only known . . . . . . . . . . . . . . . . . . . . . . . . 75 Active . . . . . . . . . . . . . . . . . . . . . . . . . . 76 AKA. . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 WaterGate Manual Table of Contents Page iv --------------------------------------------------------------------- Area name. . . . . . . . . . . . . . . . . . . . . . . . . 76 Echo to list . . . . . . . . . . . . . . . . . . . . . . . 76 List to echo . . . . . . . . . . . . . . . . . . . . . . . 76 Default access . . . . . . . . . . . . . . . . . . . . . . 76 Subscribers. . . . . . . . . . . . . . . . . . . . . . . . 77 The Gateway. . . . . . . . . . . . . . . . . . . . . . . . . . . 78 The echomail-news gateway . . . . . . . . . . . . . . . . . . 78 Gating echomail to news. . . . . . . . . . . . . . . . . . 78 Gating news to echomail. . . . . . . . . . . . . . . . . . 78 The netmail-mail gateway. . . . . . . . . . . . . . . . . . . 78 Using the gateway with netmail . . . . . . . . . . . . . . 79 FidoNet address to e-mail address translation. . . . . . . 80 Unknown AKA and full name . . . . . . . . . . . . . . . 80 User record, without domain address . . . . . . . . . . 81 User record, with domain address. . . . . . . . . . . . 81 Mapping statement, without full name. . . . . . . . . . 82 Mapping statement, with full name . . . . . . . . . . . 83 Creating UUCP message headers in the netmail . . . . . . . 83 Using the gateway with mail. . . . . . . . . . . . . . . . 84 The ROUTE.TDB file and its options . . . . . . . . . . . . . . . 86 ROUTE-FIDO: Route Fido messages . . . . . . . . . . . . . . . 88 ROUTE-UUCP: Route UUCP messages . . . . . . . . . . . . . . . 89 About bangpaths. . . . . . . . . . . . . . . . . . . . . . 91 Routing things you cannot do in ROUTE.TDB. . . . . . . . . 91 A few last remarks about UUCP routing. . . . . . . . . . . 92 MAP-FIDO: Mapping fido netmail messages . . . . . . . . . . . 93 Order of precedence for MAP-FIDO . . . . . . . . . . . . . 93 MAP-UUCP: Mapping UUCP mail messages. . . . . . . . . . . . . 94 Order of precedence for MAP-UUCP . . . . . . . . . . . . . 95 FORBID-FIDO/ALLOW-FIDO: Restricting the gateway . . . . . . . 96 MAP-AREA: Receive a mailing list in a message base. . . . . . 97 SIGNATURE: Adding signatures to a message . . . . . . . . . . 98 NEWSFILTER: Auto-created newsgroups filter. . . . . . . . . . 100 Logging information. . . . . . . . . . . . . . . . . . . . 101 SENDFILE: a simple file robot . . . . . . . . . . . . . . . . 102 BOUNCE: Send mail back with a reason. . . . . . . . . . . . . 103 SAVE: Write messages to disk. . . . . . . . . . . . . . . . . 104 MAP-UUCP and BOUNCE, SAVE, SENDFILE . . . . . . . . . . . . . 105 GZIPBATCH . . . . . . . . . . . . . . . . . . . . . . . . . . 106 Mail Tunnel. . . . . . . . . . . . . . . . . . . . . . . . . . . 107 How do I set it up? . . . . . . . . . . . . . . . . . . . . . 107 Incoming Tunnel Traffic . . . . . . . . . . . . . . . . . . . 108 A complete picture. . . . . . . . . . . . . . . . . . . . . . 108 A few notes . . . . . . . . . . . . . . . . . . . . . . . . . 108 Using AreaFix / newsfix. . . . . . . . . . . . . . . . . . . . . 110 Automatic file encoding / decoding . . . . . . . . . . . . . . . 112 How it works. . . . . . . . . . . . . . . . . . . . . . . . . 112 Encoding. . . . . . . . . . . . . . . . . . . . . . . . . . . 112 Decoding. . . . . . . . . . . . . . . . . . . . . . . . . . . 112 Customizing messages . . . . . . . . . . . . . . . . . . . . . . 114 WaterGate Manual Table of Contents Page v --------------------------------------------------------------------- The language file . . . . . . . . . . . . . . . . . . . . . . 115 The text files. . . . . . . . . . . . . . . . . . . . . . . . 116 Filenames . . . . . . . . . . . . . . . . . . . . . . . . . . 116 Tokens. . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 Using a secondary tosser . . . . . . . . . . . . . . . . . . . . 119 Several options . . . . . . . . . . . . . . . . . . . . . . . 119 The basic construction. . . . . . . . . . . . . . . . . . . . 119 Connecting the inbound and outbound directories . . . . . . . 119 Including MailTunnel. . . . . . . . . . . . . . . . . . . . . 120 Statistical information. . . . . . . . . . . . . . . . . . . . . 121 Format of the WTRGATE.STA file. . . . . . . . . . . . . . . . 121 The WtrStat program . . . . . . . . . . . . . . . . . . . . . 122 Possible graphs . . . . . . . . . . . . . . . . . . . . . . . 122 Command line options. . . . . . . . . . . . . . . . . . . . . 123 Configuration testing with WtrTest . . . . . . . . . . . . . . . 124 Simulating an netmail . . . . . . . . . . . . . . . . . . . . 124 Simulating an e-mail. . . . . . . . . . . . . . . . . . . . . 125 Routing tables. . . . . . . . . . . . . . . . . . . . . . . . 126 System maintenance with WtrUtil. . . . . . . . . . . . . . . . . 127 Message base maintenance. . . . . . . . . . . . . . . . . . . 128 Link . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 Re-index . . . . . . . . . . . . . . . . . . . . . . . . . 128 Renumber . . . . . . . . . . . . . . . . . . . . . . . . . 128 Purge. . . . . . . . . . . . . . . . . . . . . . . . . . . 129 Log file and statistics file maintenance. . . . . . . . . . . 130 WaterGate database maintenance. . . . . . . . . . . . . . . . 131 Overlaid WtrGate . . . . . . . . . . . . . . . . . . . . . . . . 132 What is an overlay file?. . . . . . . . . . . . . . . . . . . 132 Tuning parameters . . . . . . . . . . . . . . . . . . . . . . 132 Translating from other programs. . . . . . . . . . . . . . . . . 134 Adding information from GEcho v1.02 . . . . . . . . . . . . . 135 Adding information from Waffle. . . . . . . . . . . . . . . . 136 Adding Information from Squish. . . . . . . . . . . . . . . . 137 Commandline parameters . . . . . . . . . . . . . . . . . . . . . 138 WTRGATE.EXE . . . . . . . . . . . . . . . . . . . . . . . . . 138 WTRCONF.EXE . . . . . . . . . . . . . . . . . . . . . . . . . 139 WTRUTIL.EXE . . . . . . . . . . . . . . . . . . . . . . . . . 139 Groups filter option . . . . . . . . . . . . . . . . . . . 141 Appendixes . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 Appendix A: Message Bases . . . . . . . . . . . . . . . . . . 142 Fido *.MSG . . . . . . . . . . . . . . . . . . . . . . . . 142 Squish . . . . . . . . . . . . . . . . . . . . . . . . . . 143 JAM. . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 Appendix B: Error codes . . . . . . . . . . . . . . . . . . . 147 Appendix C: Trade Marks . . . . . . . . . . . . . . . . . . . 148 Appendix D: WaterGate Development . . . . . . . . . . . . . . 149 WaterGate Manual Page 1 --------------------------------------------------------------------- Introduction ------------ WaterGate is a message processing system. It can handle netmail and echomail in FidoNet Technology (FTN) format and Internet e-mail and Usenet news in several formats. It can distribute the messages in any of the supported formats and gate the messages between the different formats. Message "processing" means WaterGate does not do transfers, but processes files instead. Speaking in FidoNet terminology, it is a tosser that can handle Internet and Usenet as well. As far as Internet and Usenet are concerned, WaterGate can process files (jobs) in UUCP, SMTP and BAG format. UUCP is the core protocol that WaterGate is based on and is used to transfer e-mail and news. The terms FidoNet and UUCP will be used to differentiate between the two systems. FidoNet refers to both netmail and echomail, where UUCP refers to both Internet e-mail and Usenet news. WaterGate Manual Introduction to WaterGate Page 2 --------------------------------------------------------------------- Features -------- - FidoNet message processing: netmail and echomail - Internet/Usenet message processing: e-mail and news - Gateway between FidoNet and Internet - Supports 65,000+ areas and nodes - Support for *.MSG, Squish, and JAM message bases - Built-in Remote Area Manager for FidoNet and Usenet(!) - Utility program to perform system and message base maintenance - Built-in Mailing List Server - Built-in File Robot - MailTunnel to transport FidoNet via e-mail - Configuration program with friendly user interface - Context sensitive online help "everywhere" - The fastest, most complete and most user friendly around! WaterGate Manual Introduction to WaterGate Page 3 --------------------------------------------------------------------- Compatible with - FrontDoor/InterMail - BinkleyTerm/TIMS - d'Bridge - Waffle's UUCICO/FX-UUCICO - WinDis, KA9Q, Slurp, Changi WaterGate Manual Introduction to WaterGate Page 4 --------------------------------------------------------------------- Requirements ------------ - An IBM Compatible computer (AT/386/486/Pentium) - MS-DOS, OS/2, Windows '95, Windows NT or compatible Operating System - About 475Kb of available "low" memory (360Kb for the overlaid version) - Optionally some XMS/EMS memory - Enough hard disk space depending on your configuration To operate effectively, you probably need a FidoNet compatible mailer such as FrontDoor or BinkleyTerm. Also, if you want to exchange mail with the UUCP mechanism, a program such as UUCICO or the faster FX-UUCICO is needed. These programs should be available on any large BBS or FTP site. We would like to thank the following users for testing the beta versions of WaterGate, finding bugs, sending problem reports and test files, and making suggestions for improvements: Miguel Lupi Alves, Mitchell Baker, Anthony Barlow, Gerrit Brinkman, Christian von Busse, Glen Chambers, Thomas Charron, Troy Engel, Richard Fairhead, Sue Fairhead, Frans van Geene, Guus Goos, Christopher Henderson, John Halbig, Erik Kolodziej, Phill McKenna, Jim Meijer, Steve Milstead, John Mudge, Pete Rocca, Bob Ross, Jan Ruys, Robert Stark, Peter van der Steen, Joop Stokvis, Pat Trainor, Michel Voorn, Rene Vreeman, Remco Vrolijk, Rob Waite, Jurgen van der Wilk. and anybody else who we forgot to mention! Special thanks to Rob Szarka of Brazerko Communications in the USA. Explicit NO thanks to Jon Greaves and Colin Taylor for disappearing as credit card sites, without telling us. WaterGate Manual Welcome to WaterGate Page 5 --------------------------------------------------------------------- Welcome to WaterGate, --------------------- The demand for electronic mail is increasing daily, as is the number of people reading and writing electronic messages. There is FidoNet, connecting thousands of Bulletin Board Systems and their users on all continents, and there is Internet, to which almost every university and major company has a connection. Then there are numerous other networks, using technology similar to the ones mentioned. WaterGate is a mail processing program capable of processing both messages that were created by a FidoNet Technology compatible program, and messages created by a program that supports RFC822, the protocol widely used within Internet for e-mail. Finally, it supports a variant to the RFC822 protocol that is used for the over 10000 newsgroups within Internet, also known as Usenet. From now on, the term UUCP will be used for both Internet e-mail and Usenet news, just like FidoNet refers to both netmail and echomail. WaterGate was written to simplify the process of connecting both FidoNet and UUCP compatible systems by integrating the four steps needed to build a FidoNet/UUCP message host: 1. Process and distribute UUCP messages, for us and other systems. 2. Process and distribute FidoNet messages, for us and other systems. 3. Translate (gate) messages between the two formats. 4. Import either style message into message bases. So, no matter if you are a Fido point, node, hub, zonegate, or UUCP node or hub, WaterGate is the program to use for processing all your netmail, echomail, mail and news. In addition to that, it is loaded with tools and features like AreaFix for both FidoNet and UUCP(!!), mailing list server, read-only areas, file robot and options to import data from your previously favorite programs. We plan to support other transport mechanisms and mailers in future as well. It was designed to do this. We hope WaterGate achieves its design goals: ease of configuration of both WaterGate and your complete mail processing system, speed of operation, computability, and stability. The authors WaterGate Manual Welcome to WaterGate Page 6 --------------------------------------------------------------------- Contacting the authors ---------------------- The authors can be contacted at the following addresses: Ramon van der Winkel Internet: ramon@wsd.wline.se Michel van der Laan Internet: michel@nijenrode.nl Support site, newsgroup and the mailing list -------------------------------------------- The WSD (Waterline Software Development) system at wsd.wline.se is our support site, operated by Ramon van der Winkel. Mail your problems and requests to ramon@wsd.wline.se. The latest patches are always requestable from our file robot. Send a message to watergate-info@wsd.wline.se to get a text file with a description of all the files you can request. There is a newsgroup as well: alt.bbs.watergate. Unfortunately, there are some distribution problems, apart for the continuous spam postings. Everything seems to work properly from the USA side, but posting in Europe doesn't make it far. Finally, there is the WaterGate mailing list. To subscribe, write a message to listserv@wsd.wline.se and put the following command in the body of the message: "connect watergate" (without the quotes). After the reply from the listserver, you can send your problems to watergate@wsd.wline.se to have them distributed to everybody else that is connected to the mailing list. The main use of the mailing list is for announcements by the authors. WaterGate Manual Welcome to WaterGate Page 7 --------------------------------------------------------------------- Disclaimer, legal stuff, license, money and you! ------------------------------------------------ "WaterGate" refers to all executables and documentation included in the package that was released. WaterGate is (c) Copyrighted material by Waterline Software Development V.O.F. in The Netherlands. By using this software you accept the terms of the license agreement stated below. - WaterGate is released as Shareware, you may use the unregistered version of this program for a trial period of thirty (30) days. After this period you MUST either register WaterGate or stop using it. - WaterGate is provided 'as is', without warranty of any kind, neither expressed nor implied. Waterline Software Development only guarantees that WaterGate will occupy disk space. - In no event is Waterline Software Development liable to you or anyone else for any damages, including lost profits, lost savings or other incidental or consequential damages arising out of the use of WaterGate. - In no way is Waterline Software Development obliged to you or anyone else to provide future versions of WaterGate. - All mentioned products and packages are copyrighted by and trademarks of their respective holders. If you are using WaterGate in a non-commercial environment refer to the REGSITES.DOC file for information on how to register. Commercial users have to contact the authors for more information. A commercial environment is any of the following: - Business - Government - Organization - Foundation - School - Any other form of juridical person - Any form of system where WaterGate is used to make a profit, direct or indirect. Remember that WaterGate is currently in a GAMMA phase. This means it needs extensive testing by YOU! Most parts of it are currently used by a number of larger sites, but this doesn't mean it is trouble-free all through! Stay up to date with the latest release. We try to release a new version at least every two months, so read ALT.BBS.WATERGATE or connect to the mailing list for release announcements. Please do support the Shareware concept. WaterGate Manual Welcome to WaterGate Page 8 --------------------------------------------------------------------- Limitations in the unregistered version --------------------------------------- You can use all options when not registered. WaterGate does not contain a time lock or limitations whatsoever, except for the following: - The fact that you are not registered is reflected in a few places, like the Received: header in an e-mail, the tear-line in a netmail and echomail, the PID, TID and Via kludges. - The tear-line replacement option is always ON which means all tear-lines are replaced by "WtrGate vX.yy Unreg". - WtrGate accepts only five (5) MAP-UUCP statements in the ROUTE.TDB file. This statement allows you to connect a nice e-mail address to a FidoNet style user. You can do without this, so five is not really a limitation. - WtrGate accepts only four (4) TUNNEL statements (TUNNEL-TO and TUNNEL-FROM) in the ROUTE.TDB file. This limits you to two bi-directional Mail Tunnels. - WtrGate waits five seconds when you exit the program and then continues. That is all. There is no limitation to the number of users, areas, mailing lists, send files, routings, domain names, networks, AKAs or what so ever. The limitations still allow you to evaluate the product to its full extent. WaterGate Manual Installing WaterGate Page 9 --------------------------------------------------------------------- Installing WaterGate -------------------- Before you go through the step-by-step installation, please read this chapter first. After reading it, you will know about the basic issues that are involved with WaterGate and understand the big picture when installing the smaller parts. Program description ------------------- WaterGate supports the FidoNet and UUCP technologies. Throughout this chapter we will assume you need support for both of them. You can see them as two separate flows of messages that only touch when messages are going through the gateway. Have a look at the following two pictures that describe the distribution abilities of WaterGate. The distribution system: +------+ +----+ +---------+ +-------+ +--------------+ | UUCP | |SMTP| |satellite| |FidoNet| |optional other| |uplink| |link| |receiver | |uplink | |FidoNet uplink| +--+---+ +--+-+ +----+----+ +---+---+ +------+-------+ | | \|/ | | +--+---------+--------+------------+--------------+------+ | W A T E R G A T E | +--+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+---+-----+ | | | | | | | | | | | | | | | | | | | | | | | | U P P P N P U P N P P P N U P P U U U U U U P | +-----+-------+ U = UUCP-style user |local system | N = FidoNet-style node |message bases| P = FidoNet-style point |like BBS | +-------------+ The pictures shows a few systems that provide the big message traffic to you. The satellite receiver is optional, of course, but is put here because WaterGate supports it. Whereas you can be in more than one network with the FidoNet technology, there is only one Internet and thus you have only one UUCP uplink. On the bottom side you see the systems that receive their messages from your system. WaterGate allows FidoNet style systems to receive UUCP messages and vice versa. The messages can also be imported into a message base for your BBS, or for you to read. Don't worry if your system is not as big as in the picture above. You can use WaterGate as well if you are `just' a FidoNet style node or point, with possibly a UUCP feed as well. The next picture shows what WaterGate does to provide the interchangeability of the messages between UUCP and FidoNet. The top and bottom bars are the UUCP and FidoNet message flows respectively and in the middle is the WaterGate program. WaterGate Manual Installing WaterGate Page 10 --------------------------------------------------------------------- The gateway system: ------------------------- - - - ------------------------- mail SMTP/UUCP/BAG news -----+--------+-------+-- - - - ---+------+---------+---- | | | | | | +---+---+ +--+----+ ++------------++ +---+---+ +---+---+ |newsfix| | mail | | mailinglists | | news | |message| |AreaFix| |gateway| | server | |gateway| | bases | +---+---+ +--+----+ ++------------++ +---+---+ +---+---+ | | | | | | -----+--------+-------+- - - - - - +------+---------+---- netmail FidoNet echomail ------------------------ - - - - - ---------------------- The internal parts of WaterGate can be divided into the parts described above. It can process mail, news, netmail, and echomail to and from UUCP and FidoNet. If it is necessary for a mail or netmail message to go to the other network, it goes through the mail gateway. There is a different gateway for the news, but that one is almost invisible to the users. The mail gateway can be addressed from both networks. News flows in newsgroups, and echomail flows in echoes. Inside WaterGate we simply call them areas. To connect and disconnect areas, the users have to write a netmail or mail message to AreaFix so the system operator (that's you) doesn't have to do all that work manually. On the far right side of the picture are the message bases. Every message that flows through an area can be imported into a message base as well. WaterGate supports the *.MSG, Squish, and JAM message base formats. In fact, there is also a netmail messagebase (not shown in the drawing). The big box in the middle of the picture is not WaterGate's heart, but is the mailing list server. A mailing list is like a private newsgroup. If a message is sent to a mailing list, all users connected to that list receive the message by mail or netmail. So, the mailing list is just a list of receiver addresses. It is also possible to connect the mailing list to an area so you can connect a newsgroup or echo, but that is mainly intended to import the messages into a message base. This explains why the box in the middle of the drawing has so many connections. UUCP for beginners ------------------ There are a lot "FidoNet people" that want to connect the Internet and receive e-mail and news. The "Internet related" terms used in WaterGate are not always familiar to them. This short chapter therefore explains how the "other" system works. WaterGate Manual Installing WaterGate Page 11 --------------------------------------------------------------------- About UUCP ---------- To receive mail and news and process it with WaterGate, you need a UUCP connection to an Internet Provider. These providers mostly sell PPP and SLIP connections and give you an account to login and a mailbox. After connecting to them and using special software, you can read your e-mail. The problem with these links is that you only have one mailbox and thus one e-mail address. WaterGate was made to handle loads of e-mail addresses, sub-systems (downlinks) (basically *@*.yourdomain), so have to ask for a UUCP connection instead. Once you have this connecting, your provider will store all news you want to receive and all e-mail for your system and your downlink systems. When you connect to them, you pick up all this mail and news using the UUCP protocol. WaterGate cannot do this for you. WaterGate is a tosser and not a mailer. You need a program like Waffle's UUCICO or the FX-UUCICO program to send and receive your UUCP "batches" as they are called. About SMTP ---------- If UUCP is not available, then you might still be able to use WaterGate. We added support for SMTP and BAG systems. SMTP is the protocol used on the Internet to transport mail messages, but not news. You need a special program to get the mail from your provider, where after WaterGate can process it. You can also use SMTP for outgoing mail. WaterGate will queue it up on your hard disk and the special application can then send it. Examples of these programs are WinDis and KA9Q. The BAG support is a generic format for storing a lot of news (and optionally mail) messages in one file. There are programs that allow you to retrieve news from a so called "news server" and store these articles in a .BAG file. You can then use WaterGate to process these BAG files. Notice that there is no way at this moment to get news back to the news server using BAG files. Examples of programs to download news and store these as BAG files are WinDis, Slurp and Changi. UUCP spool directory -------------------- These batches are stored in your "spool directory", which is a sub-directory on your hard disk, for example C:\SPOOL\. Your UUCP uplink system has a sub-directory there, as well as your UUCP style downlink systems. Not your FidoNet style downlink systems, they have the inbound and outbound directories. In these spool directories you will find files with the names *.X, *.D, *.XQT, *.DAT and *.CMD. The first two are incoming (inbound, WaterGate Manual Installing WaterGate Page 12 --------------------------------------------------------------------- received) files. WaterGate processes these files. The last three are outgoing (outbound, to be sent) files. The XQT file will end up on the other system's hard disk like a .X file and the .DAT file as a .D file. The .CMD file is used by the UUCICO (UUCP mailer) program and tells it which files to transfer. The .X file is the so called "envelope" file and the .D file the letter itself. Each e-mail file has a .X file in which WaterGate finds the e-mail address of the recipient and a reference to the .D file, amongst others. In case of news, the .X file contains the recipient name "rnews". Each e-mail message has its own .X and .D file. The news is bundled and you will find one .X file for each .D file with a number of news message in it. The .D file is mostly limited by size, not by number of news messages. Compressed news and batch headers --------------------------------- To reduce the transfer time, news batches are mostly compressed. E-mail is never compressed. There are two forms of compression used with UUCP: the older 12-bit or 16-bit "compress" and the nowadays more common "gzip". Because of this compression, you cannot read the .D files with news directory. You have to decompress them first. To make it easier for a script-based UNIX machine to detect the compression format, a special "batch header" is added to the start of the compressed file. When the file is compressed with normal compress, you will find the header "#! cunbatch" there. When it is compressed with gzip you will find the header "#! gunbatch" or "#! zunbatch" there. WaterGate automatically detects all these headers and compressed formats and decompressed the .D files. UUCP Name and Domain addresses ------------------------------ There are two key issues involved in addressing in the Internet world: UUCP name and domain address. The "UUCP name" is the is a name of maximum 12 characters that identifies your system from your neighbors. You and your direct neighbor systems (systems you exchange messages with) need to have a unique UUCP name. The more important "domain address" identifies your system world-wide. My UUCPname is "wsd" and my domain address is "wsd.wline.se". When you want to create UUCP downlinks, you have to give them an (for your system) unique UUCP name. You only almost never have to give Fido downlinks a UUCP name. WaterGate Manual Installing WaterGate Page 13 --------------------------------------------------------------------- Your e-mail address is always @, for example "ramon@wsd.wline.se", where the part before the @ is called "user name". Smarthost --------- All mail to domains not know at your system are sent to the "smart host", which is mostly the computer of your UUCP service provider. That computer will then know how to transport the message to the end system. Internally, WaterGate depends heavily on the UUCP names. You have to define one system as the smart host by telling WaterGate that system's UUCP name. WaterGate terminology --------------------- To configure the WaterGate system, you have to use the WtrConf program. Inside this program you can create the areas, mailing lists, receiving users, and uplink systems. Note that the latter two are logically the same for WaterGate. A message that is received from a user is sent to all other users connected to that same area, no matter if that user is an uplink system or not. Read that again, because all WaterGate does is based on this! You also use the WtrConf program to configure all the other system related items. An exception is the ROUTE.TDB ASCII configuration file that contains the routing information, mapping commands, and gateway restrictions. You don't need this file right away when you start to set up your system. Most of these items will be moved into the WtrConf program some day. Groups ------ WaterGate allows you to separate the areas from the different networks into 26 groups. An area has to be in at least one group, but can also be in more than one group. That way you can give one or more users access to a certain group in which they can only connect to some of the areas you have. You can also easily divide the UUCP and FidoNet networks into groups. And it is also possible to make a group read-only so that users subscribing to areas in that group cannot post messages in it, but only receive messages from it. If a message is received in an area that is not defined in your system, you can have WaterGate create that area automatically (and optionally a message base as well). You can enable this for your uplinks and save yourself a lot of typing work. WaterGate Manual Installing WaterGate Page 14 --------------------------------------------------------------------- User types ---------- There are a few different user types that you have to be aware of before you start creating users. The big difference between the users is the way they communicate with your system: with UUCP, SMTP, BAG files or in FTN (FidoNet) packets. Aside from that, you can assign UUCP addresses to FidoNet users. That way, a user with FidoNet address 2:280/802 can have an Internet domain address like bbsw.wlink.nl. If a user on that system sends a message to Internet, his address will be a nice Internet address instead of something like user@f802.n280.z2.wlink.nl. Resuming, there are UUCP users, SMTP users, BAG suppliers and FidoNet users. The last thing you have to do before you start setting up the system is think about the addresses and names the system will be known as. This is very important, because a lot of errors are made with the assignment of addresses. Try to write down the addresses of your uplink(s), the addresses and names of your WaterGate system, and some of the addresses of your downlinks (users). This will make it a lot easier to configure the system. Note that users who receive UUCP and FidoNet messages need not be defined twice in the userbase, but if the same user receives messages from two different FidoNet networks, you do have to define him/her under both addresses in the userbase. WaterGate Manual System Configuration Page 15 --------------------------------------------------------------------- System Configuration -------------------- The following pages describe the installation of WaterGate by going through all the possible entries in WtrConf. After that, we assume that you have become familiar with the system and explain several complete installations. This chapter will also teach you to use the user interface. During this documentation, the term WaterGate refers to the entire package and the terms WtrGate, WtrConf and WtrUtil refer to separate programs of this package. To start, unpack the archive containing the program files into a new directory on your hard disk, for example C:\WTRGATE. At least the following three executables should be present in the archive: WTRGATE.EXE WTRCONF.EXE WTRUTIL.EXE You might want to set a environment variable called WTRGATE to this directory so WaterGate knows where to find its configuration files when not started from its home directory. Add this line to your autoexec.bat file: SET WTRGATE=C:\WTRGATE Then run the configuration program, WtrConf, to create new configuration and database files. If you don't run it from the installation directory, make sure the WTRGATE environment variable is set, as indicated above. You might want to reboot or set it manually before continuing. After starting WtrConf, you will see the following menu: WaterGate Manual System Configuration Page 16 --------------------------------------------------------------------- +-------------------------+ | Main Menu | +-------------------------+ | System configuration | | Area definitions | | User definitions | | List Server definitions | | Group descriptions | | Import/export menu | | About WaterConf | | Exit program | +-------------------------+ You can select a menu line with the cursor keys up and down. To select one of the options, press enter. You can also exit a menu by pressing escape. In this case, pressing escape will present another menu, asking if you really want to quit the program. Select Yes and press enter to quit, or press escape again to return to the main menu. You can also exit the program by selecting the bottom menu option. To get there, use the cursor keys or press PgDn (page down). To get back at the top of the menu, press PgUp (page up). You can also use the Home and End keys. You can always use function key F1 to get context sensitive help. Try pressing F1 in the Main Menu. To remove the help window, you have to press escape. It is sometimes possible to use special keys in the help screens, like PgUp and PgDn. The help screens will tell you when. Last remark before we start. Have a look at the bottom line of the screen. It shows most of the keys you can use throughout the program and will change to reflect the keys you can use at a certain point. We start with System Configuration, so select the top option from the Main Menu and press enter. You are now presented with a new menu, which looks like this: WaterGate Manual System Configuration Page 17 --------------------------------------------------------------------- +---------------------------+ | System configuration menu | +---------------------------+ | System settings | | Fido system AKAs | | Fido settings | | Fido message bases | | Fido compression programs | | Fido areafix forwarding | | UUCP settings | | UUCP compression programs | | UUCP newsfix forwarding | | Gateway settings | | Private mail options | | Logfile settings | | Administrator settings | +---------------------------+ The System configuration menu is split into several parts, starting with general system settings, followed by five options that have to do with FidoNet settings, followed by three options for UUCP configuration settings. The last separate options are to setup the gateway and the private mail scanning system, to tune the log file and to setup the administrator. System settings --------------- Let's start with System settings. Press enter to get the screen: WaterGate Manual System Configuration Page 18 --------------------------------------------------------------------- +-------------------------------------------+ | SysOp Ramon van der Winkel | | System path C:\WTRGATE\ | | Areafix name AreaFix | | Newsfix name newsfix | | Dupe checking OFF on | | Dupe checks 10000 | | Max. open handles 8 | | Cache .TDB files OFF on | | Oversized path C:\WTRGATE\TOOBIG\ | | Log file path C:\WTRGATE\WTRGATE.LOG | | Use swap file? off ON | | Swap file path C:\WTRGATE\WTRGATE.SWP | | Swap file size 2 | | Time slicing no YES | | Minimum disk free 10 Mb | | Drives to check C | +-------------------------------------------+ This is a window with fields where you can enter data. You can use the cursor keys up and down to go through the fields. There are a number of different type of editing fields, but they all have one thing in common: press enter to edit the contents. SysOp ----- The first field in this window is "SysOp". You have to put your name there. Since this is a text field, you can either press enter and edit away or you can start typing at once, without first pressing enter. This will clear the current contents of the field. So, press enter if you want to change its contents, or just start typing to completely replace it. When editing a text field, you can always press escape to stop editing and restore the old contents. If you are satisfied with the new contents, you have to press the enter key to accept the changes. Inside the field, you can use the cursor keys left and right to move the cursor through the field. The backspace and delete keys work as expected. Insert mode is always on, though. You can clear the contents of the field from the cursor position to the end of the field, by using the WordPerfect method: ctrl+end. To jump to the following or previous word, you can hold down the control key (ctrl) and use the cursor keys again. Finally, the home key brings you to the beginning of the field and the end key to the last character of the contents. The SysOp field is used when WaterGate has to write special replies, for example for AreaFix. More about that later. Let's go to the next field. WaterGate Manual System Configuration Page 19 --------------------------------------------------------------------- System path ----------- You have to enter the path to the WaterGate databases here, in our example C:\WTRGATE. This path information is stored in the WaterGate configuration database. It finds this database by looking at the environment variable WTRGATE. The path in this field will be used to find the other databases after having read the configuration file. So: WTRGATE=C:\WTRGATE -> WTRCFG.TDB -> System Path -> The other *.TDB files AreaFix and NewsFix ------------------- The next two fields are the names for AreaFix and newsfix, programs integrated in WTRGATE.EXE. A user can write a message to these programs to connect and disconnect areas and to change settings that are personal to that user. The names you enter in these fields are the names your users have to use when writing a message to them. AreaFix is used for FidoNet and newsfix is used for UUCP. It is conventional to use mixed case names for FidoNet ("AreaFix") and flat, lower case names for UUCP ("newsfix"). We will get back to these names later and assume you are using the default names, so there is no reason to change them here. Duplicates ---------- On to the next two fields that have to do with dupe checking. WaterGate is able to identify two messages as being identical (duplicates) and then only distribute the first. This prevents wasting disk space and transport time. At this moment, the method used to identify duplicates inside the WaterGate program is not very robust. We therefore advise big systems to disable duplicate checking until we have implemented a better algorithm. (At this moment, one database with a maximum of 16000 entries is used to keep track of all FidoNet and UUCP messages. No way is this enough for a system receiving packets via satellite. Future algorithms will not only separate Fido and UUCP dupes, but also do message/reply id bridging and allow a bigger duplicates database). The first field you can set for the duplicates checking is a "toggle" field. Toggles are used to select from two or more predefined options, in this case ON and OFF. You can only use enter to toggle the setting. The one in upper case is the current selection. The next field is a numeric input field, where (in this case) you can input the number of duplicates WaterGate has to "remember". The number in our example window is 10000, which means WaterGate will identify two duplicates, even if 9999 messages are sent in between. WaterGate Manual System Configuration Page 20 --------------------------------------------------------------------- The maximum number you can enter here is 16000. When a duplicate message is found, it will be destroyed by default. Later in the configuration, you can also create a message base to put the duplicates in. Max. open handles ----------------- Because opening and closing a file takes a lot of time, WaterGate tries keep an outgoing mail bundle open as long as possible. If you allow it to use more file handles, you can drastically reduce the number of open/close actions. By default, WaterGate tries to open up to 8 handles for outgoing mail packets. If you don't export mail to other computers, then you can reduce this setting to 1. If you do export mail, try increasing this number by 1 for each node. WaterGate is capable of using up to 100 file handles. If you have more nodes than handles, files are closed in a priority order: the more mail a node receives, the less often its packets are opened and closed. Depending on its configuration, WaterGate needs up to 10 file handles for its own use, the system will use a few too, so make sure you have a matching number in your CONFIG.SYS: FILES=20+Nodes+10 Cache .TDB files ---------------- WaterGate is able to copy its databases containing users and areas into XMS memory, decreasing disk access during a run. To activate this option, toggle "Cache .TDB files" to ON. At startup, WaterGate will copy its databases into XMS memory, up to the amount of available memory. WaterGate has no other use for XMS memory besides caching its databases and shelling. Oversized path -------------- When WaterGate encounters a message bigger than it can handle, it will use the 'Oversized' path to store it for the SysOp to look at. The maximum size of a message is limited by the amount of free memory, which should be approximate 200 kilobytes. If you use a swap file (see below), WaterGate will only use the oversized directory if the swap file gets full as well. Log file path ------------- Use the 'Log file path' to specify a complete path and file name for WaterGate's log file. This file is used by both WaterGate and WtrUtil to log run-time actions. WaterGate Manual System Configuration Page 21 --------------------------------------------------------------------- This path is also used to write the statistics file. This file takes the same name as the log file, but with the extension .STA. So, if your log file is called WTRGATE.LOG, the statistics log is named WTRGATE.STA and put in the same directory as the log file. Use swap file? -------------- WaterGate is able to use a swap file as additional memory. If it runs out of normal memory to store a message in, it will swap all lines out of normal memory into the swap file. This frees up a lot of normal memory, allowing another couple of thousand lines to be read again. If it fills up again, it flushes these lines to the swap file as well, and so on. You can limit this by configuring a maximum swap file size. Since WaterGate is not capable of using XMS memory to store messages, you might be able to setup the swap file on a RAM-drive and let the RAM-drive use XMS memory. In this case, though, the swap file is limited by the available memory. It may be better to put the swap file on hard disk, so you can process those 1 megabyte+ news and FTP-mail messages easily. You can use the toggle 'Use swap file?' to switch the swap file usage on and off. It is on by default. Swap file path -------------- Since you might want to put the swap file on a RAM-drive, you can enter the complete path plus filename for the swap file in this field. WaterGate will create the file by itself and delete it after running. Swap file size -------------- To set a maximum size for the swap file (you don't want it to use up all of your hard disk space, do you?), you must enter a limit in megabytes here. The default is 2 megabytes. WaterGate will not use the space unless necessary. You can check the swap file usage in the log file. The main use for the limit is when putting the swap file on a RAM-drive. Depending on your mail configuration, between 1 and 2 megabytes should be enough for the swap file. Let us know if you ever have to process bigger files (FTP-mail). Time slicing ------------ WaterGate supports Windows, OS/2 and DesqView by giving up time slices to make sure it WtrGate.exe or WtrUtil.exe doesn't hog the CPU. If you are experiencing problems with the time slicing support, then WaterGate Manual System Configuration Page 22 --------------------------------------------------------------------- you can switch it off by setting this toggle to NO. Otherwise leave it to YES. Minimum disk free ----------------- You can tell WaterGate to monitor the free space on one or more of your hard drives. The space will be checked regularly by wtrgate.exe while it is working on your messages. If the free spaces runs below the limit set in this field, then WtrGate will stop. Drives to check --------------- You can select the drives you want to have checked for free disk space in this field. Simply type the drive letters. For example, "CDT" to check drives C:, D: and T:. WaterGate Manual Setting up the Fido system Page 23 --------------------------------------------------------------------- Setting up the Fido system -------------------------- This part tells you in detail how to set up the FidoNet side of your WaterGate system. Other chapters will teach you how to add users (uplinks, nodes, points, etc.) and areas (echomail and netmail). Fido AKAs --------- Because WaterGate needs to know who you are, enter the "Fido AKAs" sub-menu from the "System Configuration" menu. Here you can enter up to 100 different Fido addresses. The following screen will be presented to you. + (100) -------------------------+ | Fido AKAs | +--------------------------------+ ||2:280/803 1017 | ||60:100/1 0 | ||0 0 | ||0 0 | ||0 0 | ||0 0 | ||0 0 | ||0 0 | ||0 0 | |v0 0 | +--------------------------------+ We call these type of screens "Lists". They look very similar to menus and the little difference is the number in the top left corner of the window and the arrows on the line at the left (it was changed to a "v" here). The number tells you how many items are in the list. If there are more items in the list than fit in the window, you can scroll through the list. The arrows at the top and bottom of the line will tell you if there are more items in a certain direction. Because you can only see an arrow at the bottom of the line, we must be near the top and there are more items below. You can use a lot of keys to scroll through the list, including the cursor keys Up, Down, PgUp, PgDn, Ctrl+PgUp, and Ctrl+PgDn. Some lists contain wider lines than fit in the window. In that case, you can also scroll horizontally using the cursor keys Left and Right and the Ctrl+Left, Ctrl+Right, Home, and End keys. There will also be arrow indicators on these oversized lines. We will get to some of these lists later. Let's get back to the AKAs. In this list you enter all the Fido addresses (AKAs) this system must be know as. Don't start typing all the AKAs at once, but add some more as you configure more and more networks. The first AKA you enter here will be your main Fido address. Normally, the program will try to use a system AKA that matches closely to the network it has to send a message to. The main AKA is WaterGate Manual Setting up the Fido system Page 24 --------------------------------------------------------------------- used when it is not possible to find a proper match, or on other occasions, such as when the system has to send a message to you, the SysOp. Optionally, you can specify a Fakenet or Pointnet number. Only use this if you have (or are) a point using old 3D Fidonet software, which can't handle complete point addressing directly. For those of you who don't know what a pointnet is: if a mailer is incapable of handling 4D (zone:net/node.point) addresses, but only 3D (zone:net/node) addresses, it would be very inconvenient to have to use node numbers for your points instead. Pointnets have been invented to solve this. A point with an address 2:280/802.33 would then be translated to 2:1017/33 if your pointnet for that AKA is 1017. Note: if you want WaterGate to use the pointnet for a certain point, you have to define that user in the userbase with the pointnet address as his AKA. More on this later. Once again back to the list. The left side contains the AKA and the right side the pointnet number. If you want to change a line, press Enter and you will be presented a little (two line) window. You can change the AKA at the top line and enter the pointnet number at the bottom line. Since WaterGate supports 5D addresses, you can enter your fido AKA as zone:net/node.point@domain. The minimum is zone:net/node, though. WaterGate Manual Setting up the Fido system Page 25 --------------------------------------------------------------------- Fido Settings ------------- The next option from the System Settings menu brings you to a screen like this: +------------------------------------------------------+ | Inbound dir 1 C:\INBOUND\ | | Security on OFF | | | | Inbound dir 2 | | Security on OFF | | | | Outbound dir E:\NODE\OUT\ | | | | Origin 1 Life at the end of the impossible | | Origin 2 | | Fido System binkley FRONTDOOR d'bridge | | D'bridge queue E:\DBRIDGE\QUEUE\ | | Mailer rescan file C:\FD\FDRESCAN.NOW | | Editor rescan file C:\FD\FMRESCAN.NOW | | Max *.MSG length 12000 | | Max Squish length 12000 | | Max JAM length 12000 | | Max *.PKT length 0 | | Default groups A | | Arcmail names ARCMAIL hex all | +------------------------------------------------------+ Inbound directories ------------------- When Fidonet mail bundles arrive at your system, by use of a Fido mailer such as FrontDoor or Binkley, they are put in a special holding directory, also known as the "Inbound" directory. WaterGate supports up to two such directories. Each directory has a switch to toggle security on or off. When security is ON for an inbound directory, mail bundles are only decompressed if they were sent by a system that is configured as a user on our system. Second, decompressed mail bundles are checked to ensure they contain the same password as defined for the user sending the bundle. If no password is defined for a node, the password within the mail bundle is ignored. A mail bundle from an unknown node will be renamed to *.UNK and logged. Mail bundles with a wrong password are renamed to *.PWD and logged as well. Outbound directory ------------------ New mail bundles created for Fido style nodes that this node sends mail to are put in the "Outbound" directory. For BinkleyTerm systems, this is a Binkley 2.50 5D compatible outbound directory, WaterGate Manual Setting up the Fido system Page 26 --------------------------------------------------------------------- with support for Binkley point directories. WaterGate tries to create Binkley sub-directories when needed. For FrontDoor systems, all outgoing mail bundles are stored in this directory. Since The TBBS mailer TIMS also uses the Binkley outbound style directories, you can have WaterGate and TIMS operate on the same directories as well. WaterGate does not _yet_ check for TIMS busy files yet, nor does it create them. It does do this for Binkley, though. Just as TIMS and BinkleyTerm are almost the same, you can select FrontDoor if you are using InterMail. Warning: always make sure that WaterGate's primary system AKA (the first one in the list) is also the primary AKA that the mailer uses! If you fail to do so, the wrong users can get the wrong archives!! Origin lines ------------ You can define up to two default Origin lines, which are attached to messages exported from your local message bases without one, or when messages are converted from UUCP to Fidonet. You can define a custom origin line for each area, or choose to use one of these default lines. Fido system ----------- Choose the type of mailer you are using. Possible systems include BinkleyTerm 2.50 and up, FrontDoor, and d'Bridge. All three of these programs employ a different way to store information on outgoing files. BinkleyTerm expects information files in its outbound directories; FrontDoor uses the netmail messages directory; and d'Bridge has a special queue path where it looks for its information. If you are using d'Bridge, specify that path in the "d'Bridge Queue" option. Note that this selection changes WaterGate's behavior drastically. Don't forget to set this switch properly, or you will have a very hard time processing your inbound and creating a proper and compatible outbound! Mailer rescan file ------------------ Your mailer will have to rescan its list of outgoing files and messages after new mail has been set ready by WaterGate. To inform the mailer of this, WaterGate can create or 'touch' a special flag file. All you have to do is enter the proper path plus filename. The following files are used for the different systems: WaterGate Manual Setting up the Fido system Page 27 --------------------------------------------------------------------- d'Bridge DBRIDGE.RSN FrontDoor FDRESCAN.NOW InterMail IMRESCAN.NOW Editor rescan file ------------------ If you are in your netmail editor while WaterGate is importing new netmail messages in the background or on another network machine, then it would be nice if your editor was informed about newly imported netmail messages. WaterGate does this by setting a flag file. For FrontDoor's editor FM for example, you could have WaterGate set the flag file FMRESCAN.NOW. Max length settings ------------------- Because old Fido mail processors have trouble processing messages over 12Kb in size, WaterGate can split messages that exceed some maximum message length. Set this limit using the "Max *.MSG length" option. This limit is used to split messages when importing into the *.MSG message base and when exporting to a .PKT file! Although both the Squish and JAM specifications allow for unlimited message sizes, most editors have trouble reading messages that are over 64Kb in size. If you want WaterGate to split the messages when importing them, enter a maximum message size, or use 0 to ignore the message size and disable message splitting. Note: These are approximate values. WaterGate checks them after having added a line of text, so there might be a slight deviation in the final message size. When packing outgoing messages for other nodes, WaterGate will group them in .PKT files. You can specify a maximum size for those .PKT (Max *.PKT length) files before WaterGate creates a new one. During buildup, these .PKT files are named *.QQQ. At the end of the run they are renamed to .PKT one at a time and then added to the final archive. Default groups -------------- You can give each node access to a number of groups. You will soon decide which groups will contain the echomail areas and which will not. When creating a new Fido style user, you have to set the groups he or she is allowed to access. Because you don't want to set these every time, you can enter a default list of groups in this screen. After pressing enter, you are presented with the standard group editing method. The groups are listed on the left side of the screen (complete with description and read-only flag). You can press the WaterGate Manual Setting up the Fido system Page 28 --------------------------------------------------------------------- Insert key to add new groups, or use the Delete key to remove one. After pressing Insert, a new list pops up on the right side of the screen. Select the group you want to add with the cursor keys and then press Enter. If you change your mind and don't want to add a group, simply press Escape. When you are done changing the groups, you have to press Escape or F10 to return to this screen again. More advanced users can also use tagging to add or remove more than one group at a time. Use the F5, F6, and F7 keys for tagging. F5 selects or deselects one item; with F6 you can select all the lines that match a certain search string (an empty string matches all); and F7 deselects all lines that match a certain search string. ArcMail names ------------- When creating outgoing Fido mail archives, WaterGate can create mail bundles that use the following name extension conventions: ArcMail: (day of week) + 0..9 Hex: (day of week) + 0..9, A..F All: (day of week) + 0..9, A..Z Ensure that the software your up- and downlinks are using can handle the format you specify. The default setting is ArcMail, which results in archive bundles with names like .SU0, .TH3, .FR4, etc. WaterGate keeps track of the digit or letter it last used for each user. If the .SU0 file has been sent, for example, WaterGate will create a .SU1 file instead of a new .SU0 file. WaterGate Manual Setting up the Fido system Page 29 --------------------------------------------------------------------- Fido Message Bases ------------------ If you select the Fido Message bases option from the System Settings menu, you will be presented a screen that looks like this. This screen contains all the important settings related to the local message bases. +-----------------------------------------+ | Auto link OFF on | | Strip SeenBy off ON | | Replace Tear off ON | | | | Netmail type MSG squish jam | | Netmail path D:\NODE\NET\ | | Decode files no ON IMPORT | | Files patch D:\DECODED\NET\ | | | | Badmail type NONE msg squish jam | | Badmail path | | Dupemail type NONE msg squish jam | | Dupemail path | | | | Default number 200 | | Default days 5 | | Auto Create Type NONE msg squish jam | | Default new path E:\NODE\NEW\ | +-----------------------------------------+ Auto Link --------- Toggle "Auto Link" to ON if you want WaterGate to link messages in all areas that received new mail during the mail toss. You might want to turn this off and save time if you toss a lot of small mail bundles containing only a few new messages. To link your message areas, you can then use WaterUtil's 'Link All' option. Strip SEEN-BY ------------- Toggle "Strip SeenBy" to ON if you want to save harddisk space by NOT importing SEEN-BY lines into your message base. Remember that re-exporting messages with incomplete SEEN-BY lines is often considered a capital crime. Replace Tearline ---------------- The "Replace Tear" option is only available for registered users, the setting is ignored for the unregistered version. If you set to ON, the program will replace all tear lines it finds in locally generated messages with its own. Tear-lines are also added to messages that are converted by WaterGate from UUCP to Fidonet. The result is something like: WaterGate Manual Setting up the Fido system Page 30 --------------------------------------------------------------------- --- WtrGate v1.00 Unreg --- WtrGate+ v1.00 Netmail message base -------------------- Since a Netmail message base is required by WaterGate, enter a full path to it under "Netmail path". You can choose to make it a *.MSG, Squish, or JAM base. Use "Netmail type" to choose your preferred type. If you set it to *.MSG, the path has to point to a directory. If you set it to Squish or JAM, the path has to include the message base name without an extension. If you're using FrontDoor as your Fido system type, then a *.MSG directory is required! Also, for compatibility with many other programs, usage of a *.MSG netmail path is advised. Notice that you DO NOT have to create an Area Record (Area definitions from the main menu) for the netmail area, nor the badmail or dupes message areas! Doing so might result in operational problems. Decode files ------------ If an e-mail messages contains an UU-encoded, XX-encoded or MIME encoded file, then WaterGate can automatically decode this file, save it on your harddisk and store the remainder of the message. This option is currently only available for *.MSG bases. If you set this option to ON IMPORT, then WaterGate will decode files from messages that are imported into you *.MSG netmail area and are addressed to one of your system AKAs. All messages for downlinks are left as they are for the moment. Decoding those files means routing them as well and this is not built in yet. The decoded files will be written to the path given in "Files path". Badmail message base -------------------- If you want to keep track of messages that somehow go wrong, then enable the Badmail message base. Use the "Badmail type" option to enable this option or select NONE to disable it. Make sure you enter a correct path under "Badmail path". WaterGate uses the "Default Number" and "Default Days" settings to clean up your Badmail. Dupes message base ------------------ If WaterGate finds a duplicate message, it deletes it by default. If you want to keep track of these messages, you can setup a message base to put them in. Just as with netmail and badmail you have to set a type and enter a path. WaterGate Manual Setting up the Fido system Page 31 --------------------------------------------------------------------- Default number and days ----------------------- When a new area is created, these two values are put in the "Fido limit" and "Fido age" fields. The first is the maximum number of messages you want to have in a message base and the second is the maximum age of a message. If the message is older, it will be removed when cleaning the message base. Auto create type and default path --------------------------------- If a message arrives in an unknown area and the user that sent it has the "Create new areas" option in his user record set to YES, WaterGate automatically creates an area record in the areabase. If you want that area as a message base later on, you have to enter the path to the message base and set the correct type. The path might be a lot of typing work, so you can enter the default path for the message base in the "Default new path" field. If you also want to have a message base created for it (very handy for small systems, like points, where you know that the new areas are OK), you can set the message base type for these areas in the "Auto Create Type" field. Because you need a message base name for Squish and JAM, WaterGate automagically creates one for you. Since the first eight characters of an area are not unique (and completely useless for Usenet areas like ALT.BBS.SOMETHING, where you have the dots), WaterGate creates a magic number. This is the CRC32 value of the complete string that represents the area-name, padded with spaces to the maximum length. This number is used as the filename (Squish, JAM) or directory name (*.MSG) for that message base. The only disadvantage of this magic number is that the real areaname cannot be determined from the base-name, other than by consulting the configuration program. You can manually change the name of the message base afterwards, although WtrConf will not (yet) rename the message base files automatically. But if you use WtrConf to export a Squish config file (also good for JAM bases!) and feed that to your editor, you don't have to know the message base name at all! WaterGate Manual Setting up the Fido system Page 32 --------------------------------------------------------------------- Fido Compression Programs ------------------------- Select "Fido Compression Programs" from the System Settings sub-menu to enter a screen that looks like this: +---------------------------------------------+ | ARC PKPAK -OCT A | | UNARC PKUNPAK /R | | ARJ ARJ A -E | | UNARJ ARJ E -N | | LZH LHA A /M | | UNLZH LHA E | | PAK PAK A | | UNPAK PAK E /WN | | ZIP PKZIP -A | | UNZIP PKUNZIP -O | | ZOO ZOO -Add | | UNZOO ZOO -Extract | | RAR RAR A | | UNRAR RAR E | | OP1 | | GUS | | Default arc arj lzh pak ZIP zoo rar op1 pkt | +---------------------------------------------+ WaterGate is capable of recognizing 7 of the most widely used compression programs within Fidonet: ARC, ARJ, LZH, PAK, ZIP, ZOO and RAR. When it encounters compressed Fidomail bundles, it tries to start the correct decompression program. If it is unable to recognize the compression method, it checks whether a GUS (General Unpack Shell) is defined and lets the GUS have a try at it. Use this screen to enter the correct program names and options for each compression and decompression program. A special option is 'OP1', which you can use to compress your mail using a program unknown to WaterGate. There is, of course, no way for WaterGate to recognize and decompress this sort of archive. Use the last line to select a Default type for WaterGate to use in situations when it has to pack messages for an undefined node, for example when sending crash mail messages. This is also the default type for newly created user records. WaterGate Manual Setting up the Fido system Page 33 --------------------------------------------------------------------- Fido AreaFix Forwarding ----------------------- WaterGate is capable of AreaFix forwarding for both Fidonet and UUCP. When a user requests an area that is not available at your system, WaterGate can ask one of your uplinks to start sending that area. Notice that there is a separate section about newsfix forwarding and a section that explains how to use AreaFix and newsfix. When WaterGate does this, the area is created automatically and both the requesting user and the uplink system are connected at once. The areas that can be requested dynamically are stored in one or more listings on disk. You tell WaterGate what the node number for your uplink is and which file to check for area names. You can define up to 50 listings for Fidonet and the same amount for UUCP. You can configure the Areafix forwarding by selecting Fido areafix Forwarding from the System Configuration menu. You can then select one of the ten entries and press enter to edit it. You will see the following screen to edit an entry. +------------------------------------------+ | Address : 2:280/801 | | Unconditional : NO yes | | Arealist path : C:\BBS\AREALIST.BBS | | Arealist type : AREAS.BBS name list | | Area manager : AREAFIX | | Password : highbrazil | | Group : A | | Add "+" : NO yes | +------------------------------------------+ Specify the Fido address of each uplink system in the 'Address' field. When you flag an uplink as 'unconditional' the request is always forwarded to this node, and WaterGate makes no attempt to search the specified area list. Specify the full path to the area listing in the "Arealist path". Then select the type of listing: the AREAS.BBS type follows 'standard' areas.bbs convention, while for the 'Name list' each line in the file has to contain a single area name. Select the program name of the Area Manager program on your uplink system. Most should be capable of understanding the default 'AreaFix'. The password is used when writing the AreaFix message. Specify to which group the new area is to be added. WaterGate will only scan the lists for groups to which the requesting user has access. Adding a '+' is used to support AreaFix programs that need one for each requested area. Instead of just listing the requested areas, each one has a '+' added in front. WaterGate Manual Setting up the UUCP system Page 34 --------------------------------------------------------------------- Setting up the UUCP System -------------------------- This chapter explains in detail how to set up the UUCP side of your WaterGate system. Other chapters will teach you how to add systems (users) and newsgroups (areas). If you don't have a UUCP connection, you can still use this program perfectly well without entering any options in this section. UUCP settings ------------- If you select "UUCP settings" from the System Settings menu, you will be presented with the following screen: WaterGate Manual Setting up the UUCP system Page 35 --------------------------------------------------------------------- +----------------------------------------------------+ | Organization Waterline Software Development | | UUCP SPOOL path C:\SPOOL\ | | System UUCP name water | | World registered NO yes | | Smart host seunet | | Backbone Berkeley.EDU | | System domains wsd.wline.se | | admin.wline.se | | | | | | | | | | Default groups | | Time zone GMT+1 | | Maximum .DAT length 200000 | | Undeliverable mail netmail BOUNCE | | Bounce small no YES | | Mail grade A | | News grade Z | | UUCP filenames NORMAL no bitmask | +----------------------------------------------------+ First of all, who are you? WaterGate will append an "Organization" line to all messages it sends into Usenet. This can be a message gated from FidoNet or a message created by the system itself. You can enter a short line describing your organization or company. Organization: Sweet Bug & Company, Holland The spool directory system -------------------------- The spool directory is a place to store outgoing and incoming files for UUCP systems. Each system requires its own spool sub-directory to store the files destined for or received from that system. The UUCICO program searches for .CMD files in this directory. A .CMD file holds the names of the files to transfer. News and mail is sent in .DAT files, where multiple news messages go in one file (called a batch) and mail messages are put in separate files. The news batches can also be compressed using COMPRESS, COMP430D, or GZIP and can have a special header on top of that, called a "cunbatch" header. The .DAT files contain all the data and the .XQT files contain the processing statements and tells us whether it is a mail message or a news batch. A program called XQT will then run the correct program to process these files. Since WaterGate is compatible with the spool directory structure and has to create mail and news batches for systems that process them as described above, WaterGate creates .DAT, .XQT, and .CMD files. WaterGate Manual Setting up the UUCP system Page 36 --------------------------------------------------------------------- The UUCICO does one thing more with .DAT and .XQT files when sending them: the receiving system renames them to .D and .X, so they can't overwrite any outgoing files. Since the .CMD file is only a command file for UUCICO, it is not transferred. When WtrGate (the program) runs, it searches the userbase for UUCP style users, then checks if there is a sub-directory in this spool directory for that user and creates one if it doesn't exist already. It then searches for .X files and reads these. According to the contents of the .X file it then processes the .D file. If something goes wrong during processing, or if it can't file the .D file, it renames the .X and .D files to .BAX and .BAD. You have to put the spool directory path in the second field of the screen. Don't append any UUCPname whatsoever, just enter the path up and until the directory that is usually called SPOOL, as you can see in the example screen grab. Note that the TBBS option module "PIMP" is not compatible with this spool directory structure, although it is capable of transferring files using the UUCP protocol. UUCP name --------- The next field to fill in is your system's UUCPname. You don't have to create yourself in the userbase (just as you don't create a Fido style user with your AKA), but WaterGate needs to know your UUCPname during processing and it puts it in the files it creates in the spool directories. In our case, our UUCPname is "wsd", which has to be typed in using the correct case (capital letters or not). The maximum length of this name is 12 characters, of which only 7 are significant. Domain addresses ---------------- Next are your domain addresses. This is the last part of your e-mail address, behind the @ sign. For me (ramon@wsd.wline.se) it is "wsd.wline.se". You can fill in up to 10 different domain addresses. WaterGate uses these names to see if a message is addressed to itself, for example for newsfix or for the listserver. If you have a world wide registered UUCPname, you are also allowed to use the .UUCP convention, as in "wsd.UUCP". Don't enter this if you don't have a world wide registered UUCPname! The first domain address should be your primary (most important) domain address. WaterGate uses this when it has to write messages. The list server, for example, will always advertise itself as listserver@ and there are loads of other places where this first domain name is used. Make sure this is your most important domain name. The other domain names are just used to WaterGate Manual Setting up the UUCP system Page 37 --------------------------------------------------------------------- detect that a message is for this system. Examples of domain addresses: UUCPname: rubbish Domain names: rubbish.linknet.nl rubbish.thehost.linknet.nl rubbish.UUCP In this example, WaterGate accepts mail addressed to 'rubbish', 'rubbish.linknet.nl', 'rubbish.thehost.linknet.nl', and 'rubbish.UUCP' as addressed to itself. Smart host ---------- If WaterGate receives a mail message that is not addressed to any node it knows, it will try to send it to your smarthost, UNLESS this mail message already came from there. In that case, the message will be bounced to the original sender, since the smarthost assumed the addressee (which can be a subnode as well as a point) should be known at our site but, since we don't know the addressee, it does not exist. Your smarthost is usually the system from which you receive your mailfeed. Even if that system is not capable of smart routing, it should be able to transport the message to a system that is. Enter the UUCP name of your Smarthost in the 'Smarthost' field. Important! Make sure you define a UUCP style node for the system you assign as your smarthost. Smarthost: wtrlnd Backbone -------- When sending messages in moderated newsgroups, you either know the moderator, or it is sent to a backbone site capable of transporting it to the correct moderator. THIS IS USUALLY NOT YOUR SMARTHOST. If you don't know a backbone site closer to you, leave the setting at its default. Backbone: Berkeley.EDU Default groups -------------- When new UUCP style users are created, you can connect them to a default combination of area groups. Just select the groups you want using "Def. Groups". See the Fido style default group setup for a complete explanation of how to select and deselect groups. Time zone --------- Messages created by WaterGate contain a time field that is created WaterGate Manual Setting up the UUCP system Page 38 --------------------------------------------------------------------- using the system date and time, and the "Time Zone" string added to it. Time zone: GMT results in: Fri, 19 Nov 1993 04:12:50 GMT According to the RFC regulations, this field should contain an official TimeZone identifier. Many sites in Europe tend to use 'CET' here, for 'Central European Time', commonly used by European cable and satellite stations such as MTV-Europe. However, this is NOT an official TimeZone! Instead, European sites should indicate their relation to Greenwich time by using the timezone identifier, GMT, plus an adjustment. For the European mainland, this is GMT+1 in winters, and GMT+2 in summers (this is a direct result of the phenomenon 'daylight savings'). Some people like to put phony timezone identifiers here; this may be tremendous fun, but, although it won't bother WaterGate, correct mail handling by your smarthost or other mail systems involved cannot be guaranteed. There are some systems that seem to have a lot of CPU time left and they check to make sure this time zone is a valid string. If it is not, they simply trash the entire message! RFC1036 advises using the GMT time zone. Maximum bundle size ------------------- By default, WaterGate will append news messages to the same outgoing mail bundle for each UUCP node during one toss. Mail messages are always put in a separate file. If you have downlinks that have trouble with large UUCP *.DAT files you may want to set the ".DAT length" option. WaterGate will then check whether a UUCP message bundle exceeds that limit. If so, it closes it and creates a new one. A setting of "0" disables this option. The default is "200000" (200k) bytes; remember that this is before compression! Notice: mail jobs are always in one file. Even large files attached to a mail message are put in one big .DAT file. Undeliverable mail ------------------ When a message is sent to your system, but it cannot be delivered because the target system does not exist, then something has to be done with that message. For example, when a message is sent to my system for "somehost.wsd.wline.se",then this message cannot reach it destination because the host "somehost" does not exist as a sub-domain of my system. WaterGate Manual Setting up the UUCP system Page 39 --------------------------------------------------------------------- In that case, there are two options. First, the message could be sent back to the originator, which can then take appropriate actions. Second, it can be written to the netmail area, so the administrator can have a look at it. Bounce small ------------ When a undeliverable mail message is sent back, then you want to be able to control how big that message is. For example, it is no use to send an undeliverable UU-encoded mail message of 100kb back to somebody. Instead, only the headers and perhaps the first part of the message should be sent back. This is enough for the originator to find out what was wrong. If you don't care about your telephone bill, then set this option to NO, in which case the entire message will be sent back to the originator. Mail and news grades -------------------- The first letter in the filenames created in the spool directories (first or second position of the filename, depending on the "munging" method) indicates a "grade" to your UUCP mailer (UUCICO). You can tell it to only transfer file up to a certain grade. For example to transfer news in the cheap hours only. You can set the grades for mail and news here. You normally don't have to worry about this setting, unless you want to change the grades (= letters in the filenames) used. UUCP filenames -------------- During the course of all the testing we found that some implementations didn't like the UUCP job filenames created by WaterGate. The problem is difficult the point out, but basically, your provider receives the jobs but then can't process them and your messages never arrive at their destination. If this is the case with your UUCICO, then try the "No bitmask" option under WtrConf, System Configuration, UUCP settings. WaterGate Manual Setting up the UUCP system Page 40 --------------------------------------------------------------------- UUCP compression programs ------------------------- Outgoing UUCP news batches have to be compressed with either the COMPRESS/COMP430D program or GZIP. WaterGate can detect the compression method used for incoming news batches and will automatically spawn the correct decompression program. You can enter the details and arguments of these programs in this screen: WaterGate Manual Setting up the UUCP system Page 41 --------------------------------------------------------------------- +-----------------------------+ | Compress COMP430D -v | | De-compress COMP430D -dv | | GZip GZIP -v | | Un-GZip GZIP -dv | +-----------------------------+ For use with "compress" it is wise to define a decompressor here that can handle (and recognize) both 12 and 16 bit compression. WaterGate will usually be able to free up enough memory to perform 16 bit compression and decompression when shelling out to the (de)compressor by swapping itself to XMS/EMS/Disk. Make sure you have the correct compression programs. You can find these on the Simtel 20 CD-ROM. On the September 1994 release it was on disc 2 in the directory \DISC2\COMPRESS. BBS's might use the description for this directory, which is "MS-DOS port of UNIX compress, gzip; and compression pgms". The names of the files are: COMP430D.ZIP GZIP124.ZIP Don't use PKZIP for GZIP compression or decompression because this will not work! WaterGate Manual Setting up the UUCP system Page 42 --------------------------------------------------------------------- UUCP newsfix forwarding ----------------------- Newsfix forwarding is exactly like Areafix forwarding, but then for UUCP areas. When a user requests a newsgroup that your system currently doesn't have, you can have WaterGate scan a list of all available newsgroups. But, since there is no 'standard' AreaFix alike program for UUCP mail processors, WaterGate is unable to forward a request for such an area. To aid in the development of utilities that can interface with your UUCP host it is capable of creating a text file named UUCPREQ.LST on disk that contains the name of the requested area, and the system it has to be requested from. You can define up to fifty (50) listing files and uplink systems. Normally there will only be one UUCP uplink, so you can utilize the other entries to split the listing of newsgroups. To configure the newsfix forwarding, select UUCP newsfix forwarding from the System Configuration menu. You will then be presented with a listing with 50 entries. Press Enter to edit one of the entries, you will now see a screen like this: WaterGate Manual Setting up the UUCP system Page 43 --------------------------------------------------------------------- +-----------------------------------------------+ | UUCP name of uplink seunet | | Newsgroups listing path c:\wtrgate\seunet.lst | | Group for created areas A | +-----------------------------------------------+ The UUCP name will be written to the UUCPREQ.LST file and refers to your uplink. Nice there is no automatic processing possible, you could as well fill in another name. The newsgroups listing path must be a complete path and filename. The format of the file is a newsgroups list. It starts with the areaname and optionally followed by a description and one or more options (/OPTION). The description is put in the Comments field when a new record is created. An example of one line from this file: alt.bbs.watergate WaterGate support The group is where the area is initially created. If you have a special group for Usenet areas, then you set this to the letter of that group. WaterGate Manual Gateway Settings Page 44 --------------------------------------------------------------------- Gateway Settings ---------------- The gateway is the path messages take when they have to be sent from UUCP to FidoNet or vice versa. The message body is translated to the new format and the headers (from, to, subject, date, etc.) have to be translated as well. WaterGate does this all automatically. There are a few settings you can tune, almost all of which have to do with addressing the gateway and translating addresses. "The Gateway", below, will explain how to use the gateway and how to set up mappings, which are address translation helpers. You can reach the Gateway Settings screen via the System Settings menu. That screen looks like this: WaterGate Manual Gateway Settings Page 45 --------------------------------------------------------------------- +--------------------------------------------------+ | --- Fido to UUCP --- | | Gateway 2:280/802@joho | | Gateway User UUCP | | Gateway TO no YES | | Kill gated netmail NO yes | | Allow headers no YES | | Line wrap 72 | | | | --- UUCP to Fido --- | | FSC-35 kludges? no YES | | Fido From: e-mail address FULL NAME | | Copy headers | | ASCII Conversion | | Message-ID to MSGID NO include | | Organization to Origin no yes OVERRIDE | | | | --- Both directions --- | | Name separator _ | | Small addresses no YES | +--------------------------------------------------+ The screen is split up in three parts, related to the direction of the gateway on which the option has effect. Gateway AKA ----------- This is not the node number on which the gateway can be reached from within FidoNet. In fact, you and your users can reach the gateway on any of your system node numbers. The gateway AKA is used to calculate what parts of an FidoNet address need to be put in the domain part of the resulting Internet address. It is also used to restore this complete node number on the way back. For example: Gateway = 2:280/802 Sender = "xx" at 2:280/802 First system domain = wsd.wline.se -> Result = xx@p15.wsd.wline.se On the way back: Incoming = xx@p15.wsd.wline.se Gateway = 2:280/802 -> Result = "xx" at 2:280/802.15 Notice that this information is not used when mapping statements are in effect (MAP-UUCP). It is perfectly valid to use a point address for the gateway node WaterGate Manual Gateway Settings Page 46 --------------------------------------------------------------------- number. Gateway User ------------ In order for WaterGate to know that a message must go through the gateway, you have to tell it what username will appear in the To: field of netmail messages destined for the gateway. The default is UUCP, a common choice, but it can be changed to anything. You have to put the recipient address (of the person which is to receive your e-mail) on the first line of the body of the message, preceded by "To:" (case insensitive). Gateway TO ---------- If the option "Gateway TO" is set to YES, WaterGate also scans the To: field of the netmail for a UUCP address. In that case, you don't have to put the UUCP address on the first line of the body of the message, but you can then simply put it in the To: field of the FidoNet message, provided the entire address fits in the To: field. Kill gated netmail ------------------ If you write a message in the netmail area that has to be sent to UUCP, you may want it to remain there after it has been sent so you can move it to another area (history, for example). If you don't want it to stay in the netmail area after gating it, you can put the Kill/Sent flag on it with your editor. If one of your points or downlinks sends a netmail to the gateway and he or she does not put a Kill/Sent flag on the message, this message will remain in your netmail area after it has been gated. After a while, these messages pile up. If you set this toggle to YES, all netmails that were gated to UUCP are automatically given a Kill/Sent flag, so WaterGate deletes them after gating. This keeps your netmail area free of already gated messages. FSC-35 kludges -------------- If a message is translated from UUCP to FidoNet, you have to be able to reply to it from within your editor. This can be done in several ways. The newer editors support FSC-35, which makes replying to a message from UUCP very simple. Two kludges are added to the message: REPLYTO and REPLYADDR. The first contains the AKA and username of the gateway and the second holds the Internet address of the sender of the message (that's where the reply has to go). If there are more than one possible reply address, then WaterGate creates one or more REPLYALSO kludges as well, but there are no editors at this moment to support these kludges and present you with WaterGate Manual Gateway Settings Page 47 --------------------------------------------------------------------- a list of return addresses to select from. Fido From: ---------- If your editor does not support FSC-35, you have to reply to the message by manually putting the UUCP address on the first line of the message. But since WaterGate is also capable of finding the recipient's address in the Fido To: field, it would be handy if it was in the From: field of the message you are going to reply to. Your editor will then automatically setup a message from you to whatever was in the From: field. If this is the complete Internet address, you are done and don't need to type anything more. Set this option to "e-mail address" if you want this. If the e-mail address does not fit in the To: field of the message, WaterGate automatically puts the address of the sender in the body of the message, preceded by "Message Sender:". If your editor does support FSC-35, you don't need the UUCP address in the From: field of the message. Some addresses are very ugly to look at and it would be much nicer if the full name of the sender of the message was in this field, as with normal FidoNet messages. If you set the option "Fido From:" to "full name", WaterGate puts the full name of the sender of the UUCP message in the From: field. If you want the full name of the sender in the From: field and the address in the body of the message, you have to use Copy Headers. Copy Headers ------------ A UUCP messages contains several "header" lines. If a message is gated to a FidoNet message, these headers are lost, unless you use this option. You have to put the cursor on this field in the "Gateway Settings" screen and then press Enter to change the settings. You will then see the following screen: WaterGate Manual Gateway Settings Page 48 --------------------------------------------------------------------- +-(30)--------------------------------------------+ | E-mail/news headers to copy to netmail/echomail | +-------------------------------------------------+ | From: Copy as kludge | | To: Copy as kludge | | Subject: Copy as kludge | | Date: Copy as kludge | | Message-Id: Don't copy | | Organization: Copy as plain text | | From Don't copy | | Path: Don't copy | | Newsgroups: Don't copy | | Don't copy | | Don't copy | +-------------------------------------------------+ The left column holds the header name to search for (case insensitive) and the right column tells what to do with it. You can have to copied to the netmail or echomail as a kludge line or as plain text, or don't copy at all. Of the 30 entries you can make, a set of common header lines have already been set up. You can change them, delete them and add some more. WaterGate searches for the header line with a space appended to it. This is important, because "From" and "From:" are different headers and we don't necessarily want to match both. Also, don't forget the terminating colon (':') after the header name! Note: There is a known problem with Remote Access together with BlueWave. When you download messages with BlueWave, you can get a number of empty lines before the actually message body starts. This has to do with too long headers that were copied as kludges. It is assumed that the bug lies within Remote Access. If you experience this problem, then check on the headers you copy as kludges. ASCII conversion ---------------- High ASCII characters (values >128) are widely used within FidoNet, but are illegal in plain text messages on the Internet. WaterGate will replace those characters when converting a message into UUCP format using a conversion table. You can specify an appropriate "low ASCII" value for each "high ASCII" value. For example, characters with an umlaut can be replaced with their equivalent without the umlaut. To support computers that are using a different high ASCII table than the Latin one used in most American and European computers, you can use the 'ASCII conversion' option to re-define the default table. If you mess up the table really bad, then you can press F5 to restore the default table. WaterGate Manual Gateway Settings Page 49 --------------------------------------------------------------------- WaterGate cannot convert one-letter characters to two letters. Future version will support different character sets (supporting the CHRS kludge) and multi-character translation. Message-ID to MSGID conversion ------------------------------ This option allows transparant gating of Message-ID headers into FidoNet and back again. The contents of the Message-ID header will be put in the MSGID kludge of the Fido message and recovered when a reply is sent. Some tossers cannot handle this irregular, but completely legal format and might even crash. Use NO if you experience problems or use INCLUDE if you want to be a completely transparent gateway. Notice that WaterGate always puts the MSGID and REPLY kludges in a Message-ID: or In-Reply-To: header (FidoNet to Internet/Usenet). You only control the other direction with this toggle. Organization to Origin conversion --------------------------------- With this option you can tell WaterGate to gate the Organization: header from a news message into the Origin line of the resulting echomail. Since you can also use Copy Headers to copy the Organization: line into the body of a gated message, you can override that option for echomail here. Set this toggle to NO to disable the function. Set it to YES to always put the Organization: header in the Origin line and use OVERRIDE to disable the Copy Headers entry for the Organization: header when using this option. You can edit language entry 105 to configure how the Organization: header is gated into the Origin. Name separator -------------- The name separator is used to convert Fido names to names compatible with UUCP systems. It replaces all spaces in the Fido user name with the character you configure here. Examples (replacement character is underscore '_'): "Jaap Aap" -> Jaap_Aap@... "Ramon van der Winkel" -> Ramon_van_der_Winkel@... "Michel van.der.Laan" -> Michel_van.der.Laan@... WaterGate Manual Gateway Settings Page 50 --------------------------------------------------------------------- The default is to use the underscore ('_'), because some BBS users still use dots ('.') to separate the parts of their names, as in the last example. The problem with those names is not the translation _to_ UUCP, but _from_ UUCP. If the last example was translated with a dot, it would be "Michel.van.der.Laan". If that is translated back, you get "Michel van der Laan", instead of "Michel van.der.Laan". Small addresses --------------- The small addresses option is used to keep the result of translating a Fido addresses into a UUCP address as small as possible. If WaterGate has to put the sender's FidoNet address in a UUCP address, it creates an address with this format: p.f.n.z. For example: 2:280/802.33 -> p33.f802.n280.z2.wlink.nl But a lot of this information is actually unnecessary if your gateway AKA closely matches this address, for example 2:280/802. If "Small Addresses" is set to YES, WaterGate removes all the parts of the Fido address that match, so the result would then be: p33.wlink.nl Your system's points are just user@p.wlink.nl and that is a lot better-looking than the complete, big address. When a message is received from UUCP in the form above, the Gateway AKA is again used to reconstruct the full FidoNet recipient's address. Note that if your gateway AKA contains a point number, this point number is ignored when constructing the complete address. Otherwise the point number would always be in the recipient's address (also if that is a node), if it was not in the UUCP address. So, you can safely use a point number for your gateway. WaterGate Manual More installation options Page 51 --------------------------------------------------------------------- Private mail settings --------------------- Scanning through your mail areas, wondering if anybody wrote you a message to you can become quite a tedious job if you subscribe to lots of areas. And then there all the areas that pass through your system but aren't imported, so you'll never know if somebody isn't desperately trying to give you that "change of a lifetime " (Starting to feel a little paranoid?) Well fear no more! Simply select "Private mail options" from the System Configuration menu. Choose what kind of message base you want to use to store those private messages, or select NONE to disable all private mail copying. Make sure you enter a correct path for the base! You need to enter a directory name for *.MSG or a complete path plus filename (without extension!) for JAM and Squish. WaterGate is capable of scanning for messages TO or FROM a certain user, or with a certain SUBJECT. Comparisons are case-insensitive, so 'Spock', 'SPOCK' and 'SpOcK' should all work OK. The search strings you enter don't have to match what you're searching for completely. For example, "Ramon" will find all messages, either to my e-mail address ramon@wsd.wline.se, or my munged address Ramon.van.der.Winkel@p33.wline.se, or even when somebody uses my name (even misspelled) in a subject, like "What I think about Ramona". If the search string you enter can be found in the searched lines, then you have a match. The matching messages are completely copied into the message base, preceded by a short notice that the message was copied. The private mail scan searches incoming netmail, echomail, mail, and news. Messages that are leaving your message bases are not scanned, although certain constructions might cause a hit on those messages as well. It is also possible to decode files from messages written to the message base connected to this private scan area. This is currently limited to *.MSG only though. An interesting use for the private mail scan option is to copy all messages to you and enable decoding of enclosed files. This way, you primary netmail area is not scanned and files are not decoded for users that are not even on your system. Set the option "Decode files" to YES and enter a path to the directory where to store the decoded files. WaterGate can decode uu-encoded, xx-encoded and MIME base64 encoded messages. WaterGate Manual More installation options Page 52 --------------------------------------------------------------------- Log file settings ----------------- WaterGate is capable of logging a lot of things. Not only error messages, but also progress of tossing for both FidoNet and UUCP. These progress log lines can take up an awful lot of log file and you might not even be interested in them at all. If you select "Logfile settings" from the "System Configuration" sub-menu of WtrConf, then you can toggle various logging information generators on and off. If you want to debug your WaterGate configuration, you can choose to set the Debug option to YES, which will automatically enable all other options you can set. Currently, you can disable a number of 16 or so of the log file information generators, but more option are added every now and then. WaterGate Manual More installation options Page 53 --------------------------------------------------------------------- Administrator ------------- The administrator user maintains the WaterGate program and the flow of messages. In case of trouble, the administrator should solve things. To support a "remote" administrator, the administrator address was built in. You can either have a UUCP style administrator or FidoNet style administrator, which require different addresses. Following is the configuration screen for the Administrator Settings: +-----------------------------------------------------+ | Administrator Settings | | | | Address type disable FIDO uucp | | | | Fido username WaterGate Administrator | | Fido address 1:2/3.4 | | | | E-mail address | | | | Send log? no YES | | | | (more to come in future releases) | +-----------------------------------------------------+ At this moment, you can only use the administrator to send it a copy of the part of the log file that was last added by the wtrgate.exe program. In future, it will be possible to use the administrator to help WaterGate in its decisions on where to send mail messages, and possible to edit the configuration. WaterGate Manual Groups Page 54 --------------------------------------------------------------------- Groups ------ Before discussing message area setup, it is important to know about groups. If you have a lot of areas, there might be a few that you don't want all the users to read, for example the SysOp areas. Because users can connect and disconnect areas themselves, using AreaFix or newsfix, there has to be a way to differentiate these areas from each other. If you are in more than one network, it is also important to keep the areas of the different networks separated. Every network has its own AKAs that have to be used in messages written in those networks. If you connect some of these areas to UUCP, the correct AKA has to be used when a message is gated from UUCP. WaterGate uses "groups" to keep the areas separated. The groups are named A through Z, where Z is a special group for automatically created new areas. You can enter a description for each of the groups, so it is easy to tell them apart, and you can select a "Default origin AKA" for every group. You can then select which areas belong in which groups. It is also possible for an area to be in more than one group at a time. You can give your users access to some of the groups. They can then use AreaFix or newsfix to connect areas that are in those groups and nothing else. It is also possible to make a group read-only. This means that users can connect to an area in that group and receive messages from it, but cannot write a message back. If you only want this for some of your users, you can put these areas in two groups: one read-only and one read/write. If you put an area in a read-only group, you have to put it in a read/write area as well or your uplink will not be able to deliver any messages to this area. You can edit the group descriptions, default origin AKA, and read-only flag via the "Group descriptions" option in WtrConf's main menu. WaterGate Manual Area Definitions Page 55 --------------------------------------------------------------------- Area Definitions ---------------- This section explains in detail how to create an area. An area can be either a FidoNet echomail area or a Usenet newsgroup. It is possible for both FidoNet style users and UUCP style users to be subscribed (as we call it) to the same area. If a message has to be sent to both UUCP and FidoNet style users, WaterGate automatically translates the message. So, if you want to give your points access to newsgroups, then just create the areas and subscribe the points to them. It works the same the other way around: if you want a UUCP system to receive FidoNet echomail, then just create the area and connect the UUCP user. This has two advantages. First, you only have to define an area once and, second, WaterGate can bundle the message very quickly. If it is an echomail message, WaterGate first bundles it for all subscribed FidoNet users, then translates it (if there are any connected UUCP users), and finally bundles it for all the UUCP users. (In fact, WaterGate can even be extended to use another formats in the future and was designed with that in mind). To create a new area, select "Area definitions" from WtrConf's main menu. You will then be presented with a list of all 26 groups (A to Z). Select one group (or more, using tagging with F5, F6 and F7) that you want to see all the areas from. Then press enter. If you have a lot of areas (1000+), it might take a while before the list with all the areas names has been constructed. It is possible to abort the construction of the list of areas by pressing Escape. But in the end, you will have a sorted list with all the areas and the header line of the lists will show the groups you selected. You can now press Insert to add a new area, or press the Delete key to remove one. If you want to look at one or edit it, put the cursor on top of the area name and press Enter. If you want to go back to the previous menu, just press Escape. After pressing Enter or Insert, you are presented with the screen on the following page. It contains all the settings you can change for a certain area. You can use the up and down cursor keys to move through all the fields. If you want to change a field, you have to press Enter first. If you want to exit the screen, you can press Escape or F10 (escape is more like abort, but they act the same). If you are creating a new area, you are asked if you want to save the new area. If you select Yes, certain fields have to be filled in correctly and WtrConf checks that for you. Some of the fields contain the text "". If the cursor is on one of these fields and you press enter to edit it, you will be presented another screen. The same thing happens when you edit the "In groups" field. WaterGate Manual Area Definitions Page 56 --------------------------------------------------------------------- +---------------------------------------------+ | Fido name ALT.BBS.WATERGATE | | Usenet name ALT.BBS.WATERGATE | | Comment WaterGate support area | | Area type ECHO net local | | In groups A | | Subscribers | | Allow Passive no YES | | Passive NO yes | | Origin BOFH is watching you! | | Custom | | Origin AKA 2:280/802 | | Add SEEN-BY | | Moderated NONE use | | Moderator | | Fido base none msg squish JAM | | Fido path W:\MSGS\ABWG | | Fido age 5 | | Fido limit 200 | | Decode files no ON IMPORT | | Files path D:\DECODED\ABWG\ | +---------------------------------------------+ Area name --------- The first two lines of the screen hold the area names for FidoNet and Usenet. Normally these names will be the same, but is possible to change the name of an area. We could change the Fido name to "WTRGATE.028", for example. If you enter a name in the "Fido name" field, and there is no name in the "Usenet name" field, it is automatically copied. The same thing happens if you enter an area name in the Usenet name field and the Fido name field is empty. This saves you some typing and prevents errors. Comment ------- You can use the Comment field to describe the message flow in this area. This line is put in lists that AreaFix or newsfix create, to make it is easy for your users to see which area might be interesting to connect. Area type --------- There are three types of areas: echo, net, and local. "Local" is an area that is connected to a message base on your hard disk (more on that later), "net" stands for netmail. This way you can define other-than-the-primary netmail areas. The usual setting though is "echo", which stands for Echomail. Echo is also the option if you want to say "pass-through", although all areas are pass-through until you connect them to a message base (explained below). WaterGate Manual Area Definitions Page 57 --------------------------------------------------------------------- In groups --------- This field shows all the groups to which this area belongs. If you press Enter to edit this field, the line turns into a list with not only the group letter, but also the full description. To add another group, press Insert and select (with Enter) a group from the other list that pops up. To remove the area from a group, select the group and press the Delete key. You can also use tagging to add or remove more than one group at a time. Subscribers ----------- If you press enter on this field, you will be presented with a list of the users connected to the area. You can use the Insert key to add a user or the Delete key to remove a user; you can also tag lists of users to add or remove. If you try to remove a user, WtrConf asks you to confirm your choice. If you want to add a user, WtrConf scans the configured users and only lists the users that are allowed to connect the area. These users must be allowed in a group that contains this area. If you are finished editing the list of subscribed users, you can press Escape to exit the list and return to the area screen. Allow passive ------------- If nobody is subscribed to an area anymore, you can let WaterGate send a message to the provider (uplink) of the area and have it disconnected, thereby saving you transmission costs for an area that nobody reads. If this options is set to NO, WaterGate will never disconnect the area. This is especially useful for local message bases. WaterGate assumes that the last person connected to the area (when everybody else has disconnected it) is the provider. Passive ------- This field shows the current state of the area. If it has been disconnected from your uplink, WaterGate sets it to YES. If it is still connected, it is on NO. You can toggle this setting manually, but no message will be sent to your uplink. (Future versions will do this, after asking for confirmation.) Origin ------ You can select which system origin line will be used for this area. You can also select Custom and enter a special origin line for this WaterGate Manual Area Definitions Page 58 --------------------------------------------------------------------- area in the next field. The origin line is put at the bottom of a message when WaterGate translates a message from UUCP to FidoNet, or when it exports a message from a message base and no origin line is present. Custom ------ You can enter a custom origin line for this area in this field. To activate it, you also have to set the previous field to "Custom". Origin AKA ---------- Every area belongs to a certain network. Here you can select your system AKA for the network this area belongs to. When you create a new area, the AKA is copied from the "Default origin AKA" of the first group that includes this area. This AKA is also put at the end of an origin line. Add SEEN-BY ----------- If your system has more than one AKA in a network and you want other AKA's to be added to the SEEN-BY list, you can select them in this list. You have to press Enter first to see the list. The Origin AKA for this area is always added to the SEEN-BY line and doesn't need to be put in this list. Moderated and Moderator ----------------------- These two fields relate to Usenet. If an area is moderated, then all new messages for an area have to be sent to the moderator first. If the moderator approves the message, it is then sent to the newsgroup. If a new message arrives in a moderated area without an "Approved:" header, WaterGate converts the message into a UUCP e-mail and sends it to the moderator. If no moderator is defined for the newsgroup, it is sent to the backbone defined in the System configuration section, which defaults to "berkeley.edu". For example, a message in ALT.BBS.XYZ is sent to ALT-BBS-XYZ@Berkeley.edu. If you are unsure about any of this, DON'T USE THIS OPTION; let another system upstream take care of it. If someone you know moderates the area, enter his address in the "Moderator" field. Fido base and path ------------------ If you want all messages in the area to be put in a message base as well as being passed on to subscribers, you can select the type of the message base in the "Fido base" field and fill in the path to the message base in "Fido path". You can select a message base type from *.MSG, Squish, and JAM. For a *.MSG area you need to fill in WaterGate Manual Area Definitions Page 59 --------------------------------------------------------------------- the complete directory name; for Squish and JAM you also need to include a filename (without extension). Fido age and limit ------------------ You can use WtrUtil to automatically clean the message bases. If certain messages are too old or there are too many messages in an area, they can be removed automatically. You can enter the maximum age of a message (in days) in the "Fido age" field and the maximum number of messages that can be in an area at any one time in "Fido limit". Note that when there are too many message in an area, the oldest messages are deleted first. The deletion is not automatic: you have to use WtrUtil to remove them. If you don't want to remove messages by age or limit, you can see the field to 0. Decode files ------------ WaterGate can automatically detect and decode UU-encoded, XX-encoded and MIME encoded files from messages. It extract the file and saves it to disk. It does this when the messages is imported into a message base. This prevents the messages from being split in numerous smaller parts which you otherwise had to put together and decode manually. Using this option you can enable and disable the automatic decoding of files from messages that are imported into this message base. Notice that WaterGate currently only support extracting files from messages that are imported into a *.MSG base. JAM and Squish support will follow in a future version. Files path ---------- The automatically decoded files can be stored in a different location (download area?!) for each message base. You can enter the path to that directory in this field. WaterGate Manual User Definitions Page 60 --------------------------------------------------------------------- User Definitions ---------------- A user in the WaterGate system represents a system with which you exchange messages. There are three different types of users, depending on the method you use the exchange messages with that user: - FidoNet - UUCP - Bag supplier - SMTP interface A FidoNet style user basically uses .PKT files, a UUCP user uses the UUCP mechanism, a Bag supplier only sends messages to you in .BAG files and SMTP interface uses two directories for message to and from the application that does the actually SMTP transport. You can add or remove users using the "User definitions" option from the main menu. After pressing the Enter key to select the option from the main menu, you will be presented with a list of all the currently defined users. Depending on their type, their UUCP name or Fido address will also be shown. You can add a user by pressing the Insert key, or delete a user by pressing the Delete key. Pressing Escape returns you to the main menu. When adding a user to your system, you are asked what type of user record you want to add. After having selected the type of user, you will be presented with a screen where you can enter all the user's settings. Since these screens differ quite a bit from each other, they will be described separately. FidoNet style user ------------------ As stated before, a FidoNet style user exchanges mail with you via .PKT files. These files may also be archived and compressed. Besides the normal FidoNet settings you might be used to, WaterGate also offers the capability to let the FidoNet style user transparently integrate with Usenet / Internet. That is, to receive and send e-mail and read and write news. If you want this user to be able to do that, you also have to fill in some or all of the fields that relate to UUCP. The screen to edit the settings for a FidoNet style user looks close to the screen below. Notice that WtrConf uses different screen layouts, depending on the number of lines your screen can handle. WaterGate Manual User Definitions Page 61 --------------------------------------------------------------------- +-[Fido style user]-------------------------------------+ | Address 2:200/112.15 | | SysOp Ramon van der Winkel | | Organization Waterline Software Development | | Allowed groups ABC OP | | Subscribed to | | AreaFix password verysecret | | AreaFix special NO yes | | Create new areas NO yes | | Passive NO yes | | PKT password wsdpkt | | Compression arc arj lzh pak ZIP zoo rar op1 pkt | | Send format NORMAL hold crash direct | | Export AKA Automatic | | Decode files NO yes | | Max. PKT length 0 | | UUCP name wsd | | World registered NO yes | | Allow sub-domains no YES | | Domain addresses wsd.wline.se | | admin.wline.se | | | | | | | | | +-------------------------------------------------------+ Organization ------------ The Organization field is common to all users. It is used when a UUCP message is created for the user--in this case, when a FidoNet message is translated into a UUCP message. The "Organization" header in that UUCP message will be filled in with whatever you type here. If you leave this line blank, no "Organization:" header will be put in the UUCP message. Allowed groups -------------- This field shows you which groups this user is allowed in. Each group can contain a number of areas, so the groups filter effectively grants the user access to those areas. This is used by AreaFix and WtrConf. If you want to connect this user to an area, WtrConf only shows you the areas that this user is allowed in. It is perfectly possible, though, to connect a user to an area that is not in one of these groups, by adding the group letter, connecting the area and removing the group letter again. (Future versions of WtrConf will warn you when a user is connected to an area without being allowed in a group that includes it.) To edit the groups filter, press Enter on the field. You will now be presented with a list of groups this user is allowed in. You can use WaterGate Manual User Definitions Page 62 --------------------------------------------------------------------- the Delete and Insert keys to change them. Subscribed to ------------- If you press Enter on this field, WtrConf will list all the areas to which this user is connected. You can use tagging (or not) and press the Delete key to disconnect one or more areas for this user. If you press Insert, WtrConf will list all the areas this user has permission to connect, but is not yet connected to. You can again use tagging (or not) and press Enter to connect the user to those areas. You can always press Escape to return to the previous list, or to the edit screen. While WtrConf is busy building the list, you can press Escape to abort it. Passive ------- If a user will be going on an extended holiday, it might be unnecessary to pack echomail for him. If you set this option to YES, the user is considered on a holiday. The user can change this option via AreaFix with the "%PASSIVE" and "%ACTIVE" commands (for more information, see the chapter on AreaFix). Address ------- Type the user's FidoNet address here. You can use a full 5D address, like 2:280/802.33@bananas, although less will work perfectly fine as well. The minimum is zone, net, and node number. If you want the 3D point address to be put in the archives that are created for this user, you have to define the user with the pointnet, instead of the full address! SysOp ----- Enter the full name of the SysOp at this address here. If WaterGate wants to report special things to that site, it will use this name in the To: field of the FidoNet message. Packet password --------------- To increase security, you can enter a packet password in this field. It will be put in the outgoing packets that are sent to this user and, if "inbound security" is switched on, WaterGate will also check that packets from this user contain the correct password as well. If the packet password is wrong, the packet is renamed to .PWD and a line is written to the logfile with both the expected and found passwords. WaterGate Manual User Definitions Page 63 --------------------------------------------------------------------- AreaFix password ---------------- AreaFix is a very powerful tool users can use to change settings or to (dis)connect areas. To make sure an authorized user is using it, a password is required. You can enter this password here. If you want to block somebody from using AreaFix, you can type something funny here. AreaFix special --------------- You can set this option to YES for co-sysops. They will then be allowed to change their identify in AreaFix with the %FROM command and change settings for other users. This option is currently disabled in AreaFix (version 0.18) because of a rewrite of the AreaFix code. There are some other maintenance commands in AreaFix that are enabled for users with this option set to YES. See the AreaFix chapter for more details. Please be very careful with this option, because it can be a big security gap if it is set to YES for the wrong person! New Area-create --------------- To save yourself a lot of typing, you can tell WaterGate to automatically create a new area when this user sends you a message in an area that is not yet present on your system. This new area will always be created in Group Z. You can then move the area to another group to allow other users to connect the area. It is more than useful to enable this option for your uplink systems, because new areas will be created as soon as a message is received in them. If you also enable the automatic creation of a message base, you won't miss a message. Be aware that this can create a lot of new areas when you enable this for your UUCP uplink. See the NEWSFILTER option of the ROUTE.TDB file for a solution. Compression ----------- This setting selects the way one or more .PKT files are archived in the outbound directory. The first six options speak for themselves. The option OP1 is your custom defined archiver and if you set it to PKT, the .PKT will not be archived. Send format ----------- There are different priorities for delivery of an archive to a system. You can select a priority in this field: WaterGate Manual User Definitions Page 64 --------------------------------------------------------------------- Normal If you regularly call this node, set it to Normal. The archive will be sent when you call this system or this system calls you. Hold Hold for Pickup. If you set it to this option, this system must call you to pick up the archive. Crash If you want your mailer to call this system as soon as a new archive has been created, set it to this option. Direct If you set it to this option, you don't want to route this mail bundle via another node. Of course, you will have to configure the way your mailer software (such as FrontDoor) responds to these flags. Export AKA ---------- You can use this option to select the system node number to use when sending messages to this uses. If you set it to automatic, then WtrGate will pick the best matching AKA by itself. There are situations though where you want to select an AKA yourself. In that case, you can select it using this option. Decode files ------------ This is not implemented yet, but will work like the other Decode files options in the system and route the file to the user. Max PKT length -------------- It is possible to limit the size of a .PKT file. WaterGate checks the length of the .PKT after writing a message to it. If the size of the .PKT is bigger than this value, the .PKT file is closed and a new .PKT will be started. You can disable this option by setting it to 0. UUCP name --------- This field and the following three fields all relate to the UUCP side of this user. You might not need these. The UUCPname is the name of this system. The name can be 12 characters long, but only the first seven characters are used. You must fill in this field if this system will be involved in UUCP, because all UUCP actions are based upon this name. The name must be unique within your system. WaterGate Manual User Definitions Page 65 --------------------------------------------------------------------- World registered ---------------- If the UUCP name entered above is World Wide Registered, you are allowed to use it in addresses. If this is not the case (most likely!), then leave it at NO. If you set it to YES, WaterGate will use the UUCP name in the From and Path: header lines. Allow sub-domains ----------------- If you want a user to be able to define sub-domains of his own domain, you need to set the 'Allow sub-domains' switch to YES. By doing so, you allow a user to process mail for his own set of sub-systems. If you set this option to NO, WaterGate will only send messages to this system that are addressed to one of its domain addresses (or to its UUCP name, if it is world registered). If you set this option to YES, WaterGate will also route messages for sub-domains of this system. This has the same functionality as adding the following line to your ROUTE.TDB file (example for the wsd system): ROUTE-UUCP .wsd.wlink.nl wsd Notice the dot in front of the domain name. The last part of this line is the UUCP name as defined in the user record. You can also just add the domain address with the dot in front in the domain addresses list. This or a ROUTE-UUCP statement makes the switch useless! Future versions of WaterGate will also block messages from this system if this switch is set to NO. Domain addresses ---------------- Apart from a UUCPname, the system must have one or more domain addresses as well. The first domain address is the most important one and WaterGate uses it when it has to have a domain address for this user. The other five addresses you can enter here are just aliases. If five are not enough, you can also use ROUTE-UUCP statements in the ROUTE.TDB file. WaterGate Manual User Definitions Page 66 --------------------------------------------------------------------- UUCP style user --------------- A UUCP style user is a system with which you exchange messages via the UUCP protocol. You need a program like Waffle's UUCICO or the FX-UUCICO program to transfer the files. These files are set up in the spool directory structure, where every system has its own sub-directory named after its UUCP name. WaterGate Manual User Definitions Page 67 --------------------------------------------------------------------- +-[UUCP style user]---------------------------+ | Organization CyberSpace AB | | Allowed groups AB JKL | | Subscribed to | | Passive NO yes | | NewsFix password verysecret | | NewsFix special NO yes | | New Area-create NO yes | | Compress none compress ZIP | | Add batch header no YES | | UUCP name cyber | | World registered NO yes | | Allow sub-domains NO yes | | Domain addresses cyberspace.wline.se | | | | | | | | | | | +---------------------------------------------+ Most of these fields have been described in the "FidoNet style user" chapter. The NewsFix system is the same as the AreaFix system with a different name, but it lists the UUCP name of the area. The only two new fields are Compress and Batch header. Compress -------- With this option you select how the news bundles (.DAT files in the spool directory) have to be archived, if at all. Mail bundles (also .DAT files) are never archived. You can choose between the older COMPRESS or the newer GZIP (don't confuse it with PkZip!). The setting of this switch is not important for extracting the archives in the spool directory. WaterGate uses a detection mechanism for that. Add batch header ---------------- The batch header is a special header that can be added for UNIX systems, so they can easily find out that the .DAT file is compressed. WaterGate will add the header "cunbatch" for compressed file and "gunbatch" for G-zipped files. It is possible to override this with the GZIPBATCH statement in the ROUTE.TDB file, so you can set it to "zunbatch" for GZip compressed news batches. For reliability issues, it is better not to set any header at all, or maybe not even compress news batches at all (V42.bis modems will compress it for you anyway). Certainly not towards your uplink UUCP WaterGate Manual User Definitions Page 68 --------------------------------------------------------------------- system. It is very easy to find problems between you and your downlinks, but not with your uplink. Remark on the use of "New Area-create" -------------------------------------- If you enable "New Area-create" for UUCP systems, WaterGate will create a new area as soon as it receives a message in a non-existent newsgroup. But, since so many messages on UUCP are cross-posted, WaterGate checks for the existence of all the areas to which the message was cross-posted. If they don't exist, it creates the area. Unfortunately, messages are not only cross-posted in the publicly know newsgroups, but sometimes also in local newsgroups. This means that you might end up with an area with a name like "buro.general". WaterGate enables you to avoid the areas like "buro.general" by installing a proper "New Newsgroup Names Filter File". This will be described later in more detail, but this file basically consists of the newsgroup names that you do want to have created, or the first part of that newsgroup name, for example: alt. comp. rec. The file is more powerful, so a separate chapter will explain this in more detail. WaterGate Manual User Definitions Page 69 --------------------------------------------------------------------- Bag supplier ------------ A BAG supplier is a system that creates files with the names like NEWS0001.BAG, NEWS0002.BAG, etc. These files are almost the same as UUCP .D files. WtrGate supports BAG files with news, but also mail. WtrGate cannot create BAG files though. They are used with systems that receive their Usenet news via a satellite link. It is possible to receive up to 600+ megabytes per day of news, without telephone costs! There are also programs (like WinDis, Slurp and Changi) that download messages from an NNTP (news) server and store them in a BAG file. The created files do not necessarily have the extension "BAG". WaterGate Manual User Definitions Page 70 --------------------------------------------------------------------- +-[BAG supplier]-----------------------------------+ | Organization News from a dish! | | Allowed groups A | | Subscribed to | | New Area-create no YES | | Search path C:\NEWSPROG\ARTICLES\*.BAG | | UUCP name satdish | | Return system wtrlnd | +--------------------------------------------------+ All fields in this screen have already been described in "FidoNet style user" and "UUCP style user". The only new field in this screen are the Search path and Return system. Return system ------------- Because the BAG system can only be used to receive messages, there has be a way to send messages back to the network. This is done via the "Return system". If a message is destined for the BAG system, it is sent to the Return system instead. You have to create the return system as another user in the database (UUCP style users), fill in a UUCP name an enter the same UUCP name in this Return system field. WARNING about the return system ------------------------------- The return system MUST NOT be connected to all the areas. If you do this, the return system will receive the entire feed from the BAG supplier. And since this return system is usually your real UUCP uplink, they probably won't take kindly to receiving all this news from you as well. You might create a nice duplicate loop if you do this wrong, and that might be disastrous! So, be careful! WaterGate Manual User Definitions Page 71 --------------------------------------------------------------------- SMTP interface user ------------------- The SMTP style user is used to interface two directories where messages to and from another application are stored. UUCP also works on a file basis, but this is different. SMTP is short for "Simple Mail Transport Protocol" and is the backbone protocol to deliver messages directly to the target system on the Internet. Notice that it is used for e-mail only and not for news (NNTP is for news). The deliver functionality is not built into WaterGate (just like UUCP isn't), so you need a special application to deliver the messages. Examples of these applications are WinDis and KA9Q. How to set up these applications is beyond the scope of this manual. The following screen is used to set up the SMTP interface user. WaterGate Manual User Definitions Page 72 --------------------------------------------------------------------- +-----------------------------------------------+ | Organization WSD does it with SMTP | | Passive NO yes | | SMTP-In path C:\SPOOL\RQUEUE | | SMTP-Out path C:\SPOOL\MQUEUE | | UUCP name smtp-if | | World registered NO yes | | Allow sub-domains no YES | | Domain addresses | | | +-----------------------------------------------+ Most of the fields have been described before. A few new fields and a few notes on the other fields follow below. SMTP-In path ------------ SMTP-In path is the directory where the other application stores received messages. This can be the RQUEUE directory (for routing e-mail), but also the MAIL directory, depending on the setup of the SMTP application. SMTP-Out path ------------- The SMTP-Out path is the directory where WtrGate will store messages for the SMTP application to pick up and transport. This directory is usually referred to as the MQUEUE directory. Some notes ---------- The UUCP name is only there because WtrGate refers to a user by the Fido address or UUCP name. World registered, Allow sub-domains and Domain addresses are not used for your uplink, but are there in case you use it for downlinks and WaterGate needs to know which messages to queue up. WaterGate Manual The List Server Page 73 --------------------------------------------------------------------- The List Server --------------- The List Server is an automatic message distribution part of WaterGate that handles mailing lists. A mailing list is a list of e-mail and netmail addresses of people that are interested in that particular mailing list. If a message is distributed by the list server, everybody on that list receives a copy of the message. So, you can see a mailing list as a more private echomail area or newsgroup. The advantage is that all the intermediate systems don't need to define that particular echo or newsgroup, and users who can receive mail but not news can also participate. WaterGate can handle up to 65000+ mailing lists. The biggest advantage of mailing lists is the control of who can posts messages to it and not having to read all the spam postings that you find in the newsgroups nowadays. Subscribing to a mailing list ----------------------------- To subscribe to a mailing list, a user has to send a message to the list server, which can be addressed as "listserv" or "listserver", at any of your system AKAs or at any of your system domain addresses, for example: ListServer at 2:280/803 or listserv@wsd.wlink.nl You can request the list server to perform certain actions for you, just like AreaFix. It doesn't matter if you send a message to the list server via e-mail or via netmail. You use the same commands and you put them in the body of the message. The end of the message is indicated by a tear-line, so don't put any other lines in the message, like "Hi!" or "Bye,", because the list server will try to interpret them as commands. The following commands are available: LIST Request the list server to send a list of all possible mailing lists available at this system. HELP Ask the list server to send you information on using the list server. This information is also sent automatically if a user sends an unknown command (or something like "Hi!"). CONNECT listname SUBSCRIBE listname Two commands that both put the sender's address on the requested mailing list. DISCONNECT listname WaterGate Manual The List Server Page 74 --------------------------------------------------------------------- UNSUBSCRIBE listname Two commands that remove the sender's address from the requested mailing list. Notice that the sender's address, or more accurately the reply address, is very important for the list server, as it is put on the mailing list! This is especially important for a UUCP e-mail message, which has to have a proper Reply-To:, Sender:, or From: header (in that order). As soon as a user receives a reply from the list server indicating that he has been put on the list, he can send a message to the mailing list to have it distributed. Since your system might have more than one mailing list, the message must be sent to the name of the mailing list, on one of your system AKAs or system domain addresses, for example: WaterGate@wsd.wlink.nl or WaterGate at 2:280/803 Names of mailing lists are commonly given the extension -L, to indicate that it is a mailing list and not a normal user. Our own mailing list doesn't have a name like that yet, but if it did, the name would be WaterGate-l@wsd.wlink.nl. Notice that you MUST NOT put the domain address in the name of the mailing list. Just "WaterGate-L" is all you have to enter. The first system domain address is added automatically. Setting up a mailing list ------------------------- To create your own mailing list, select the "Mailing list definitions" option from WtrConf's main menu. The names of all the mailing lists that are currently defined on your system will then be listed. You can add a list by pressing the Insert key, or remove a list by pressing the Delete key. The Escape key returns you to the main menu. If you want to edit a mailing list definition, you have to press the Enter key. When editing a (new) mailing list definition, the following screen is used: WaterGate Manual The List Server Page 75 --------------------------------------------------------------------- +-----------------------------------------------+ | List name WaterGate | | Description WaterGate Support mailing list | | Welcome file c:\wsd\wtrgate\wg_hej.txt | | Private list yes NO | | Only Known yes NO | | Active YES no | | AKA 2:280/803 | | | | Area name WLINK.WATERGATE | | Echo to List YES no | | List to Echo YES no | | | | Subscribers | | Default access FULL receive-only post-only | +-----------------------------------------------+ List name --------- Enter the name of the mailing list here. This name has to be unique on your system, so make sure there are no users with the same name! You might want to put -L at the end of the name, to indicate that it is a mailing list and reduce the chance of it being the same as a user's e-mail address. You MUST NOT type in a domain address here. The first system domain address is added automatically when sending to a UUCP system. Remember that the mailing list is accessible from within FidoNet as well, so don't type in a domain address!! Description ----------- You can use the description line to describe this mailing list. This line is used in the lists the list server sends in response to the LIST command. Welcome file ------------ The welcome file is sent when someone connects to this list. It should contain some information about the mailing list: the purpose, the language to use, and how to disconnect from it. The welcome file is a normal ASCII textfile and can contain tokens, just like the AreaFix and newsfix .TXT files. See the chapter "Installing the .TXT files" and appendix A for more information on tokens. Private list ------------ This toggle defines whether the list is private or not. Private lists do not show up in the list of public mailing lists that people can connect to using the list server. You have to maintain (connect / disconnect people) private lists manually. WaterGate Manual The List Server Page 76 --------------------------------------------------------------------- Only known ---------- If you set this toggle to YES, only systems that are defined in your userbase can connect to the list. This is a middle way between public access (Private list to NO) and complete manual access (Private list to YES). Active ------ This toggle determines whether this list is currently active. A disabled list is completely ignored and hidden by your system. It won't show up in the lists and users can neither connect to nor disconnect from it. AKA --- Select a system AKA for messages sent into FidoNet. This AKA is used as a From address for all messages sent by this list. This will be changed in a future release, because the List Server is addressable on all your system AKAs. It will then use the most closely matching system AKA when replying to the message sender. This AKA will then be used when a message is sent to the list from UUCP and has to be translated to FidoNet. It is currently also used when a message is translated to an echomail message, but that will change also, since areas have an Origin AKA. Area name --------- It is possible to connect a mailing list to an echomail area. This gives you several extra abilities, such as connecting a messagebase to a mailing list. Echo to list ------------ This toggle determines whether WaterGate allows message that were written in the area (or messagebase) to be sent out on the mailing list. List to echo ------------ If you set this option to YES, WaterGate will copy all the messages that were distributed via the mailing list to the area as well (and into the messagebase, if it is connected to one). Default access -------------- As described below. When a new user subscribes to the list, the WaterGate Manual The List Server Page 77 --------------------------------------------------------------------- access type in this field is used for the new entry. Subscribers ----------- If you press Enter on this field, you will be presented with a list of addresses of all the users that are currently connected to this mailing list. You can edit the list manually with the Insert, Delete, and Enter keys. When adding a new user, you have can select either a Fido user, UUCP user or Gateway user. The first can be reached using netmail, the second using UUCP or SMTP and the third is a bit special. If you system doesn't have a connection to the Internet, but you are a sub-domain of a system running the gateway, and you are running a mailing list, then the address to reach the user on the Internet is via the gateway at your uplink. In that case, select Gateway user, enter the details of the gateway and the e-mail address of the user. Using the access type you can block the user from posting messages via the mailing list (very useful for announcement lists), or you can configure a user to not receive any messages, but use the address for posting messages only. The access type Full allows both posting and receiving. WaterGate Manual The Gateway Page 78 --------------------------------------------------------------------- The Gateway ----------- This chapter describes the operation and use of the gateway. The chapter "Gateway settings" (loads of pages back) describes how to configure it. The gateway is where messages are translated between the FidoNet and UUCP formats. There are different gateways for the echomail-news translation and the netmail-mail translation. The echomail-news gateway ------------------------- This gateway is used automatically when a message is sent in an area from the FidoNet side and a UUCP style user is also connected to that area; or the other way around, when a message is sent to an area from the UUCP side and a FidoNet style user is connected to the area. The message is then translated into the other format and sent out. When distributing a message in an area, the message is first sent to all connected users in the same style and if any users in the other style were found, the message is translated and then sent to all those users. Gating echomail to news ----------------------- When an echomail message is translated to a news message, a number of actions are performed on the message. For example, all the kludge lines are removed, the high-ASCII values in the body of the message are translated using the ASCII conversion table, the date format is converted and the day-of-the-week and a time-zone are added, all addresses are translated, a valid UUCP header is put at the beginning of the message, the tear-line, origin-line, PATH and SEEN-BY lines are removed, the paragraphs are split into separate lines and a signature might be added. Gating news to echomail ----------------------- When a news message has to be translated to an echomail message, a number of actions are performed on the message. Not as much as when translating in the other direction, but in short the header lines are removed or copied to the Fido message as kludge lines or body text, the date format is converted, the addresses are converted, the body text is copied without change, special kludge lines are added, and a tear-line, origin line, PATH line, and SEEN-BY line are added. What is important to know about this gateway is that it works automatically when it has to be used. The netmail-mail gateway ------------------------ This gateway handles the translation between the FidoNet netmail WaterGate Manual The Gateway Page 79 --------------------------------------------------------------------- style of messages and UUCP style mail messages. The translation is more complex than the echomail-news translation. What is important to know about this gateway is that it does not always work automatically. If you use certain settings and addressing formats, it works automatically. If you don't use them, you have to send your messages to a specific address and username to have it gated. Using the gateway with netmail ------------------------------ If you are on FidoNet and you want to send a message to someone via UUCP, you have to know the address. Say that I am "Ramon van der Winkel" at 2:280/802.33 and I want to send a message to martijn@dijkline.wlink.nl. I write a netmail message; it is then sent to the gateway (WaterGate), which translates it and forms it into a mail message, and then it is sent out on the UUCP side. You can put the UUCP address (martijn@dijkline.wlink.nl) in the To: field of the netmail message. WaterGate will recognize it as a UUCP address and then automatically gate the message. The "Gateway TO:" option has to be set to YES to enable this. There are occasions when the complete UUCP address does not fit in the To: field, for example when using QWK, which has a shorter To: field, or when the address is simply too long. In that case, you have to send the netmail to the WaterGate program and put the UUCP address on the first line of the body of the message, preceded by "To:", like this: To: martijn@dijkline.wlink.nl. The AKA to which the netmail must be addressed is any of the system node numbers. The first field contains the AKA you want to use for the gateway. The second field holds the name of the user to which the netmail should be addressed. This defaults to "UUCP". To return to the example above, the complete netmail message header would then be: From: Ramon van der Winkel 2:280/802.33 To: UUCP 44:230/40 Subj: Test --------------------------------------------------------- TO: martijn@dijkline.wlink.nl Hi Dijk! ... The name "UUCP" is set in the Gateway settings screen and the AKA is one of your system AKAs. If the UUCP address fits in the To: field, you still have to address to any of your system node numbers (44:230/40 in this example). The netmail would then look like this: WaterGate Manual The Gateway Page 80 --------------------------------------------------------------------- From: Ramon van der Winkel 2:280/802.33 To: martijn@dijkline.wlink.nl 44:230/40 Subj: Test --------------------------------------------------------- Hi Dijk! ... FidoNet address to e-mail address translation --------------------------------------------- When a message is translated by the gateway, the FidoNet address of the sender of the message must be translated to a valid UUCP address. Remember that a FidoNet address consists of the full name of the user (for example "Ramon van der Winkel") and an FidoNet address, also known as an AKA (for example 2:280/802.33). The UUCP address consists of two parts: the username (for example "ramon") and the domain part (for example "wsd.wlink.nl"), which are added together to form the full e-mail address user@domain (for example ramon@wsd.wlink.nl). When a netmail is received at your system that has to be gated, there are five possible situations: 1. The user and his AKA are both unknown to your system. 2. A FidoNet style user record exists for this AKA, without the UUCPname and domain addresses filled in. The full name of the user does not matter. 3. A FidoNet style user record exists for this AKA, with the UUCPname and domain addresses filled in. The full name of the user does not matter. 4. A mapping statement exists in the ROUTE.TDB file for this AKA. The full name of the user does not matter. 5. A mapping statement exists in the ROUTE.TDB file for this AKA and this particular full name. Each of these situations will be explained below, with examples of the e-mail address. Remember that the most important thing about the e-mail address is that it can be used to reply to the message. When somebody replies to the message, then all the required information has to be available in the UUCP address to translate it back to the full FidoNet address and user name. Unknown AKA and full name ------------------------- If the Fido user is not known to your system, or in other words, there is no Fido style user in your database with this AKA and there is no mapping statement in your ROUTE.TDB file, then WaterGate uses the most ugly form possible for the e-mail address. The full name and the AKA of this user have to be reflected in the e-mail address. For example: ----------------------------------------------------- WaterGate Manual The Gateway Page 81 --------------------------------------------------------------------- Gateway AKA: 2:280/802 1st system domain address: wsd.wlink.nl Full name: Ramon van der Winkel AKA: 2:512/10.5 After translation: Ramon_van_der_Winkel@z2.n512.f10.p5.wsd.wlink.nl Or with small addresses set to YES: Ramon_van_der_Winkel@n512.f10.p5.wsd.wlink.nl ----------------------------------------------------- User record, without domain address ----------------------------------- If the AKA of the sending user is present in your userbase, that is, the user has sent the message from one of your neighboring systems, for example a point or node, but this record has no UUCPname and domain address, then the translation is just like the first situation, in which the user was not known to your system at all. ----------------------------------------------------- Gateway AKA: 2:280/802 1st system domain address: wsd.wlink.nl Full name: Ramon van der Winkel AKA: 2:280/801 After translation: Ramon_van_der_Winkel@z2.n280.f801.wsd.wlink.nl Or with small addresses set to YES: Ramon_van_der_Winkel@f801.wsd.wlink.nl ----------------------------------------------------- The only difference is that the address of the user is probably closer to your address, because it is one of your neighbor systems. This can shorten the e-mail address. User record with domain address ------------------------------- In this case, a record exists in your userbase with the sending user's AKA, and you have defined a UUCPname and domain address for this user. This improves the translation, because the AKA does not have to be put in the domain address anymore. The domain address from the user record is used instead. Some examples: WaterGate Manual The Gateway Page 82 --------------------------------------------------------------------- ----------------------------------------------------- Gateway AKA: 2:280/802 1st system domain address: wlink.nl Full name: Ramon van der Winkel AKA: 2:280/803.33 Domain address: wsd.wlink.nl After translation: Ramon_van_der_Winkel@wsd.wlink.nl ----------------------------------------------------- The same situation occurs when a local netmail is created with one of the system AKAs. WaterGate then uses the first system domain address. For example: ----------------------------------------------------- Gateway AKA: 2:280/802 1st system domain address: wlink.nl Full name: Ramon van der Winkel AKA: 2:280/802 After translation: Ramon_van_der_Winkel@wlink.nl ----------------------------------------------------- Notice that the only "ugly" thing about this address is the full name that has been translated. It is perfectly possible to use a full name like "ramon", though, instead of "Ramon van der Winkel". Mapping statement, without full name ------------------------------------ In this fourth situation it doesn't matter whether the user is known to your system. A MAP-UUCP statement in the ROUTE.TDB file tells WaterGate to translate the AKA to a domain address, just as if a user record existed with the UUCPname and domain addresses filled in. This should be used for non-neighboring systems that you want to give special domain addresses for use in UUCP. Don't put bangpaths in the MAP-UUCP statements! Example: ----------------------------------------------------- Full name: Ramon van der Winkel AKA: 2:512/10.5 Mapping statement in the ROUTE.TDB file: MAP-UUCP faraway.wsd.wlink.nl 2:512/10.5 After translation: WaterGate Manual The Gateway Page 83 --------------------------------------------------------------------- Ramon_van_der_Winkel@faraway.wsd.wlink.nl ----------------------------------------------------- Notice that the gateway AKA is no longer important for the address translation, and neither is the system domain address. The netmail still has to be sent to the gateway AKA, of course. Mapping statement, with full name --------------------------------- All the examples up to now still had the original full name of the sender of the message as the user name of the e-mail address. This can be changed by using an extended MAP-UUCP statement in ROUTE.TDB. Notice that it is not possible to use a MAP-FIDO statement to change the name of the sender, because MAP-FIDO statements only work on To: fields of a netmail message, not From: fields. The extended MAP-UUCP mapping is actually the most common way to give a FidoNet user an e-mail address. An example follows: ----------------------------------------------------- Full name: Ramon van der Winkel AKA: 2:512/10.5 Mapping statement in the ROUTE.TDB file: MAP-UUCP ramon@wsd.wlink.nl "Ramon van der Winkel"%2:512/10.5 After translation: ramon@wsd.wlink.nl ----------------------------------------------------- Once again is the gateway AKA not important for the address translation. Notice that the mapping statements we have used so far are working in both directions. What other options you have with these mapping statements will be explained later. Notice that if you only use a mapping statement for a user with a user record and you don't fill in the UUCPname and domain address fields, this user can only be addressed with this e-mail address. If you put a UUCPname and domain address in the user record, all mail to whatever user at that domain will be sent to the user's AKA (think about spelling problems). You might want to use a combination. Creating UUCP message headers in the netmail -------------------------------------------- WaterGate allows you to put header lines in the netmail message, which are then copied to the UUCP message. An example could be "X-Info: Oh coolness!". WaterGate Manual The Gateway Page 84 --------------------------------------------------------------------- The headers have to be in the netmail messages as the first lines. If you have a To: line in the message, then that must be the first line of the message. WaterGate only copies header lines up to an empty line or an invalid header line. All other lines go in the body of the UUCP message. An valid UUCP header line start with a capital, has no spaces in it, ends with a colon (":") and a space and is followed with at least on line of text. The header line itself (before the colon) has to be two characters at least. Further, WaterGate does not allow the following system header lines. These will be ignored. To: From: Path: Message-ID: Subject: Date: But it is very valid to use any other header line, for example: Reply-To: Sender: Approved: References: Newsgroups: etc. It is advised that you put "X-" before the header lines that you make up yourself. Apart from just copying all the header lines and removing them from the body of the message, WaterGate now also deletes the first empty line it finds at the start of the message, or just behind the header lines. Usually, when you write a netmail to a UUCP recipient, you keep an empty line between the TO: and the "Hi!" line. This line used to show up in the mail message as an extra empty line after the empty line that separates the header lines and the body of the UUCP message. Not anymore. Personally, I find that this hides even more the fact that the message was created on a FidoNet system! Using the gateway with mail --------------------------- If you are on UUCP and you want to send a message to somebody on FidoNet, you have to send it to his address. There are two general options for this. (In fact there are five options, as mentioned in "Using the gateway with netmail"). In the first case, the user has a mapping statement on a WaterGate system, which means that you can send the message to a UUCP address and let WaterGate takes care of the translation. Easy. WaterGate Manual The Gateway Page 85 --------------------------------------------------------------------- In the other case, where you know only the user's full name and a FidoNet address, for example "Ramon van der Winkel" at 2:280/802.33, you have to use a special e-mail address that WaterGate will detect, after which it translates the message. This address looks like this: Ramon_van_der_Winkel@z2.n280.f802.p33.wlink.nl The full name has been put in front of the of the @-sign and the spaces in that name have been converted to underscores. This underscore can be configured, so don't be surprised if someone sends you a message from a WaterGate system with different characters there. The part after the @-sign is the destination address. The Zone, Net, Node, and Point number have been coded in a special form, as above. The last part of the address has to be one of WaterGate's system domain addresses. This part is the address of a system you know that runs WaterGate. Some systems also allow "fidonet.org" as the last part of the address. This only works if the UUCP provider and the smarthost in the neighborhood of that system know that it handles mail for that address. If this is not the case, the message will be sent to a site somewhere in the world (such as 1:1/31) that handles fidonet.org as well, after which it is translated to a FidoNet message and then has to travel all the way through FidoNet to get to its destination. That is not what you want. Please talk to your UUCP provider if you want to be a public UUCP-FidoNet gateway for your neighborhood. You have to add "fidonet.org" to your list of system domain addresses to get this to work. The best way to find out the e-mail address of a FidoNet user is to let him send a message to you first, so you can see the address. WaterGate Manual The ROUTE.TDB file and its options Page 86 --------------------------------------------------------------------- The ROUTE.TDB file and its options ---------------------------------- Although you can set a wide range of options in the configuration program, there is always need for more fields and more options which are difficult to put in a configuration program. The ROUTE.TDB file is not only used to configure your system's routing, but has some additional functions. You can use it to: - Make routing exceptions for certain systems - Add signatures to mail and news messages - Map certain messages to other people - Allow special addresses for yourself or other people - Put restrictions on the use of the gateway All this and more can be configured in the plain ASCII text file called ROUTE.TDB, that you can edit with MS-DOS's EDIT, for example. In this ROUTE.TDB file, you can use the following commands: ROUTE-FIDO This command is used to route Fido netmail messages through certain systems. ROUTE-UUCP This is nearly the same, but for routing UUCP mail messages through different UUCP up- and downlinks. MAP-FIDO When a netmail message is received for a certain user, you can map it to another user, possibly at another Fido system. MAP-UUCP Besides mapping UUCP mail messages to other systems, this command is also used to assign different sender addresses to Fido users. FORBID-FIDO You can forbid a certain Fido user, a group of users, or everybody to use the gateway. ALLOW-FIDO After forbidding a group of people to use the gateway you can make an exception for one or more users or systems. SIGNATURE Most UUCP messages have a small signature part with some general (brag) information about the person writing the message or the service provider. Use this command to automatically add signature files to all messages created by a user or a system. NEWSFILTER Name of the file that contains the newsgroup names that you want to create automatically or not. WaterGate Manual The ROUTE.TDB file and its options Page 87 --------------------------------------------------------------------- SENDFILE You can use this statement to let WtrGate reply with the contents of a file, when somebody send a message to specific address. It is a simple file robot. SAVE If you want to store messages that were sent to a specific address to a directory, then use this statement. You can use it to make some automatic mechanism where a program processes the messages that were saved. SAVEFROM If you want to store messages that were sent from a specific address to a directory, then use this statement. You can use it to make some automatic mechanism where a program processes the messages that were saved. BOUNCE If a system closes down or you don't want people to send mail somewhere, you can use this statement to block their path. The messages will be sent back with a specified reason. BOUNCEFROM If somebody keeps on sending you crap mail, then you can use this statement to bounce messages from that user automatically. The messages will be sent back with a specified reason. GZIPBATCH This can be used to set the first letter of the header that is added to news batches that compressed with GZip. FORCEPACK This is only used when running in FrontDoor mode and tells WaterGate to put netmail for a certain user or system into .PKT files, instead of storing them in the netmail area and letting FrontDoor handle the delivery. The following pages contain an long explanation of each of the statements. There are two other statement to do with the Mail Tunnel functionality. See the separate chapter for more information. WaterGate Manual The ROUTE.TDB file and its options Page 88 --------------------------------------------------------------------- ROUTE-FIDO: Route Fido messages ------------------------------- WaterGate currently implements only a very simple form of Fido routing: ROUTE-FIDO [ [...]] ROUTE-FIDO 2:285/1 2:285/* ROUTE-FIDO 2:280/802 2:* 140:* ROUTE-FIDO 60:100/1 60:* The destination system must be defined in the userbase. WaterGate will report an error if the system is unknown. When a netmail message is encountered, WaterGate will check whether it is capable of transporting a message to its destination address. In the above example, a message for 2:255/1000 would be sent via 2:280/802, as would a message for 140:1000/100. However a message for 2:285/500 would be routed via 2:285/1 If WaterGate is incapable of routing a message, to 133:100/1 for example, an attempt is made to bounce the message to its sender. If more than one routing statement can be used for a certain address, the routing statement with the highest address match will be used. For example 2:285/1000 will be routed to 2:285/1 (two matches) and not via 2:280/802 (one match only). If the system is in FrontDoor compatible mode, the routing statements are not used. Instead, everything is put in the netmail directory, where FrontDoor/InterMail will take care of the routing. WaterGate Manual The ROUTE.TDB file and its options Page 89 --------------------------------------------------------------------- ROUTE-UUCP: Route UUCP messages ------------------------------- The routing of UUCP mail can be implemented in two different ways. One is by configuring routings in WtrConf; the other is by using statements in the ROUTE.TDB file. Usually, this is a proper way of setting up the system: First, define your UUCP neighbors in the userbase. This is mandatory; if your neighbors are not defined there, you cannot route messages to or through them. In these user records, you can also define their domain addresses, if any. There is a limit of 6 domain addresses for each neighbor. Note that logically it does not matter if your neighbor is physically a FidoNet style node. This only affects the format of output created for your nodes, but is not of any importance for the names and routing of mail. Next, define the systems that are more than one 'hop' away, i.e., not your neighbors, in your ROUTE.TDB file. The format of a UUCP-routing line in the ROUTE.TDB is: ROUTE-UUCP where must be the UUCPname of one of your neighbors as defined in your userbase. can be: - The UUCPname of a system more than one hop away - The complete domain address of a system - A domain address with wildcards If nodes under you have a world-registered UUCPname, you can use this UUCPname in bangpath addressing. If the name of the system through which a message should be routed is missing from the bangpath, a UUCPname routing statement can enable the mail to arrive anyway. By using a complete domain address, you specifically route mail for that domain to one of your neighbors. The domain address must match 100% for it to work. This is the most widely used form of UUCP routing. Note that this method can be used to add more domain names to one of your neighbors that is defined in the userbase, where you have space for only six domain addresses. On the other hand, you can also use those six lines as ROUTE-UUCP statements. Although it does work, we don't recommend using it, as you loose the complete view and control rather quickly. Wildcards in the allow you to route a complete hierarchy of domain-addresses to a certain neighbor without having to WaterGate Manual The ROUTE.TDB file and its options Page 90 --------------------------------------------------------------------- define each sub-node of that system separately. This allows your nodes to have sub-nodes of their own and they can create as many as they want. This is very useful when you or one of your nodes uses Fido-style addresses like "user@z2.n280.f802.p10.hisnode.wlink.nl". You can then 'wildcard' the Fido segment of the complete domain address, so you won't have to define each Fido-style address he wants to use. There are currently two types of wildcards: 1..yournode.wlink.nl 2. *.yournode.wlink.nl There is a very slight difference: Type 1 will route ALL addresses that end in 'yournode.wlink.nl', including sub-domains and the address "@yournode.wlink.nl" itself. Type 2 will ONLY route sub-domains, and will NOT route addresses like "user@yournode.wlink.nl". Here are some example ROUTE-UUCP statements: ROUTE-UUCP picard enterprize.space.nasa.gov This ROUTE-UUCP line will route all mail for domain "enterprize.space.nasa.gov" to the system with the UUCPname "picard". This system must be defined in your userbase. E.g., addresses like "Mr.Spock@enterprize.space.nasa.gov" or "enterprize.space.nasa.gov!Mr.Spock" will be sent to the system named "picard". Subdomains are not allowed here and the domain-address will have to match 100%. ROUTE-UUCP nixon *.WaterGate.wlink.nl This line will route all mail destined for all sub-domains (and sub-domains only!) of "WaterGate.wlink.nl" to the system with UUCPname "nixon". Once again, "nixon" must be defined in the userbase. For example: "operator@phonetaps.WaterGate.wlink.nl" or "oval.office.WaterGate.wlink.nl!president" will be routed to that system. It will NOT route addresses like "first.lady@WaterGate.wlink.nl" or "WaterGate.wlink.nl!authors". ROUTE-UUCP rspca .rodent.net This line will route all mail to users with domain addresses ending in "rodent.net" to the system with the UUCPname "rspca". For example, "mickey.mouse@rodent.net" as well as "rabbits.rodent.net!bugs.bunny" WaterGate Manual The ROUTE.TDB file and its options Page 91 --------------------------------------------------------------------- or "sylvester@cats.rodent.net" are routed to the "rspca" system, which has to be defined in your userbase. ROUTE-UUCP picard xs4all This last example routes all mail sent to "annie.user@xs4all" or "xs4all!xs4no1!mary.helen" to the system with UUCPname "picard". Because "xs4all" does not appear to be a domain style address, it makes us suspect this routing line is used to alias another UUCPname or to be able to route a UUCPname of a system that is not our neighbor. About bangpaths --------------- Any system that is defined on UUCP has a bangpath, but not all systems have domain addresses. Therefore, bangpath addressing is always possible. Bangpaths are usually built up from UUCPnames (to keep them short), but a bangpath can also contain a domain addresses. Internally, WaterGate converts all addresses to bangpaths. Then, for routing, it only looks at the part of the address that is in front of the first bang (bang = !). If that part of the address turns out to be its own UUCPname, and the address contains more than one bang, it looks at the part between the first and the second bang. This algorithm allows a very powerful and flexible way of UUCP mail routing and, knowing this, you may find some ingenious and creative ways to perform all the routing you want. Don't use bangpaths in MAP-UUCP statements where you use a username as well, because there is no way for WaterGate to find out if the last part of the bang-path is a username or the name of a system. Use domain addresses instead. Routing things you cannot do in ROUTE.TDB ----------------------------------------- You cannot put more than one on a ROUTE-UUCP line. If you do this anyway, the line will be ignored. If you want more routings to the same UUCPname, then simply use as many lines as you need to route all system addresses and have them start with the same UUCPname. You cannot chain the routing of UUCP-names. E.g.: ROUTE-UUCP picard nixon ROUTE-UUCP nixon *.watergate.wlink.nl This will NOT cause mail for *.WaterGate.wlink.nl to be routed to system "picard". WaterGate will try to route it directly to "nixon", even though "nixon" is routed to "picard". Instead, use something like this: ROUTE-UUCP picard nixon ROUTE-UUCP picard *.watergate.wlink.nl WaterGate Manual The ROUTE.TDB file and its options Page 92 --------------------------------------------------------------------- The reason is obvious: to prevent routing loops. You cannot 'wildcard' bits and pieces of domain addresses. E.g.: ROUTE-UUCP picard *gate.wlink.nl This will NOT cause mail for "WaterGate.wlink.nl" or "water.gate.wlink.nl" to be routed to "picard". In fact, this may cause funny routing behavior. A few last remarks about UUCP routing ------------------------------------- If mail addresses contain capitalization, it will be kept intact, but will be ignored for routing. Capitalization in your routing statements (make them wolverine if you wish) will also be ignored. In other words: the routing in WaterGate is case-insensitive. All routing techniques discussed here about the ROUTE.TDB file also apply to the domain addresses defined in the userbase. Whatever you fill in there will have the same effect as defining just as many ROUTE-UUCP lines that all start with the of that user. However, it is wise to stick to the structure as proposed above. If the format of your ROUTE-UUCP statements are incorrect, then this may (and often will) cause unpredictable routing behavior. So make sure that all your routing statements are correct. Keeping the definition structure as proposed above will help to keep things clear and obvious, so you can almost immediately locate the problem if any problem occurs. WaterGate Manual The ROUTE.TDB file and its options Page 93 --------------------------------------------------------------------- MAP-FIDO: Mapping Fido netmail messages --------------------------------------- The MAP-FIDO command is used to map received Fido netmail messages to a different destination. For example, you can use this option to map messages for users that also have a point address to their point, or you can map messages for a Fido user to a different system, or even a UUCP system. Note: It only works on the To: address of netmail messages. There are two forms of this command: MAP-FIDO "username"%fidoaddr "username"%fidoaddr and MAP-FIDO "username"%fidoaddr user@domain Examples and an explanation of all the options follow: 1. MAP-FIDO "username" "username" MAP-FIDO "jaap aap" "SysOp" Map netmail messages for a user on your system to a different user on your own system. All your system AKAs are accepted. 2. MAP-FIDO "username" "username"%2:280/803 MAP-FIDO "username"%2:280/802 "username" MAP-FIDO "username"%2:280/802 "username"%2:280/803 This is the same as for the first example, except that in the first line the message is now mapped to 2:280/803 instead of to your own system. The second line shows how a message passing through your system can be mapped to a local user, and the third sho 3. MAP-FIDO "username" user@domain MAP-FIDO "username"%2:280/802 user@domain MAP-FIDO "jaap aap" jaap.aap@network.nl Received netmail can also be mapped to an Internet domain address; this is a one way conversion. Messages for jaap.aap@network.nl are not mapped back to the "jaap aap" fido user! Neither can you specify a domain address for the first parameter! Order of precedence for MAP-FIDO -------------------------------- When more than one MAP-FIDO statement could be applied to a netmail message, the mapping statement that will be used is selected as follows: When only the address matches, the last mapping statement will be used. If a mapping statement exists that both matches the address and the user name, then that mapping is used and the search is stopped. WaterGate Manual The ROUTE.TDB file and its options Page 94 --------------------------------------------------------------------- MAP-UUCP: Mapping UUCP mail messages ------------------------------------ Mapping received UUCP mail messages is a little more complicated, as there are quite a lot of possible options. It is possible to map a message for a user to another user, or map all messages for a system to another system, or even to one user. Besides that, you can use the information BACKWARDS to allow mapping of Fido addresses into domain addresses. If you want these commands only to work from FidoNet to UUCP, you can use the prefix -FU. If you only want them to work from UUCP to FidoNet, you can use the prefix -UF. If you want them to work in both directions, then don't use a prefix at all. The prefix has to be put on the line right after the command. Note: unregistered users can only have five (5) MAP-UUCP statements in their route.tdb file. Extra MAP-UUCP statements are ignored and an error message will be logged. The two basic formats of this command are: MAP-UUCP user@domain user@domain MAP-UUCP user@domain "username"%fidoaddr Examples and an explanation of each of the options follow below: 1. MAP-UUCP user@domain user@domain MAP-UUCP jaap.aap@network.nl sysop@network.nl MAP-UUCP jaap.aap@network.nl aapwork.nl MAP-UUCP jaap.aap@network.nl jaap.aap@aapwork.nl The simplest map is to send all message from one user to another. Use this, for example, if you use multiple user names, but like to have all replies to 'SysOp'. The last two options are equivalent, and will both deliver all messages for jaap.aap@network.nl to jaap.aap@aapwork.nl 2. MAP-UUCP domain user@domain MAP-UUCP oldserver.network.nl sysop@newserver.network.nl Use this combination to send all messages for a complete domain to a single user at another system. This may come in handy when one of your downlinks changes its name or is temporarily off-line. 3. MAP-UUCP domain domain MAP-UUCP oldserver.network.nl newserver.network.nl This will map all messages for all users of a domain to the same users at another domain address. 4. MAP-UUCP user@domain "username" WaterGate Manual The ROUTE.TDB file and its options Page 95 --------------------------------------------------------------------- MAP-UUCP user@domain "username"%fidoaddr MAP-UUCP user@domain fidoaddr MAP-UUCP jaap@aapwork.nl "jaap aap" MAP-UUCP jaap@aapwork.nl "jaap aap"%2:280/802 MAP-UUCP jaap@aapwork.nl 2:280/802 To map all messages for "user@domain" to a Fido system, simply specify the username at your own system, or the name of a user at another Fido system. 5. MAP-UUCP domain fidoaddr MAP-UUCP domain "username"%fidoaddr MAP-UUCP aapwork.nl 2:280/802 MAP-UUCP aapwork.nl "sysop"%2:280/802 This combination will send all messages for an entire domain to a Fido system. The user names will be correctly translated into an acceptable Fido form. (Jaap_Aap -> Jaap Aap) Order of precedence for MAP-UUCP -------------------------------- When more than one mapping statement can be applied to a particular message, then only the first mapping statement is used. WaterGate Manual The ROUTE.TDB file and its options Page 96 --------------------------------------------------------------------- FORBID-FIDO/ALLOW-FIDO: Restricting the gateway ----------------------------------------------- Acting as a public gateway may be a really rewarding thing for your soul, and a great thing for mankind; but it's not going to pay your monthly phone bills. By default, WaterGate will allow everyone to gate messages between a Fido and a UUCP network. Add the following command to your ROUTE.TDB file: FORBID-FIDO * Now nobody, including yourself, is allowed to use the gateway; probably not exactly what you intended. Now relax this a little by giving some people access rights: ALLOW-FIDO 2:280/* ALLOW-FIDO 2:281/* ALLOW-FIDO 2:280/802 Maarten User ALLOW-FIDO 2:280/802 SysOp ALLOW-FIDO 2:280/18.* FORBID-FIDO 2:280/18 Jaap User This allows everyone within the nets 280 & 281--except a special case, "Jaap User" at 2:280/18--to use the gateway. Plus 2:280/18 and its points, and "Maarten User" and "SysOp" at the system 2:280/802, are allowed to use the gateway. WaterGate Manual The ROUTE.TDB file and its options Page 97 --------------------------------------------------------------------- MAP-AREA: Receive a mailing list in an area ------------------------------------------- Quite some users on your BBS might subscribe to a mailing list and receive this as netmail on the BBS. There is quite some flow in some of these mailing lists, so that means a lot of messages in your netmail area. Also, if more users on your BBS want to receive the same mailing list, you receive more than one copy of these messages and they will all have to be stored in the netmail area until the users have read and deleted them. It is not possible to set up a local mailing list and feed all incoming messages into that list, because the sender of the message must be connected to the local mailing list. And in most cases, the sending will be the original sender of the message that was distributed by the mailing list server. It is impossible to have all these names in your local mailing list setup. If you don't like all these messages in your netmail area, or want to provide a mailing list for all your users, so you only have one copy of them, you have to take a look at the MAP-AREA statement. Basically, what the MAP-AREA statement does is convert incoming e-mail into news. The news is then distributed, gated to echomail and stored in your message base. When you receive e-mail from a mailing list, you always receive that to the same name. Because the MAP-AREA statements takes all incoming mail to a certain address, you have to subscribe to the mailing list with a special "receiver" address, or else all your personal e-mail will be mapped as well. For example, you are connected to the mailing list WaterGate, which is watergate@wsd.wline.se. You receive the mailing list messages as wg-receiver@bravo.com and you want this to be put in the area you created with the name WG-LIST. You then use the following statement in your ROUTE.TDB file: MAP-AREA wg-receiver@bravo.com WG-LIST Where WG-LIST can be either the Fido or Usenet name of the area. Notice that this statement looks at the e-mail address that can be found in the .X file in your spool directory. Only MAP-UUCP statements are processed before the MAP-AREA is checked against that address. WaterGate Manual The ROUTE.TDB file and its options Page 98 --------------------------------------------------------------------- SIGNATURE: Adding signatures to a message ----------------------------------------- Most messages found on UUCP have some kind of signature at the end, usually containing some information about the writer, the fact that whatever he or she wrote wasn't done with all senses intact, and that his employer would be most surprised if someone took it seriously. Of course, this can be done in a million unique ways, and as long as the message isn't irritating (try to keep it at four lines or less), nobody will bother. Since most Fido style BBS programs are unable to add signatures to a message by default, or aren't capable of using different ones for different users, you can have WaterGate do it automatically. All you need for each signature is a small text file containing the signature, and a definition in the ROUTE.TDB. SIGNATURE filepath fidoaddr {username} SIGNATURE D:\BBS\SIG\DEFAULT.SIG 2:280/802 SIGNATURE D:\BBS\SIG\SYSOP.SIG 2:280/802 Jaap Aap SIGNATURE D:\BBS\SIG\NEOLINK.SIG 2:280/801 This will add DEFAULT.SIG to all messages gated from Fido to UUCP originating from 2:280/802, except that user "Jaap Aap" will get the SYSOP.SIG signature instead. An example signature file: ,----------------------------.------------------------------. | Martijn Dijksterhuis | Kids! Bringing about | | martijnd@dijkline.wlink.nl | Armageddon can be dangerous. | | martijnd@htsa.aha.nl | Do not attempt it at home | `----------------------------.------------------------------' For automatic processing, the signature will be preceded by a tear-line, just as in fido messages. This tearline consists of two dashes followed by a space ("-- "). WaterGate automatically adds this tearline, so there is no need to put it in the signature file. When a netmail message is distributed by a mailing list and gated to e-mail then the signature of the sending user is not used, but the signature for the mailing list. This is the name of the mailing list the mailing list AKA. This allows you to put a special signature under these distributed netmails with - for example - information on how to disconnect. If you don't like the above behaviour then you can send a netmail to through the gateway to the e-mail side of the mailing list. Your signature will be added to the gateway e-mail and is then distributed by the mailing list. This requires that you are subscribed to the mailing list with your e-mail address. On the next page is an excerpt about signatures from a classic article, which is regularly posted to news.announce.newusers by Gene Spafford. WaterGate Manual The ROUTE.TDB file and its options Page 99 --------------------------------------------------------------------- Q: Dear Miss Postnews: How long should my signature be? -- verbose@noisy A: Dear Verbose: Please try and make your signature as long as you can. It's much more important than your article, of course, so try to have more lines of signature than actual text. Try to include a large graphic made of ASCII characters, plus lots of cute quotes and slogans. People will never tire of reading these pearls of wisdom again and again, and you will soon become personally associated with the joy each reader feels at seeing yet another delightful repeat of your signature. Be sure as well to include a complete map of UUCP with each signature, to show how anybody can get mail to you from any site in the world. Be sure to include Internet gateways as well. Also tell people on your own site how to mail to you. Give independent addresses for Internet, UUCP, and BITNET, even if they're all the same. Aside from your reply address, include your full name, company and organization. It's just common courtesy -- after all, in some newsreaders people have to type an *entire* keystroke to go back to the top of your article to see this information in the header. By all means include your phone number and street address in every single article. People are always responding to UUCP articles with phone calls and letters. It would be silly to go to the extra trouble of including this information only in articles that need a response by conventional channels! WaterGate Manual The ROUTE.TDB file and its options Page 100 --------------------------------------------------------------------- NEWSFILTER: Auto-created newsgroups filter ------------------------------------------ The NEWSFILTER statement points to a file that WaterGate uses to decide whether an area should be created automatically when a unknown newsgroup name is detected. If you have "New area create" enabled in the user record of your UUCP uplink, then you might have noticed that WaterGate creates a lot of new areas with funny names. Most of these areas you don't want to have at all. The new newsgroups filter file allows you to tell WaterGate which newsgroups you want to have auto-created and which you do not. By default, WaterGate doesn't auto-create a newsgroup at all, until you install the NEWSFILTER file. In this file, you can enter the complete or partial names of the newsgroups. There are special characters and wildcards that save you a lot of typing. People that are familiar with the Waffle FEEDS file will find some resemblance. ALT.* COMP.* !COMP.OS.* This file tells WaterGate that you don't want any newsgroups unless they start with ALT and COMP. But, you don't want the newsgroups that start with COMP.OS. The exclamation sign (!) is a "NOT" operator. The extension dot plus asterisk (.*) means that you want all the newsgroups that start with that text, but not the newsgroup that starts with that name itself (for example "ALT"). Here is a somewhat more complicated example: ALT.* !ALT.BBS.* ALT.BBS.WATERGATE !ALT.BBS.WATERGATE.D. This file basically tells WaterGate that you want all the newsgroups that start with ALT, but not the newsgroups that start with ALT.BBS, except newsgroups that start with ALT.BBS.WATERGATE, which you do want, but not that one special ALT.BBS.WATERGATE.D newsgroup. The extension dot (.) means that you want the newsgroup with that name and only that newsgroup, not the newsgroup with names that start with this. If the exclamation sign (!) is in front, it means that you don't want that specific newsgroup. You can also put comments in the filter file on any line you want by putting in a semi-colon (;) before the comment. WaterGate Manual The ROUTE.TDB file and its options Page 101 --------------------------------------------------------------------- A special case is when the NEWSFILTER statement is not present in the ROUTE.TDB file, or the news filter file could not be opened, or it is empty, or the ROUTE.TDB file is not present. In that case, no new newsgroup names filter statements are present. WaterGate then allows all new newsgroup names. That way, you don't have to setup the filter file at once. This is reported in the log file at startup of WtrGate with the line "Allowing all new newsgroup names". Logging information ------------------- When your filter file gets big, it might become troublesome to find why a certain newsgroup name is rejected by WaterGate, while you want it, or why a certain newsgroup name is allowed, while you don't want it. If you enable the "New newsgroup names check" log file option, WaterGate will tell you when it accepted or rejected a certain newsgroup and which line in the log file caused the decision. For example, ALT.* !ALT.BBS.* ALT.BBS.WATERGATE !ALT.BBS.WATERGATE.D. The newsgroup ALT.BBS.WATERGATE is accepted, because of line three. If line three was not there, then line two would have caused WaterGate to reject it. When WaterGate processes the filter file, it looks at every single line; if that line applies to the newsgroup name, the decision to accept or reject the newsgroup can be changed. WaterGate Manual The ROUTE.TDB file and its options Page 102 --------------------------------------------------------------------- SENDFILE: a simple file robot ----------------------------- You can let WaterGate reply to a message automatically. You prepare the reply in a file that is put in the body of the reply message. If you want to send a file, you have to UU-encode it yourself first. The sendfile statement works from both the UUCP side as the Fido side. The format of this statement is: SENDFILE For example: SENDFILE watergate-info c:\wsd\wginfo.txt SENDFILE wtrkit-req c:\wsd\wtrkit.txt The e-mail address where people have to send their message to is the at any of your system domain addresses, for example watergate-info@wsd.wline.se. For FidoNet, people have to send a netmail message to at one of your system AKAs, for example watergate-info at 2:200/111. WaterGate Manual The ROUTE.TDB file and its options Page 103 --------------------------------------------------------------------- BOUNCE: Send mail back with a reason ------------------------------------ You can use the BOUNCE option for more than one purpose, but it is mostly used to inform people that certain e-mail addresses or even a whole system cannot be used anymore. The e-mail address you have to put in the statement has to match only partially. Or in other words: the search string you put in the statement must appear in the e-mail address that is checked. BOUNCEFROM is used to bounce messages sent from a certain address, whereas BOUNCE checks who the message is sent to. The Sender:, Reply-To: and From: headers are checked for the search string and only a partial match is enough. Not only is the message returned to the sender, but you can supply a reason as well. To support multiple languages, you have to put "Reason: " in front as well, if you wish. The format for this statement is: BOUNCE "Reason" BOUNCEFROM "Reason" For example: BOUNCE wsd.wlink.nl "Reason: moved to Sweden" BOUNCE ftpmail "Reason: ftpmail option is blocked!" BOUNCE erik@wsd.wlink.nl "Reason: Account is closed!" BOUNCEFROM sales "Reason: Not interested" WaterGate Manual The ROUTE.TDB file and its options Page 104 --------------------------------------------------------------------- SAVE: Write messages to disk ---------------------------- With the SAVE and SAVEFROM statement you can save messages that were at your system to a file on disk. SAVE checks the address in the .X file and SAVEFROM the From:, Reply-To: and Sender: headers. The contents of the messages are completely saved in the file. You can use it to let an external program process the message and send a reply, although there are no posting options in WaterGate yet. For SAVE, the e-mail address that is checked has to match exactly. So, it is not possible to save all messages for a complete domain in a directory. This is to protect systems. On the other hand, SAVEFROM works on a partial address. After the message has been saved, it is destroyed and not sent along. The format of the SAVE and SAVEFROM statements are: SAVE SAVEFROM For example: SAVE ftpmail_receiver@wsd.wlink.nl c:\saved\ SAVEFROM mailer-daemon c:\saved WaterGate Manual The ROUTE.TDB file and its options Page 105 --------------------------------------------------------------------- MAP-UUCP and BOUNCE, SAVE, SENDFILE ----------------------------------- The MAP-UUCP statement is processed before the BOUNCE, SAVE and SENDFILE options are checked. This way, you can "route" messages that are sent to different addresses all to one address and then use one bounce, save or sendfile statement. Of course, it is perfectly possible to use more that one bounce, save or sendfile statement that have the save reason, use the same directory or point to the same file. WaterGate Manual The ROUTE.TDB file and its options Page 106 --------------------------------------------------------------------- GZIPBATCH --------- This option can be used to set the first letter of the header that can be added to news batches that have been compressed with GZip. The header is used on UNIX systems to find out that the batch is compressed. Actually, it is a command that executes a script. This script is called "cunbatch" when the batch is compressed with normal compress. The names of the script for gzip compressed batches is differing though. Normally, it is gunbatch, but it can also be zunbatch. To overcome this difference, you can set this letter system-wide (for all your UUCP users that you compress with gzip for and have the "Add batch header" option set to YES). The format of this line is: GZIPBATCH for example: GZIPBATCH z You normally don't need this statement. FORCEPACK --------- This is only used when running in FrontDoor mode. WaterGate normally writes netmails for users to the netmail area when configured to work together with FrontDoor. The actual delivery of the netmail is then handled by FrontDoor. When configured for Binkley or d'Bridge compatibility, WaterGate packs up the netmails into .PKT files and doesn't write them to the netmail area. You can use FORCEPACK to tell WaterGate to put netmails into a .PKT file, even when running in FrontDoor mode. This is especially useful when using Mail Tunnel in combination with FrontDoor mode and basically then only way to get netmails delivered because the user in question would never dial in. The format of this statement is: FORCEPACK for example: FORCEPACK 2:200/111.15 WaterGate Manual Mail Tunnel Page 107 --------------------------------------------------------------------- Mail Tunnel ----------- The Mail Tunnel functionality in WaterGate allows you to forward outbound archives for a FidoNet style user to an e-mail address and the other way around. The outbound archives are uu-encoded and put in an e-mail and sent to a system that could be on the other side of the world. That system then extracts the archive from the e-mail and processes it by putting it in the inbound. An identical path is used from the other system back to you. Using this, you can exchange echomail with a system on the other side of the world, without the expensive telephone costs. Most important, this allows me, the author of WaterGate, to participate with several support echos without being a FidoNet system myself. Both systems simply use WaterGate (for full automatism) and send e-mail messages between them. How do I set it up? ------------------- Both systems use an identical setup, but with different e-mail addresses and FidoNet node numbers. You define the remote user as a normal FidoNet style user in WaterGate and connect it to the areas you want to send, and set the compression to use. You don't need to fill in a UUCP name or domain addresses. You then put a TUNNEL-TO statement in the ROUTE.TDB file to tell WaterGate to send outbound archives for that user to a certain e-mail address. This information is used during the PACK phase. A TUNNEL-TO statement looks like this: TUNNEL-TO wsd2brazerko-tunnel@brazerko.com 2:200/111.15 wsd2brz There are three parameters to this statement. The e-mail address is the address where the e-mails will be sent to. To make it easier to keep all the tunnel addresses apart, you could use a format like above, but your don't have to. Notice that this is the e-mail address at the other end, so don't put your own domain address after the @. The second argument is the node number as defined in the user record in WtrConf for the user you are tunneling the archives for. The Packer checks the .PKT files for this address. The third and last argument is the archive base filename. This name will be used instead of some cryptic number. The archives are created in the outbound directory and the normal tracking of .SU0, SU1, etc. will be used. You can configure this filename for a number of reasons: so it doesn't collide with other archive names, so it remains useful and you can extract what it is for and last because the name is put in the e-mail and extracted like that on the other side. So far for outgoing Tunnel Traffic. The next section explains how to WaterGate Manual Mail Tunnel Page 108 --------------------------------------------------------------------- process incoming traffic. Incoming Tunnel Traffic ----------------------- To complete the Mail Tunnel, you need to process incoming e-mail messages, extract the archives and put them in your inbound. You configure WaterGate to do this with the TUNNEL-FROM statement in the ROUTE.TDB file as follows: TUNNEL-FROM brazerko2wsd-tunnel@wsd.wline.se c:\inbound\ This fairly simple statement tells WaterGate to check for messages address to the specified e-mail address, to discard the e-mail itself, but to extract the message in the e-mail and store them in the specified directory. Notice that the e-mail specified must be on your own system, so after the @ you have one of your system domains. You have to specify the directory because you can have more than one inbound directory. Once the archive is in your inbound directory, WaterGate will decompress it (assume it is compressed) and process the .PKT file. This requires that you configure the sender in under User Definitions in WtrConf as a FidoNet style user and connect that user to the areas you receive messages in. A complete picture ------------------ Following is a complete picture of how a bi-directional Mail Tunnel can be set up between two systems. System wsd.wline.se System AKA 2:200/111 User Definition for 2:200/111.20 TUNNEL-TO wsd2brazerko-tunnel@brazerko.com 2:200/111.20 wsd2brz TUNNEL-FROM brazerko2wsd-tunnel@wsd.wline.se c:\inbound\ System brazerko.com System AKA 2:200/111.20 User Definition for 2:200/111 TUNNEL-TO brazerko2wsd-tunnel@wsd.wline.se 2:200/111 brz2wsd TUNNEL-FROM wsd2brazerko-tunnel@brazerko.com d:\inbound.sec\ WaterGate Manual Mail Tunnel Page 109 --------------------------------------------------------------------- A few notes ----------- - The Packer completely ignores the System Mailer (FrontDoor etc.) and everything related to that like file attach netmails, flow files, correct outbound sub-directories, alternative outbound directories, send format set in the user record, etc. - If you try to let a secondary tosser create the .PKT files, then you have to route them to WaterGate's node number so WaterGate gets the .PKT files in the archive from the other tosser, where after everything goes on as planned. - It is possible to exchange archives with netmail as well, although WaterGate doesn't pack netmail automatically when running in FrontDoor mode. You have to use the FORCEPACK statement in the ROUTE.TDB file to tunnel netmails in that case. - Be careful with echomail to other zones. WaterGate cannot handle zone gating (yet!) and will not correctly handle inter-zone echomail. - Make sure you set up AreaFix and Packet passwords because anybody can send an e-mail to you and fake a Mail Tunnel! If you have defined the user in your mailer, then make sure you use a Session password as well, even if the user is never going to dial in. WaterGate Manual Using Areafix and newsfix Page 110 --------------------------------------------------------------------- Using AreaFix / newsfix ----------------------- WaterGate has a built-in Area Manager to allow your users to easily maintain the areas in which they receive messages. A Fido user has to send a netmail message to "AreaFix" at one of your system AKAs. A UUCP user has to send a mail message to "newsfix" at one of your system domain addresses. For both, the password has to be in the subject line. Examples: [Fido Netmail] From: Jaap Aap 2:280/802.67 To : AreaFix 2:280/802 Subj: MyPassword -------------------------------------------- +ARENA -POINTS.028 %QUERY [UUCP mail] From: Jaap@TheNode.Network.Nl To : NewsFix@HostNode.NetWork.Nl Subj: MyPassword -------------------------------------------- +ARENA -POINTS.028 %QUERY The following commands are available: AREANAME This will connect the area with the name "AREANAME" for the requesting user, if the area exists and the user has access to that area (it has to be in a group to which the user has access). Optionally, you can use +AREANAME. -AREANAME This will disconnect the user from the area with the name "AREANAME". A user can always disconnect an area, even if he no longer has access to connect it. %+ALL This will connect the user to all the areas to which he has access. %-ALL This will disconnect the user from all the areas to which he is connected. %PASSIVE This will stop WaterGate from sending messages to this user. WaterGate Manual Using Areafix and newsfix Page 111 --------------------------------------------------------------------- This is especially useful when the user goes on a holiday, for example, and doesn't want to have messages pile up. This will not affect netmail or mail messages. %ACTIVE If a node is ready to receive messages again, he can issue this command, after which WaterGate will resume preparing mail for this user. %FROM If a user is allowed to do remote maintenance (see User Configuration), then all modifications following the %FROM line, will be made to the user specified in . Multiple %FROM lines may be used in messages. If anything goes wrong (e.g., a user with does not exist), all further commands are ignored until the end of the message or another %FROM line. Note: this option is currently (version 0.92) disabled. %HELP The user can issue this command to request help. WaterGate will send a short list of all the commands that the user can use. If the user is allowed to use a special AreaFix command, it will also be shown. %QUERY This will send a list of all the areas to which the user is currently connected. The areas will be grouped and sorted, and the list will also indicate whether a group is read-only. %LIST WaterGate will create a list of all areas available to the node and send it. The areas will be grouped and sorted, with the descriptions of the areas from the Comment field in the area record. See the section " The text files " for information about the .TXT files you can use to override the standard help message and the headers and footers of the lists. You can also use the old style query and list requests: putting -Q or -L after your password, with a space in between. WaterGate Manual Automatic file encoding / decoding Page 112 --------------------------------------------------------------------- Automatic file encoding / decoding ---------------------------------- To send files to other users in FidoNet, you can use file attaches. To send files to other users on the Internet or attached to an article in a newsgroup, you encode the file and store it in the body of the message. An encoded files in a message can look like this: begin 666 wtrutil.dif M1$E&7U8U5U12551)3"Y%6$4@\"@"`.'(W\2=A(@@`0```/__```!`/____\! >`/$H`````````(`=`6,#`@#E`6(#`@"M`6$#`@`` ` end This is a so called "UU-encoded" file. The strange format is done because most news articles and e-mail messages can only contain 7-bit characters and no control characters or high-ASCII. A binary files contains a lot of 8-bit codes so this cannot be put into a message directly. How it works ------------ UU-encoding takes a group of 8-bits codes and converts it to four 6-bit codes. These 6 bits are then encoded in the message using 64 (2^6) characters, amongst which A-Z, 0-9 and some others. The difference between UU-encoding, XX-encoding and MIME encoding is basically the set of 64 characters used. There are different reasons to use a certain character set, basically to become independent of the transport mechanisms between the sender and recipient. Encoding files -------------- To help you send files along to other users on the Internet, WaterGate has the ability to automatically UU-encode an attached file when it gates a netmail message to an e-mail. All you have to do is write a netmail that will be gated and attach the file to that netmail (using a file attach). WaterGate currently never deletes the gated files. Automatically gated files from your downlinks will be deleted in the future though. The internal decoder is smart enough not to encode files that don't contain 8-bit codes, for example plain text files. Decoding files -------------- WaterGate can detect and extract an encoded file from a message when it writes the message to a message base. It can do this for all three types of message bases. WaterGate Manual Automatic file encoding / decoding Page 113 --------------------------------------------------------------------- Decoding files is only done when you have specifically told WaterGate to do it for that area. For netmail it only decodes files for messages addressed to your system. It will never decode files for your users. This requires some more support that will follow in the future. Each area can be configured to have its own path where the decoded files will be stored. This way you can keep the decoded files nicely separated per area. Notice that decoding takes place when the message is imported into the message base, thus not when the message is gated from e-mail to netmail or news to echomail. This was done with several reasons in mind: the same message will be sent to several users, imported into an area and possible distributed via a mailing list. Not all "targets" want this file extracted, so it is extracted when the message is imported. This means that an echomail or netmail message that contains a valid encoded file, but did not arrive via the Internet, can be decoded by WaterGate when that message is imported. If you are a Fidonet style user underneath some gateway, then you can now decode the files from messages you receive from that gateway! Look for the options "Decode files" and "Files path" in the Area definitions and Fido message bases setup to enable the automatic decoding. Tip: I have disabled decoding of files for my primary netmail area, but I have set up a Private Scan for my personal mail and connected it to a *.MSG base and enabled decoding on that message base. WaterGate Manual Customizing messages Page 114 --------------------------------------------------------------------- Customizing messages -------------------- WaterGate allows a great deal of flexibility in the language it uses towards your users. You can configure almost every aspect by two means: the language file and text response files. Using this, you can change all replies to your local language, for example. WaterGate Manual Customizing messages Page 115 --------------------------------------------------------------------- The language file ----------------- This is the WTRGATE.LNG text file in your WaterGate system directory. Each "language line" contains a number, followed by text. Apart from that, you can have empty lines and comment lines, which start with a semi-colon (;). The numbers in the language file are fixed and all numbers must be present, or else WaterGate won't start. Unknown numbers or duplicate entries are reported in the log file. The text part of the language line can contain tokens that will be replaced with the real item when the line is used. These tokens are @1@, @2@ and so on. There is no complete description of each language line, when it is used and what the tokens will be replaced with. Most of the lines are self-explanatory and the tokens can be guessed. You will find helping comments in the language file where the tokens are not directly clear. WaterGate Manual Customizing messages Page 116 --------------------------------------------------------------------- The text files -------------- Text files are optional. They have special names and the extension .TXT and are stored in the sub-directory TXTS of the WaterGate System directory, for example C:\WTRGATE\TXTS\. When present, these special files are used by WaterGate instead of the standard internal response messages, which are most of the time just one line. With these text files you can customize WaterGate's responses, put in more details about the response and of course translate them to your own language, if you which. Apart from text, you can use special so-called "tokens" in these text files. WaterGate replaces these tokens with special items, like the current date, etc. But before getting to the tokens, let's have a look at the different .TXT files. Filenames --------- Currently, the following .TXT files are supported. Everywhere you see "AreaFix", you can also substitute "newsfix". AFLSRHDR.TXT AreaFix LiSt Request HeaDeR. Sent as the header of an AreaFix %LIST request reply-message. AFLSRFTR.TXT AreaFix LiSt Request FooTeR. Sent as the footer of an AreaFix %LIST request reply-message. AFQRRHDR.TXT AreaFix QueRy Request HeaDeR. Sent as the header of an Area Manager %QUERY request reply-message. AFQRRFTR.TXT AreaFix QueRy Request FooTeR. Sent as the footer of an Area Manager %QUERY request reply-message. BNCFIDO.TXT BouNCe FIDO. Sent when WaterGate is unable to transport a Fido message. BNCGATE.TXT BouNCe GATEway. Sent when WaterGate is unable to transport a message through the gateway, such as when a FORBID-FIDO statement in the ROUTE.TDB file prevents this user from using the gateway. UNKAFUSR.TXT UNKnown AreaFix USeR. WaterGate Manual Customizing messages Page 117 --------------------------------------------------------------------- Sent when an unknown user sends a message to AreaFix. A user must be defined in the userbase to use AreaFix. WRNGAPWD.TXT WRoNG AreaFix PassWorD. Sent when an invalid password was found in a message to AreaFix. This is not sent back to the sending user, but to the SysOp of that system. LISTHELP.TXT Help file for a HELP command in a message to the List Server. LISTHDR.TXT LIST HeaDeR. The header of the message created in response to a LIST command in a message to the List Server. LISTFTR.TXT LIST FooTeR. The footer of the message created in response to a LIST command in a message to the List Server. The following two files are not shared by AreaFix and newsfix; each has a separate file, so you can explain how to address AreaFix or newsfix and use the terms "echomail" and "newsgroups". AREAFIX.TXT Sent as a response to a %HELP request for AreaFix. NEWSFIX.TXT Sent as a response to a %HELP request for newsfix. Tokens ------ Each .TXT file may contain any of the tokens listed below, although some may be empty when used. PASSWORD, for example, will be an empty string when not used in conjunction with WRNGAPWD.TXT. FirstUserName Message sender's first name LastUserName Message sender's last name UserName Message sender's full name Subject Subject of sent message Password AreaFix password found Date Current system date WaterGate Manual Customizing messages Page 118 --------------------------------------------------------------------- Time Current system time WeekDay Current day of the week FromAddress Address used by the original sender ToAddress Address used by us for the reply SysOp SysOp name found in the configuration SysopFirst Sysop's first name AreaName Current message area PID Our program ID (WaterGate) Version Current program revision (0.92) To use a token, put it between @ characters. For example, if you want to use the SysOp token, put the string @Sysop@ in your textfile. WaterGate Manual Using a secondary tosser Page 119 --------------------------------------------------------------------- Using a secondary tosser ------------------------ This chapter explains how to use a second tosser together with WaterGate, as we receive a lot of questions about this. Several options --------------- You might have a perfectly running FidoNet setup right now, with a tosser that takes care of your complete distribution. Now, you also want to connect to UUCP, and you want to use WaterGate to do this, but you don't want to replace your complete system. This is perfectly possible. You can configure WaterGate to do all the translation work between Internet/Usenet (in UUCP, SMTP or BAG formats) and FidoNet while your other tosser continues to take care of the distribution to all your nodes and points. Even more simple and possible is to use WaterGate for the translation of newsgroups and to toss them directly into your message bases for the BBS and not to distribute them to your points or to other nodes. The best thing to do is to use a different zone for the newsgroups. waterGate will have its own node number and it will be very clear that netmail messages sent to that one address are going to another network, in this case to the Internet. The basic construction ---------------------- In WaterGate you define the node number for WaterGate under System Configuration. Then create a user (User Definitions) that represents your other tosser and fill in the correct node number. Give this user access to the necessary group(s) and connect a few areas. You of course have to define a few areas first. In your other tosser you also define a user that represents WaterGate, with the correct node number and connected to the necessary areas. You, of course, have also created a user in WaterGate that represents your Internet/Usenet provider and connected this user to the areas that will be delivered. If you have now received some newsgroups from your provider, then start WTRGATE.EXE with the correct command line options (UUCP in most cases) to process these newsgroups. The user record for the provider makes it that the newsgroups arrive in the system and the user record for the other tosser makes it that the newsgroups are translated into echomail and sent out again as a .PKT file. WaterGate Manual Using a secondary tosser Page 120 --------------------------------------------------------------------- Connecting the inbound and outbound directories ----------------------------------------------- Next you need to connect WaterGate's outbound to the inbound of your current tosser. Be careful not to set these to the same directory! If you do, when WaterGate creates a .PKT file it might overwrite an already present .PKT file in that directory. It is also dangerous to just copy all the .PKT files from WaterGate's outbound to your tosser's inbound directory, again because you might overwrite an already present .PKT file. The best way to solve this is to let WaterGate create an archive, then copy this file to the inbound of your tosser and let your tosser extract the archive when it is ready for it. If it is a good tosser, it first processes all the .PKT files in the inbound directory and then starts to extract an archive, process all the .PKT files again, etc. so problems with .PKT filenames don't occur. I hear you saying: but archiving takes a long time. You can force the compression factor to 0, so your archiver just puts all the .PKT files together. ARJ has the option -m0 for this. And, since there is no other point or node for which WaterGate has to create archives (with ARJ), it is no problem to change the arguments for ARJ. If you do want to use ARJ for a node anyway, you might also use the OP1 option to compress for your other tosser and put the special command line arguments there. On the way back, you can simply copy the .PKT files to WaterGate's inbound, but you probably don't know the names of these .PKT files because these are taken randomly. So, you have to archive everything again. Don't point WaterGate's inbound directory to your other tosser's outbound directory, because WaterGate processes every archive it finds! Including MailTunnel -------------------- If you want to use the MailTunnel functionality in combination with a secondary tosser, then you should consider the following. WaterGate is currently not capable of detecting that an inbound .PKT file is for a Mail Tunnel user. So, you will have to route the netmails to the WaterGate system and send all echos as well. You then create the a normal FidoNet style user, connect the areas and set up the MailTunnel configuration in the ROUTE.TDB file. Future version of WaterGate will have better support for this. WaterGate Manual Statistical information Page 121 --------------------------------------------------------------------- Statistical information ----------------------- To let you know what passes through your system, WaterGate keeps track of all mail that passes through your system. It counts the size and amount of all messages - both received and sent - and stores that information in a separate logfile, called WTRGATE.STA by default. This file is located in the same directory you choose for the logfile. It also uses the name of the logfile, but with the extension .STA. New information is appended to it after each run of WaterGate. Format of the WTRGATE.STA file ------------------------------ A sample entry: Statistics report of toss on Mon 05 Jun 1995 21:37:54 m 1952 dutchman@mbh.network.nl (Jaap Aap%2:280/802.6) m 1210 sysop@waste.bin.network.nl (Jaap Aap%2:280/802.6) n 894 Jaap Aap%2:280/802.6 (dutchman@mbh.network.nl) u 0 0 0 0 0 0 0 49546 2:512/17@fidonet.org (Piet Hein) v 0 0 0 0 0 0 0 14 2:512/17@fidonet.org (Piet Hein) u 0 0 0 0 0 0 0 2263 LOCAL v 0 0 0 0 0 0 0 1 LOCAL b 2263 1 WLINK.TEST b 12778 3 HOLLAND.SYSOP b 733 1 POINTS.028 b 3124 2 OVERIG.028 b 6328 5 FS.028 b 643 1 FDECHO.028 b 3309 2 ALT.BBS.WATERGATE The first line contains the date and time of the run. When a new statistics file is started, WaterGate will write a short explanation of the different lines, so the first line could be followed by a number of information lines, but these all start with a space. Each line that starts with the letter 'u' or 'v' contains information about a user that sent or received messages during the run. Only users that either sent or received messages are shown. The 'u' lines holds the number of bytes sent/received and the 'v' line holds the number of messages sent/received. Each 'u' or 'v' line has the following fields: MailTo UUCP mail sent to this node. MailFrom UUCP mail received from this node. NewsTo UUCP news sent to this node. WaterGate Manual Statistical information Page 122 --------------------------------------------------------------------- NewsFrom UUCP news sent received from this node. NetTo FidoNet netmail sent to this node. NetFrom FidoNet netmail received from this node. EchoTo FidoNet echomail sent to this node. EchoFrom FidoNet echomail received from this node. Name User identification, plus SysOp name or UUCPname between the braces. Messages that originate from a messagebase are counted as "LOCAL". The flow of messages in each area is shown in the 'b' lines. The old 'a' lines are now obsolete and not produced anymore. Every 'b' line contains the traffic in that area in number of bytes and number of messages and the name(s) of the area. Again, only areas that had any traffic are shown. When an area has a different name for FidoNet and UUCP, then the UUCP name is listed as second name as well. The exact format of the 'b' line is: "b" space space space [space ] Between the [ and ] is optional. Each netmail and mail message passing through your system is tracked in the 'm' (mail) and 'n' (netmail) lines. This is information on netmail and mail messages and their size. The MsgTo and MsgFrom field contain the destination and source address of the message, for fido messages as username%fidoaddr and for UUCP messages as user@domain. The WtrStat program ------------------- You can use WTRSTAT.EXE, included in the WaterGate archive, to process the statistics file and make ASCII graphs of the message traffic passing through your system. If you want graphs number 1, 2, and 3 created, you can start the program with the following command: C:\MAIL\LOGS>wtrstat wtrgate.sta 1 2 3 WTRSTAT will create the files GRAPH1.TXT, GRAPH2.TXT, and GRAPH3.TXT in the program startup directory. WaterGate Manual Statistical information Page 123 --------------------------------------------------------------------- Possible graphs --------------- The program is capable of proceeding eight different graphs: 1. Message traffic in each of the areas. 2. Volume and a graphical overview of the traffic from this system to each other system. 3. Volume and a graphical overview of the traffic from each other system to this system. 4. Flow in each area and the total flow in all of the areas, for as far as there has been a flow in those areas. Graphs 5 through 8 are the same as graphs 1 through 4, but hold the information in number of messages, instead of number of (kilo)bytes. Command line options -------------------- The program accepts a number of options as well. Options have to be preceded with a forward slash (/) or dash (-). The following options can be used: -Dn "Days". Makes a report for the last days, starting to count with today=1. -D1 creates a report over today, up to the last data added. -D7 creates a report for the last week, including today. -A "Amount". Sorts the area listing in graph 4 or 8 by amount, in descending order. The area with the highest number of messages or bytes is shown first, and so on. -N "Name" With this option you can tell WtrStat to use the UUCP area name in graphs 4 and 8, instead of the FidoNet areaname. The WtrStat program will first get and check all the command line options, then read the statistics file to gather all the information and finally create all the requested graphs. WaterGate Manual WtrTest Page 124 --------------------------------------------------------------------- Configuration testing with WtrTest ---------------------------------- The program WtrTest can be used to simply test your WaterGate setup. You can use it to simulate a netmail or e-mail and then simulate the processing and whether everything works as expected. WtrTest contains most of the code WtrGate uses, but doesn't touch the message bases, inbound, outbound, spool directories and the like. Instead, it sets up a netmail or e-mail as it would be after arriving at your system and then processes it. The log file shows exactly what happens to the message. Notice that WtrTest is a rather technical and powerful program, but you can't damage anything. You just learn and debug your configs. After starting WtrTest you select from a short menu to either simulate a netmail or simulate an e-mail. Simulating a netmail -------------------- For the netmail you can fill in the following fields: From User You type in the user name as it would show on the From line of a netmail message. From AKA This is the node number of the system on which the message was created. To User The name of the user who is to receive the message. If you want to test the gateway, then you can type an e-mail address here, or else address it to the user "UUCP" (providing you havn't changed the gateway user). To AKA The node number of the system where the message must be processed. You usually set this to one of your own node numbers. To: line If you send a netmail to a gateway (like WaterGate), then you can put the e-mail address of the recipient on the first line of the message, preceeded by "To: ". You can simulate this by typing the e-mail address here. This is an optional field. You then press F10 and WtrTest will process the message. If you have enabled debug logging in WtrConf then you will see each step the message takes until it finally is ready to leave your system again. At that point WtrTest tells you where it would go and what the important parameters were. WaterGate Manual WtrTest Page 125 --------------------------------------------------------------------- Simulating an e-mail -------------------- For the e-mail you want to simulate you can fill in the following fields: .X file: rmail Fill in the e-mail address of the recipient of this message as it would show when a .X file is received with UUCP. You could type in your own e-mail address. This is the most important information for WtrGate when it receives a message. Notice that you can test the full e-mail address lookup function by typing in a user name without the @ and domain address. .D file: To: Type the contents of the To: header as you would find it in the .D file you received using UUCP. This information is used by WaterGate when it gates the message to FidoNet format. The full name is extracted from this line (if present). An example of this line would could be "ramon@wsd.wline.se (Ramon van der Winkel)". This e-mail address normally matches the one you typed in in the previous line. .D file: From: This is the e-mail address and full name (same format as the previous line) of the one sending this e-mail. This can be any address and the information is used when bouncing a message or gating it to FidoNet format. After filling in all the fields you press F10 to start the simulation. WaterGate Manual WtrTest Page 126 --------------------------------------------------------------------- Routing tables -------------- There is one more menu option in WtrTest called "Routing tables". If you select this option then WtrTest will show you a list with the three important tables that control the mapping of addresses and routing of e-mails to the correct domains. The first table it shows is directly related to the MAP-FIDO statements. The second contains the MAP-UUCP statements and the third the ROUTE-UUCP statements. The reason for showing these tables is because WtrGate automatically adds some of these statements with information it extracts from the user records. A lot of people don't know this and they add unnecessary MAP-UUCP statements. Also, if you run into trouble with a certain address, then you can track these tables and see what WaterGate exactly uses for the decision making. WaterGate Manual WtrUtil Page 127 --------------------------------------------------------------------- WtrUtil ------- WaterGate comes with a maintenance utility program called WtrUtil that you can use to trim message bases, the log files and WaterGate's own databases. To do this, you start WtrUtil and simply select one of the options from the menu. Alternatively, you can use command line options to start on of the options from - for example - a batchfile. Using the same command line functionality, you can also tell WtrUtil to only work on areas that are in a certain group or a certain set of groups. That way, you can limit the number of areas involved. See the section on command line options for details. WaterGate Manual WtrUtil Page 128 --------------------------------------------------------------------- Message base maintenance ------------------------ Regarding message bases it can perform four important tasks: - Link - Re-index - Renumber - Purge Link ---- To allow your BBS program or message editor to follow discussion threads in a certain area, you need to have your messages linked together. This basically means that one message points to the next one. You can use WtrUtil to link all message in all areas you have configured in WtrConf with a *.MSG, JAM or Squish message base selected. WtrUtil uses different techniques to link messages, depending on the capabilities of a message base type. Usually the MSGID and REPLYID kludges are used. Re-index -------- JAM and Squish message bases have an index file that allows your editor or BBS program to bring up a list of the messages present in an area, without browsing every single message. It is sometimes necessary to reconstruct these index files, and you can do that with WtrUtil. Renumber -------- If a add a message to an area, it gets a message number. Normally, every new messages gets the next highest message number. If you then delete a lot of messages, you get gaps that cannot be reused. You can use WtrUtil to renumber all the messages in an area so they get sequential numbers again, starting with one. This also prevents an overflow of the highest possible message number. In case of JAM, the index file has an entry for each message number, whether an actual message with that number is present or not. This means it costs disk space (only eight bytes per message number though) for not present messages. It can save some disk spaces to renumber your area. WtrUtil advises you to do so during an Index or Purge action if it finds a gap of at least 8k (1000 messages) in the index file. The gap from 1 to the first actually message doesn't "cost" any space though. WaterGate Manual WtrUtil Page 129 --------------------------------------------------------------------- At this moment you can only renumber *.MSG and JAM areas. Purge ----- You can't just keep on getting new message in a certain area. You wouldn't have the harddisk space to store them. So, you have to delete some messages every now and then. But if you delete messages, you get unused gaps in the message base, which you have to get rid of as well. You can use WtrUtil to do all that automatically. It removes messages that have been deleted and recovers the storage space. You can also let WtrUtil delete messages that are too old (more than n days old), or simply set an upper limit on the number of messages you want to keep in an area. You set the maximum age of a message and the maximum number of messages you want in a messages base in WtrConf under the area definition. WtrUtil reads that information. The Squish and *.MSG purge code is a bit hard when deleting messages by number. *.MSG deletes the oldest message numbers and Squish the first ones in the base. Only JAM scans the base again and kills the oldest messages (by date), instead of the first ones in the base. WaterGate Manual WtrUtil Page 130 --------------------------------------------------------------------- Log file and statistics file maintenance ---------------------------------------- You can use WtrUtil to trim the size of the WaterGate log file and statistics file. This functionality is called "shrinking" and you tell it the number of days of history you want to keep. For example, telling it to "shrink 6" keeps today's information plus six days of history. There are different option for shrinking the log file and the statistics file. Here are some examples: WTRUTIL SHRINKLOG 6 WTRUTIL SHRINKSTA 14 It is advisable, especially when you have just started with WtrGate, to enable Debug Logging (all possible information) and to put a shrinklog statement in a batch file to keep the log file from growing enormous. WaterGate Manual WtrUtil Page 131 --------------------------------------------------------------------- WaterGate's Databases --------------------- WaterGate's uses a number of database files where it keeps all the configuration information: system setup, users, areas, groups, mailing lists, which user wants which area, etc. These databases are in binary format and you need the WtrConf program to make changes, although WtrGate updates information as well. For example, when a user connects an area using the built in AreaFix Manager or subscribes to a mailing list with the Mailing List Server. When you delete users and areas, or when you unsubscribe users or areas, then WaterGate doesn't re-use the space because it would require additional information and processing time. It is so much easier to simply add new information at the end of the database. To clean up these gaps, you use the Databases Maintenance option built into WtrUtil. It basically creates a new database and removes the empty space. Apart from that, it does a few other important things. Pack databases has built in detection for some forms of corruption in the database structure. It can detect short loops in subscription lists (list of areas a user is subscribed to) and doesn't hang. Instead, it scans all the areas to see what the rest of the list should be and restores that list. Notice that WtrConf contains the same kind of detection mechanisms and warns you that it can't continue and you should pack the databases immediately. You start this option by selecting "Pack Databases" from the menu or by typing the following on the command line. WTRUTIL DATABASE To safe a bit of time, you can prevent WtrUtil from sorting the areas by adding the command line option -NOSORT. This is mainly intended for very slow systems with a lot of areas. Faster systems should always sort the areas. This is especially important if you have a lot of areas, because WtrConf sorts the areas when presenting a list and that can take a bit of time as well. Pre-sorting with WtrUtil saves you from waiting while WtrConf sorts that list with 3000 areas. The databases are AREABASE.TDB, USERBASE.TDB, SUBSCRIPT.TDB, LISTSRV.TDB, GROUPS.TDB and WTRCFG.TDB. A copy of packed databases is kept in .OLD files. WaterGate Manual Overlaid WtrGate Page 132 --------------------------------------------------------------------- Overlaid WtrGate ---------------- WTRGATE.EXE is quite big (over 350kB) and with only 640kB of conventional ("low") memory you can run into problems. WaterGate requires about 450 to 500kB of free low memory or it won't even start. While processing messages, it needs the low memory as well to store a transient message in. If the message is too big for the amount of free memory, then it will use the swapfile, but that means an overhead for swapping the message out and reading it back later on. Some people simply don't have 450kB of free memory because they use (for example) DesqView. A special version of WtrGate was created for these users: WTRGATEO.EXE, which uses the overlay file WTRGATEO.OVR. What is an overlay file? ------------------------ Normally a program is completely loaded into memory when you run it and all code sits there and occupies memory space, whether it is used or not. The overlay version only loads code permanently that is used a lot. The rest is in the .OVR file instead of the .EXE file. Blocks of code that are needed are loaded from the .OVR file and discarded (removed from memory) if other code has to be loaded. Multiple blocks of code can be loaded at once for efficiency and the most used blocks of code will be kept as long as possible. Loading and discarding blocks of code costs a bit of time and disk access. WTRGATEO.EXE is 200kB smaller as the full blown executable and the rest is kept in the overlay file WTRGATEO.OVR. Of these extra 200kB of low memory you get, 80kB is normally reserved to load bits of pieces of code into. This means that you get 125k more free low memory for storing messages or loading other programs into. To reduce disk access, the overlay version tries to load the .OVR file into EMS memory so it can copy pieces of code from memory instead of loading it from disk all the time. So, if you have some EMS memory installed, then WtrGate/O will use that automatically. If you are using DesqView or a real OS, then you are able to set the amount of EMS a dos box gets, so you can enable the loading of the .OVR file into EMS. Tuning parameters ----------------- If the .OVR file is used a lot (depending on your configuration), then the processing slows down a lot. WtrGate/O writes a line to the logfile when you exit the program to indicate the number of loads from the .OVR file. If this number is high (>250) then you might want to increase the 80kB low memory region that is used to load blocks of code into. WaterGate Manual Overlaid WtrGate Page 133 --------------------------------------------------------------------- You can use -OVR25K and -OVR50K on the command line to increase the memory area a bit. This should reduce the load counter, but never to 0 though. WaterGate Manual Translating from other programs Page 134 --------------------------------------------------------------------- Translating from other programs ------------------------------- WaterGate is capable of adding information to its userbase and areabase from other programs. Currently, it can directly process information from GEcho, Waffle, and Squish. To do this, start the "WTRCONF" program and select the "Import/Export" menu option. WaterGate Manual Translating from other programs Page 135 --------------------------------------------------------------------- Adding information from GEcho v1.02 ----------------------------------- First select the "Import GEcho Nodes file NODEFILE.GE" option. This will read all node information stored by GEcho and add this information to the WaterGate userbase. You have to do this first because without this node information WaterGate is unable to add these nodes to the area lists when using the "Import GEcho Areas file AREAFILE.GE" that you can use next. WaterGate Manual Translating from other programs Page 136 --------------------------------------------------------------------- Adding information from Waffle ------------------------------ First select the "Import Usenet newsgroups file", this file is usually located in your waffle\system directory and contains a listing of all the areas available on your system. A typical file looks like : # All Areas that I ever want to read (Not!) # COMP.BBS.PROGRAMS COMP.BBS.NONEWBBS /mod=jaap@aap.network.nl Next import the SYSTEMS file, containing the names of all systems that are directly linked to your system. A typical SYSTEMS file entry looks like: steambt Any g modemx tosystem 02995-9111 myid password All information about mail that needs to be sent through another system is located in the PATHS file, usually located in the "WAFFLE\UUCP" directory. Use "Import Usenet Paths" file to import this information. To add areas for certain users, select "Import UUCICO Feeds". This file contains information about all users connected to certain areas. A typical entry is: steambk /batch comp.bbs.*,alt.bbs.* steambt /batch * WaterGate Manual Translating from other programs Page 137 --------------------------------------------------------------------- Adding Information from Squish ------------------------------ WaterGate is capable of scanning a Squish configuration file (usually SQUISH.CFG) for 'EchoArea' lines. A typical Squish EchoArea entry: EchoArea MUFFIN D:\WTRGATE\SQUISH\MUFFIN -$ -$m200 -$d5 EchoArea POINTS.028 D:\WTRGATE\SQUISH\PNT028 -$ -$m200 -$d5 WaterGate understands the -$, -0 and -F area types, to indicate a Squish, passthrough and *.MSG area style. In addition, the -J switch is also used to indicate JAM style areas. When using the "Export Squish like Area config", as a non-standard addition, JAM areas are also exported using this '-J' option, but each line is preceded with a ';' to make sure other programs ignore those lines. The "Import/Export" menu has another option, called "Import AREAS.BBS file", which is useful if you want to delete a certain node from a list of areas without using the normal 'tag & delete' options. You can use another program to prepare a file containing a list of areas that have to be added or deleted. When you select a file, you are asked for which user you want to make these modifications. The format of the input file: +ARENA ; Add an area +CHESS.INT ; Add an area -POINTS.028 ; Delete an area .... ; etc etc Note: No '%' commands for normal AreaFix operation are available. WaterGate Manual Command line parameters Page 138 --------------------------------------------------------------------- Command line parameters ----------------------- WTRGATE.EXE ----------- This is the main program. It must be correctly configured to run; the program will exit if it is unable to initialize. To create new configuration files, or modify an existing configuration, use the WtrConf program. You can start WaterGate using a command line option or you can start it without one and select an option from the menu. Only a single command line option is available for each run. When scanning for outgoing Fido echomail messages, the program will look for an ECHOTOSS.LOG or ECHOMAIL.JAM file in its system directory, containing a listing of the areas it has to scan. ? Display a short help screen. SCAN Scans local message bases for outgoing messages. TOSS Toss received FidoNet from inbound. UUCP Toss received Usenet/Internet from spool directory. BAG Toss received BAG files. SMTP Toss received SMTP files from Mail Queue. -NONETSCAN Skip the scanning of all netmail areas for outgoing messages. The primary netmail area is stilled scanned for pending file attaches (FrontDoor mode only). This tells SCAN to check echo and local areas only. -NOECHOSCAN Skip the scanning of all echomail areas. A shorter alias for this option is -NOES. -NONETMAIL Do not route netmail messages; store them in the local netmail area instead. -NOEXPORT Do not export messages to other systems; only import local messages. WaterGate Manual Command line parameters Page 139 --------------------------------------------------------------------- -NOLOCAL Don't import local messages; only export them to up and downlinks. -NODUPE Force dupe checking off. -NOCHECK Force WaterGate to ignore the directory check at startup. -NONEWSTOSS Do not toss Usenet news batches, only e-mail. -KEEPFA Keep file attach netmail when the attached file cannot be found. This can used for busy LANs that report a file as "not found" when actually the LAN is to busy. -MEMUSAGE Report in the logfile the amount of memory used for each of the configuration table that are loaded at start-up. This will help you understand WaterGate's memory consumption. Errorlevel returns 0 on success or >1 on failure. WTRCONF.EXE ----------- You will need this program to configure WaterGate; it is capable of creating and modifying configuration files, including the areabase and userbase files. For more information see "Installing WaterGate". ? Show help screen. EXPORT_SQUISH file Exports a SQUISH.CFG file containing all areas defined in the configuration. Or use [file] to specify another file name. EXPORT_AREAS file Exports an AREAS.BBS file containing all areas defined in the configuration. Or use [file] to specify another file name. IGNORE_SYSTEMDIR WaterGate will ignore the System Directory as configured in WTRCFG.TDB. This allows you to use a configuration in an other directory than the original. Useful when checking somebody else's databases. Errorlevel returns 0 on success or >1 on failure. WTRUTIL.EXE ----------- WaterGate comes with a messagebase maintenance utility called WtrUtil. It can link messages in all area types; remove messages WaterGate Manual Command line parameters Page 140 --------------------------------------------------------------------- that are too old or over the maximum number of messages in an area; create new index files for both Squish and Jam bases; and renumber areas. You can start WtrUtil with command line options, or start it without one and simply select from the menu. ? Show all command line options. DATABASE Removes deleted entries and unused links from all WaterGate's configuration files, rebuild the databases and sort the areabase for faster access by WtrConf. Use -NOSORT to prevent the areabase from being sorted. INDEX Creates new index files for all Squish and JAM message bases. LINK Links messages in all areas. RENUM Renumbers all *.MSG areas. RENUMJAM Renumbers all JAM areas. PURGE Removes messages by number and date from all message bases. IMPORT This function imports messages from your *.MSG main netmail directory into a JAM or Squish netmail area. IMPORT AREANAME [Address] [-NoKill] AREANAME specifies the name of the netmail base to which the messages are to be imported. Address specifies the AKA to which the messages have to be addressed to be selected for import. This parameter is optional; if not specified all your AKA's are used. The -NoKill parameter ensures that the imported messages are not removed from your netmail directory, which is the default. SHRINKLOG n This function will clean the logfile and all leaving only today's plus n days of history, as supplied on the command line. For example, SHRINKLOG 6 will keep a whole week in the logfile. -NOSLICE Use this option to disable the time slicing support, in case it causes problems, or when you want to speed up processing without WaterGate Manual Command line parameters Page 141 --------------------------------------------------------------------- giving up time slices anymore. Errorlevel returns 0 on success or >1 on failure. Use the DATABASE option if you have removed large numbers of areas or users from your configuration. Letting them stay in the base only wastes memory and disk access time. Since WtrConf has to sort the list of area names all the times, you can speed up the editing work in WtrConf greatly by sorting the area base with WtrUtil on a regular basis, for example every night. Groups filter option -------------------- To limit the number of areas that WtrUtil processes during the INDEX, LINK, PURGE, RENUM and RENUMJAM options, you can add an extra command line argument to these options to tell WtrUtil which groups to process only. For example: WTRUTIL LINK Links messages in all areas. WTRUTIL LINK ABC Links messages in areas that are in one of the groups A B and C. Notice that the groups filter option only works when using the five functions from the command line. WaterGate Manual Appendixes Page 142 --------------------------------------------------------------------- Appendixes ---------- Appendix A: Message Bases ------------------------- If you receive messages, you will need a place to store them. WaterGate has built in support for three different messagebase types, each with its own characteristics. None of the supported bases puts more than one area into the same base, so if one area crashes for some reason, you won't lose more than just that area. Both the Squish base and the JAM base can be considered successors to the Hudson Message Base. The HMB was a replacement for the Fido *.MSG base, but its limit of 200 message areas and maximum size of 16Mb makes it somewhat outdated compared to the huge message traffic produced by the various networks today. The Hudson Message Base is not supported by WaterGate. Fido *.MSG ---------- This is the oldest format, and is defined by FTS-0001. This format needs a sub-directory for each defined area. Every message is put into a single file, so this format is not recommended for areas that receive lots of messages, especially when using standard DOS FAT formatted hard disks. These become incredibly slow when the number of files in a single directory exceeds 256. This type of base is compatible with almost any piece of software written for Fido. So you probably want to use it for your netmail directory, to allow other programs to easily insert messages. If you create a Fido *.MSG area, make sure you enter a valid directory name in the "Area path" field, with a terminating backslash. WaterGate Manual Appendixes Page 143 --------------------------------------------------------------------- Examples: C:\WSD\NETMAIL\ C:\WSD\NETMAIL\HISTORY\ Squish ------ Squish was designed in 1990 by Scott Dudley, and it is used in his Maximus BBS package and Squish mail processor. It uses 4 different files for each area: .SQD contains the messages and header information; .SQI contains an index to the messages in the SQD file; .SQL contains lastread pointers for BBS users; and .SQB contains dupecheck information. The SQB file is not used by WaterGate. A Squish base can contain up to 2^32 (2 to the 32nd power) messages, which should be enough for anybody. (Don't quote me on this one, please.) If it isn't, you probably have more serious problems. A Squish base can re-use space occupied by deleted messages without needing repacking, so you don't need to pack a Squish base as often as other types. If you set a maximum number of messages for a Squish area, WaterGate will automatically delete the oldest message. So, the area never contains more than the set number of messages. Don't set this number too low, because if WaterGate has to delete large numbers of messages in each run, performance will suffer. If you want maximum performance and don't care about disk space, just set the limit to 0 messages. If you use the Squish base for an area, the "Area Path" should contain a valid directory plus an 8 character area name. Don't use any extensions (.???) in the path and don't put a backslash at the end! WaterGate Manual Appendixes Page 144 --------------------------------------------------------------------- Examples: C:\BBS\SQUISH\ALTBBS for the area ALT.BBS C:\BBS\SQUISH\ALTBMISC for the area ALT.BBS.MISC etc. JAM --- JAM was designed in 1993 by Joaquim Homrighausen, Andrew Milner, Mats Birch, and Mats Wallin. Like Squish, it is designed to support up to 2^32 messages in a single message area and uses 4 different files. It uses a .JHR file to store header information; each header consists of a fixed part and a flexible part, depending on the message. Storing only a small part in the fixed header makes it relatively easy to add future enhancements to the message base. Each header contains a pointer into the .JDT file, which contains the actual message. The areabase is indexed in the .JDX file and lastread information is stored into the .JLR file. JAM has a (for Fido systems) new way of linking messages: instead of simply linking messages with the same subject, each message can have an unlimited number of replies to it, so that each reply is a reply to the original message. This way you can always see to which message a new message is a reply. WaterGate Manual Appendixes Page 145 --------------------------------------------------------------------- Example: 1 --- 2 --- 4 --- 5 | | | +---- 8 | +---- 3 --- 7 | +---- 6 Messages 2, 3, and 6 are a reply to message 1. Message 4 and 8 are a reply to message 2. Message 5 is a reply to message 4. Message 7 is a reply to message 3. If you use the JAM base for an area, the "Area Path" should contain a valid directory plus an 8 character area name. Don't use any extensions (.xxx) in the path and don't use a terminating backslash! WaterGate Manual Appendixes Page 146 --------------------------------------------------------------------- Examples: C:\BBS\JAM\ALTBBS for the area ALT.BBS C:\BBS\JAM\ALTBMISC for the area ALT.BBS.MISC etc. WaterGate Manual Appendixes Page 147 --------------------------------------------------------------------- Appendix B: Error codes ----------------------- Below is a description for most of the error numbers that WaterGate writes in the logfile. This should help you understand the error message better. Code Description 2 File not found 3 Path not found 4 Too many open files 5 File access denied 100 Disk read error 101 Disk write error 150 Disk is write-protected 158 Sector not found 200 Division by zero 202 Stack overflow error 216 General Protection fault WaterGate Manual Appendixes Page 148 --------------------------------------------------------------------- Appendix C: Trademarks ---------------------- All trademarks are owned by their respective owners, ARC,ZIP PkWare, Inc ARJ Robert K. Jung Binkley Bit Bucket Software Co. Fido Tom Jennings FrontDoor Joaquim Homrighausen, Absolute Solutions GEcho Gerard J. van der Land JAM (mbp) Joaquim Homrighausen, Andrew Milner, Mats Birch, Mats Wallin LHA Haruyasu Yoshizaka MS-DOS Microsoft Corporation PAK NoGate Consulting PC-DOS,OS/2 IBM Pentium Intel Squish,Maximus Scott J. Dudley TimEd Gerard van Essen Waffle DarkSide International MailTunnel Waterline Software Development WaterGate Manual Appendixes Page 149 --------------------------------------------------------------------- Appendix D: WaterGate Development --------------------------------- People sometimes ask me about the environment I use to develop WaterGate, so below follows a little explanation. - All code is written in Borland Pascal 7.0 on a Pentium 150Mhz/32MB/2G running Microsoft Windows '95. - The user interface is the so called "Ramon Unit" which I started about ten years ago. It is optimized for speed and handles all the menus, lists, field editing, help file, etc. - WaterGate is about 100 source files containing 70000 lines of code. - The manual is written in a HTML-like source format and compiled by two different programs into the final HTML version and the ASCII version. This allows me to maintain one set of documents and produce both manuals in a few seconds.