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 <username>@<domain address>, 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@<your first domain name> 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           <press enter to edit>     |
	| ASCII Conversion       <press enter to edit>     |
	| 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<point>.f<node>.n<net>.z<zone>.<first system domain address>

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<pointnr>.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 <tm>" 
(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 "<press enter to ...>". 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   <press enter to see list>     |
	| Allow Passive no YES                        |
	| Passive       NO yes                        |
	| Origin        BOFH is watching you!         |
	| Custom                                      |
	| Origin AKA    2:280/802                     |
	| Add SEEN-BY   <press enter to see list>     |
	| 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     <press enter to see list>           |
	| 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     <press enter to see list> |
	| 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     <press enter to see list>      |
	| 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    <enter to edit>                |
	| 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 <System_We_Route_Through> [<addresses> [...]]

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 <UUCP-name> <System-address>

where <UUCP-name> must be the UUCPname of one of your neighbors as 
defined in your userbase.

<System-address> 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 <System-address> 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 <System-address> 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 <UUCP-name> 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 <user name> <path to file>

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 
<user name> at any of your system domain addresses, for example 
watergate-info@wsd.wline.se.

For FidoNet, people have to send a netmail message to <user name> 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 <partial e-mail address> "Reason"
BOUNCEFROM <partial e-mail address> "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 <e-mail address> <directory>
SAVEFROM <partial e-mail address> <directory>

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 <letter>

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 <node number>

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 <addr>
     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 <addr>. Multiple 
     %FROM lines may be used in messages. If anything goes wrong 
     (e.g., a user with <addr> 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```/__```!`/____\!
<etc>
>`/$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 <flow in bytes> space <number of messages> space <fidonet area name> [space <uucp area name>]

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 <n> 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: <name>.SQD contains the messages and header 
information; <name>.SQI contains an index to the messages in the SQD 
file; <name>.SQL contains lastread pointers for BBS users; and 
<name>.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 <name>.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 <name>.JDT file, which contains 
the actual message. The areabase is indexed in the <name>.JDX file 
and lastread information is stored into the <name>.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.

