home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.wwiv.com
/
ftp.wwiv.com.zip
/
ftp.wwiv.com
/
pub
/
BBS
/
WG042894.ZIP
/
WTRGATE.DOC
< prev
next >
Wrap
Text File
|
1993-11-21
|
71KB
|
1,735 lines
W...W
W.W.W
.W.W.
WaterGate
Revision 0.02 Beta
Mailprocessor for Fido & Usenet
Documentation 20/11/93
(c) Copyright 1993 WaterLine Software Development
All Rights Reserved
Programming by Martijn Dijksterhuis
Ramon van der Winkel
Michel van.der.Laan
Contents
Features & Requirements ...................... 2
Introduction ................................. 3
Copyright notices ............................ 4
Installing WaterGate.......................... 5
Setting up the Fido System ................... 6
Setting up the Usenet System ................. 10
Private mail settings ........................ 13
Creating Areas ............................... 14
Adding Users ................................. 16
Gating Messages .............................. 20
Routing Netmail .............................. 23
Routing Usenet messages ...................... 24
Operating as a public UUCP-FIDO GateWay ...... 28
Using the Area Manager ....................... 29
Statistic Information ........................ 31
Translating from other programs .............. 32
Command line options : WtrGate.Exe ........... 34
Command line options : WtrConf.Exe ........... 35
Command line options : WtrUtil.Exe ........... 36
Appendix A : Using Tokens .................... 37
Appendix B : Message Base types .............. 38
Appendix C : Trademarks ...................... 41
Features
■ Fido & Usenet mail processing
■ Gateway between Usenet and Fidonet
■ Supports up to 65,000 areas and nodes
■ Support for *.MSG, Squish and JAM message bases
■ Built in remote Area Manager
■ Utility program to perform messagebase maintenance
Requirements
■ An IBM Compatible computer (XT/AT/386)
■ Ms-Dos, OS/2 or 100% compatible Operating System
■ At least 500Kb of available memory
■ Optional some XMS/EMS memory
■ Enough hard disk space depending
on your mail configuration
To effectively operate, you probably need a Fidonet compatible
mailer such as Frontdoor or Binkley term. Also if you want to
exchange mail with a Usenet compatible system, a program such
as UUCICO is needed. These programs should be available on
any major BBS or FTP site. Information about installing such
software is beyond the scope of this document.
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
Usenet, 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 Usenet.
It was written to simplify the process of connecting both
Fidonet and RFC822 compatible systems. By integrating the
three steps needed to build a Usenet/Fidonet host,
a) Processing Usenet messages, for us and other nodes
b) Translating Usenet messages into Fidonet format
Translating Fido format messages into Usenet Format
c) Processing the messages for other Fidonet systems and
importing them locally.
Since this is the first released Beta, (including this
document !) lots of testing has yet to be done. We would
appreciate all help and suggestions you can give us in finding
problems and missing features.
The Authors
The authors can be contacted at the following addresses:
BBS Waterland
The Netherlands +31-2990-40202
Martijn Dijksterhuis Fido : 2:280/802.6@Fidonet.org
Internet : martijnd@htsa.aha.nl
martijnd@dijkline.wlink.nl
Ramon van der Winkel Fido : 2:280/802.33@Fidonet.org
Michel van.der.Laan Fido : 2:280/802.16@Fidonet.org
Internet : MDVL@ET.TUDelft.NL
Michel@wlink.nl
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. 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 REGISTER.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 :
- Bussiness - 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.
Installing WaterGate
---------------------
Unpack the archive containing the program files into a new
directory on your harddisk.
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:\MAIL\WTRGATE
Then run the configuration program, WtrConf, to create new
configuration and database files.
From the main menu, enter "System Configuration" to setup
some global variables. The "System Settings" submenu allows
you to enter your name (Sysop), this field is used by
WaterGate when writing user-defined reply messages.
For more information see "Using the Area Manager"
and "Appendix A".
The System path is where all WaterGate programs look for the
Userbase and Areabase files, and write their logfiles to.
If you want WaterGate to check for duplicate messages, turn on
the "Dupe Checking" option, this will cause the program to
keep track of all messages that pass through the system. When
a duplicate message is found it will be destroyed by default.
(See also "Fido Messagebases" if you want to keep duplicate
messages) Enter the maximum number of messages you want to keep
track of in the "Dupe Checks" field.
* Note: Currently a maximum of 16000 dupes can be tracked
Because opening and closing a file takes up relatively much
time, WaterGate tries keep an outgoing mail bundle open for 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 you
can reduce this setting to 1, when you do export mail then try
increasing this number by 1 for each node. WaterGate is capa-
ble of using up to 250 file handles, if you have more nodes
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, so make sure you have a matching
number in your CONFIG.SYS :
FILES = 20 + Nodes + 10
WaterGate has the ability of storing 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.
Setting up the Fido system
--------------------------
Because WaterGate needs to know who you are, enter the "Fido
Aka's" submenu from the "System Configuration". Here you can
enter up to 10 different Fido addresses. The first fido-address
you enter will be your main fido-address. Optionally you can
specify an Fakenet or Pointnet number, only use this if you
have (or are one) points using old 3D Fidonet software,
which can't handle complete point addressing directly.
Such users should be defined in your userbase, using
their full fakenet address.
Main Pointnet
-----------------------------------------------------------
2:280/802@Fidonet.org 9999
60:100/1@wlink.nl
When using a fakenet, point 12 of your system should be
defined as 2:9999/12 in your UserBase, WaterGate will
recognize the fakenet when a mailbundle is received from
that point and convert it to a full 4D address internaly.
Choose which aka you want to use, when gating messages between
a Fidonet technology network and an RFC822 style network. You
can choose any from the 10 listed AKA's.
Because it's possible (and very probable) that an Internet
address does not fit inside the limited room of a Fidonet "To
User" field, you will have to define a 'fake' user that will
trigger the Fidonet to Usenet mail converter. Use the "Gateway
User" to define such a user. The default is "UUCP", which is
compatible with most Fidonet message editors capable of reply-
ing to gated messages. For more information on gating messages
see the "Gateway" chapter.
Fido Settings
-------------
Next, enter the "Fido Settings" menu. When Fidonet mail
bundles arrive at you 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 2 of such directories. Each
directory has a switch to toggle security on/off. When
security is ON for an inbound directory, 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, any password within the mail bundle is
ignored. A mail bundle from an unknown node will not be processed.
and renamed to "xxxxxxx.PWD" and logged.
New mail bundles created for Fido style nodes we send mail to
are put in the "Outbound" directory. For Binkley Term systems,
this is a Binkley 2.50 5D compatible outbound directory, with
support for Binkley point directories. WaterGate tries to
create Binkley subdirectories when needed. For Frontdoor
systems all outgoing mail bundles are stored in this
directory.
You can define up to 2 default Origin lines, which are
attached to messages exported from your local messagebases which
don't have one, or when messages are converted from Usenet to
Fidonet. You can define a different Origin line for each
Message Area, or choose one of the default lines.
Choose the type of mailer you use, if it's compatible with
Binkley Term, then choose "Binkley", if your mailer uses
Frontdoor compatible netmail-attach files, choose "Frontdoor".
Because many Fido mail processors have trouble processing
messages over 12Kb in size, WaterGate will split messages that
exceed the set maximum message length. Set this limit using
the "Max Msg Len" option. WaterGate itself is only limited by
available system memory, which is usually about 350Kb. If you
create a new Fidonet style node, you can give each node access
to a default number of areas. Just set a selection of areas
each Fido node should have access to. Ofcourse you can change
this for each node. See also "Creating a Fido Node".
Fido MessageBases
-----------------
Exit this menu, and enter the "Fido Message bases" sub-menu,
here you find some important settings for use with your local
message bases.
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 it off if you toss a lot of small mail
bundles containing only small amounts of new messages, and
save time this way. To link your message areas, you can also
use WtrUtil's 'Link All' option.
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.
The "Replace Tear" option is only available for registered
users, the setting is ignored for the unregistered version.
If set to ON the program will replace all tearlines it finds
in locally generated messages with its own setting. Tearlines
are also added to messages that are converted by WaterGate.
The result is something like:
--- WtrGate v0.02 Beta Unreg
--- WtrGate+ v0.02 Beta
Use the "Default number" option, to set the maximum number of
messages for every newly created area. Set this number to 0
if you don't want a maximum number of messages. The same goes
for the "Default days" option.
If you're smart, and hate unnecessary typing, enter the
directory you want your newly created message areas to be
put in under the "Default path" option. You then only have to add
an unique filename for each area. (See 'Adding Areas')
Toggle the "Auto Create Local" switch to ON if you want
WaterGate to create a new local messagebase for each new
area that is received from a node, for information on how
to allow a node to create new areas see "Creating a User".
To assure a unique name for either the file or directory used
for an autocreated messagebase area, WaterGate calculates a
CRC-32 code of the complete string that represents the area-name
and uses this as the file- or directory-name for that area.
Especially Usenet Newsgroups have long names (with their tree-like
newsgroup structure) and they are often not unique in the first
8 characters, where the many dots in the name form another problem.
So, rather than using a subdirectory-tree here, WaterGate derives
a 'codename' for the area. The only disadvantage of this is that
the real areaname cannot be determined from the base-name, other
then by consulting the configurationprogram again.
Since a Netmail messagebase is required by WaterGate, enter a
full path to it under "Netmail Path", you can choose to make
it currently either a Squish or a *.MSG base. Use "Netmail
type" to choose your preferred type. If your are using "Front-
door" 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 preferred.
By default duplicate messages dissapear without trace, but
if you want to know who is sending those duplicate messages
you can setup a separate messagebase. Set the "Dupe mail type"
to the base type you want to use, or select "None" to ignore
all dupes.
If you want to keep track of echomail messages that somehow go
wrong, 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 cleanup your Badmail.
Fido Compression Programs
-------------------------
WaterGate is capable of recognizing 6 of the most widely used
compression programs: ARC, ARJ, LZH, PAK, ZIP and ZOO.
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 the "Fido Compression Programs" option to enter the cor-
rect program names and options for each compression and decom-
pression program. A special option is 'OP1', usable if you
want to compress your mail using a program not known to Water-
Gate. There is of course no way for WaterGate to recognize and
decompress this sort of archives.
Setting up the Usenet System
----------------------------
If you don't have any connection with Usenet or a similar
network, you can perfectly use this program without entering
any options in this section. Ofcourse, we won't stop you...
First of all, who are you? WaterGate will append an
"Organization" line to all messages it creates that are sent
into Usenet, including messages originating in a Fidonet style
network. Enter a short line describing your organization or
company.
Organization: Sweet Bug & Company, Holland
Next, what is your UUCP name? It is assigned to you in
consultation with your network administrator. The maximum length
is 12 characters, 7 significant. Since most systems are
able to use domain addresses these days, so you probably have
one or more domain addresses as well. WaterGate supports up to
a maximum of 10 domain addresses.
UucpName: rubbish
Domains : rubbish.linknet.nl
rubbish.thehost.linknet.nl
rubbish.UUCP
WaterGate now accepts mail addressed to 'rubbish',
'rubbish.linknet.nl' , 'rubbish.thehost.linknet.nl' and
'rubbish.UUCP' as addressed to itself.
If you are a official Usenetnode, then your UUCP-name
automatically gives you a special domainname,
which is equal to <UUCPname>.UUCP
This implies that all over the world your system can
be addressed using: - bangpath-addresses with your UUCPname,
- Domain-address with <UUCPname>.UUCP
In the example above, this domain address would
be: rubbish.UUCP Therefor, it is wise to define this special
domain-address amongst your domain-addresses/AKAs, since
WaterGate will not use this by default (since it won't work if
you are not an official Usenet-node).
If WaterGate received a mail message that is not addressed to
any node it knows, it will try to send it to your smarthost,
UNLESS this mailmessage 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, and since we
don't know the adressee it does not exist.
Your smarthost is usually the system you receive your mailfeed
from. Even if that system is not capable of smartrouting, 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 Usenet style node for
the system you assign as your smarthost. A smarthost system is
always a direct neighbour to your system. For more information
about creating users, see "Creating Usenet Users".
Smarthost: thehost
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. For more information
about moderated newsgroups, see "Creating New Areas".
Backbone: Berkeley.EDU
When new Usenet users are created, you can connect them to a
default combination of area groups. Just selected the areas
you want using "Def. Groups"
Messages created by WaterGate contain a time field that is
created by using the system date and time, and add the
"Time Zone" string to it.
Time zone: GMT
results in:
19 Nov 1993 04:12:50 GMT
According to the RFC regulations, this field should contain
an offical TimeZone identifier. Many sites in Europe tend
to use 'CET' here, for 'Central European Time', commonly used
by European Cable- and sattelite stations such as Sky and
MTV-Europe. However, this is NOT an official TimeZone! Inste-
ad, European sites should use the Greenwich timezone identi-
fier, GMT with additional relativity. For European mainland,
this is GMT+1 in winters, and GMT+2 in summers (this is a
direct result of the fenomonum 'daylight savings').
Some people like to put foney timezone indentifiers here,
which may be tremendous fun, but correct mailhandling by your
smarthost or other mail-systems involved cannot be garanteed.
It will not bother WaterGate though.
By default, WaterGate will append messages to the same out-
going mail bundle for each Usenet node during one mail toss.
If you have downlinks that have trouble with large usenet
*.DAT files you might want to set the ".DAT Length" option.
WaterGate will then check if a Usenet mail bundle exceeds that
limit, close it and create a new one. A setting of "0" dis-
ables this option. The default is "200000" bytes, remember that
this is before compression !
WaterGate searches for incoming Usenet mail bundles in, and
writes outgoing bundles to, the "Spool path". Use UUCICO or a
similar program that is capable of communicating with other
Usenet style nodes to place its received bundles in this Spool
directories.
If you have "C:\MAIL\SPOOL" as your spoolpath, and receive mail
from a Usenet system called "thehost", WaterGate will check
the directory "C:\MAIL\SPOOL\THEHOST" for new mail.
WaterGate will try to create it if no such directory exists
at startup time.
Usenet Compression Programs
---------------------------
If WaterGate encounters compressed Usenet mail bundles, it
tries to decompress them, using the program set in the "Usenet
Compression Programs" menu. Also set the decompression program
and command line options here.
It is wise to define a decompressor here that can both handle
(and recognize) 12- and 16-bits compression. Watergate will
usually be able to free up enough memory to perform 16-bits
compression and decompression when shelling out to the
(de)compressor by swapping itself to XMS/EMS/Disk
Private mail settings
---------------------
Scanning through your mail areas, wondering if anybody wrote
you a message can become quit a tedious job if you receive
large numbers of different 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 Settings Menu"
Choose what kind of messagebase 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 !
WaterGate is capable of scanning for both messages TO or
FROM a certain user, or with a certain SUBJECT.
For example :
Search for In
------------------------------------------------------
Spock TO from subj
R2D2 to FROM subj
Why warp drives can fail at Warp 10 to from SUBJ
In this examples all messages for "Spock" are copied to
your private mail board, note that this match is case
insensitive. As do messages from "R2D2".
Creating Areas
--------------
WaterGate uses a database that stores all message areas you
receive in groups. Each area can be in multiple groups, up to
26 actually since that is the maximum number of groups.
For example, you have a local newsgroup called BBS.INFO and
you want all of your points and nodes to be able to read it.
Simply connect this area to the groups 'A' and 'B'. Everyone
who has access to either group A or B is be able to read this
area.
A Fidonet newsgroups
B Usenet newsgroups
C Local newsgroups
It is possible for Usenet and Fidonet style users to share the
same areas. If a Fidonet users writes a message in such a
area, WaterGate will translate the message into a form accep-
table for the Usenet user, and of course, the other way around
is also possible.
To manually add new message areas to your system, select "Area
Definitions" from the main menu. Then select the group you
want this area to be initially part of, and use the "Ins" key
to add a new area.
You can later change the groups from which this area can be
accessed by using the "In Groups" selection.
Now choose an Areaname for this new area, the area name should
be unique (!). You can add a single comment line, describing
this area. For example, describing the area "RUMOURS.028" you
could write "Nobody knows the truth". These descriptions are
shown when a user asks for a list of all areas using the built
in Area Manager (see also "Using Areafix").
To manually add users to an area, use the "Subscribers"
option, this will list all users that have access to one or
more of the groups selected using the "In Groups" selection.
Use Insert (INS) and Delete (DEL) to modify this list.
For each area you can choose an origin line, this can be
either one of the two default origin lines, or a "custom" one.
When you select the custom option, enter the origin line for
this area at the "Custom" option.
Select your AKA address for use with this area, using the
"Origin AKA" option. Locally originating messages without an
origin line use this AKA at the end. It is also attached to
SEEN-BY lines of messages passing through your system.
* Origin: The Red Fox jumps over the Blue Dog (2:280/802)
You can add additional addresses to the SEEN-BY lines, using
the "Add SEEN-BY" option. Tag the addresses you want to add.
If an area is Moderated within usenet, or at a Usenet style
site you know, then it is possible to add a moderator to an
area. Simply set "Moderated" to 'Usenet'. Any news message not
containing an 'Approved:' line in its header, is transformed
into a mail message and sent directly to the moderator. If no
moderator is defined for this newsgroup it is sent to the
BackBone. For example, a message in ALT.BBS.MODERATED.D is
sent to 'ALT-BBS-MODERATED-D@BackBone'.
If you are not sure about any of this, DON'T USE THIS OPTION,
let another system upstream take care of it. If you yourself,
or somebody you know moderates the area, enter your, his or
her address at the "Moderator" string.
If you want to import the messages into your local messageba-
se, then select the type of base you want to for this area
using the "Fido Base" option. And make sure you enter the
correct path to this base at the "Fido Path" entry. For more
information about each messagebase type see "Message Base
Types".
For each area, you can set the maximum number of days a messa-
ge is kept in the base using the "Fido Age" option. Use "0" if
you don't want to kill messages by age. Use "Fido Limit" to
set a limit to the maximum number of messages kept inside the
base. Use "0" for no limit.
You need to use the WtrUtil program to cleanup old messages
from your base. Except for the Squish base type, no killing is
done while tossing messages.
Adding Users
------------
You wouldn't be needing this program, if you had nobody to
send mail to. You can add or remove users using the "User
Definitions" option from the main menu. Use Insert (INS) to
add a user, or Delete (DEL) to delete one.
When adding a user to your system, you are asked whether the
user is a Usenet or Fidonet Style node. Depending on the type
of user, WaterGate knows what kind of outgoing mailbundles it
has to generate.
For each user, you can define the "Organization" description
to put in any message. If none is defined, the configured
system organization line is used instead. This option is
mostly used for messages translated from Fidonet into usenet.
A user can have access to more than one group and the user can
subscribe to any area in any of the listed groups. Use the
"Allowed Groups" option to modify the groups list. Use the
"Subscribed" to option to add or remove a user from a list of
groups. When adding an area to the user, only the areas the
user has access to are listed.
Each user needs to have a password for Areafix, or NewsFix as
it is called for Usenet nodes. You can assign one using the
Areafix/Newsfix option. If you don't want your up- or downlink
to know the password, set it to something unguessable like
"hihitheydontknow".
If a user will be going on a holiday for a while, he or she
can temporarily stop receiving messages from your system by
using the "%Passive" and "%Enable" option as an Areafix
command (See also using Areafix). You can manually change
this setting by using the "Passive" option, and see the
current setting from it.
You can allow a user to do limited remote maintenance by using
Areafix commands for other users, you can enable this option
for a user by setting the "Allow %FROM" option to ON. Since
this option can seriously mess up your configs when used by the
wrong person, only enable this for yourself or for co-sysops.
To save yourself a lot of extra typing work, you can allow
WaterGate to create new areas automatically when they are
received from certain systems. Newly created areas are always
put into Group 'Z'. To enable auto-creation for a node toggle
"New Area-Create" to ON.
You can assign a UUCP address and Domainnames to every node,
either Fido or Usenet. This way a Usenet node can directly
send a message to a Fidonode, while it appears it's actually
sent to another usenet node.
Example:
A Fidonode at 2:280/802, also know as 'BBS.NETWORK.NL' sends a
message to a usenet node at OTHERBBS.DOWORK.NL. WaterGate will
translate the netmail message into a mail message and the
following FROM: line:
From: User@BBS.NETWORK.NL (User)
If no Domainnames are defined, the Fidoaddress is 'translated'
and our own address is added :
From: User@f802.n280.z2.<Our_DomainAddress> (User)
When a message is returned by OTHERBBS.DOWORK.NL, WaterGate
accepts both address types, so a return mail message is recog-
nized and translated into a netmail for 2:280/802
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 define his own
set of systems he or she can process mail for.
For example, you have user 'bbs.network.nl', normally any
message sent to a sub-domain of this system would be bounced
to its sender, but by setting the 'Allow Sub-Domains' switch,
a message for 'ultiboard.bbs.network.nl' would be sent
through 'bbs.network.nl'.
If the UUCP-names you defined are official UUCP-names (worldwide
registered), then set the option "Wordwide Registered" to "Yes".
This will cause to add the UUCPname to the From_ (from-space)
line and the Path-line. If set to "No" then the first defined
domain-name is used instead. The From_ (from-space) line is used
for the distribution of News-messages. Unknown UUCP-names may cause
the message to be junked. Already registered UUCP-names will inhibit
the news-message from arriving at certain places in the network, since
the From_ line indicates it's already been there. This option is used
if you have nodes under you but whose UUCP-name is not officially
registered, which is often the case in Usenet-domains that have
several nodes but only one 'door' to the outside world.
Fido Options
------------
For a Fido node you need to enter a complete Fido address,
to identify that particular node.
Enter the name of de System Operator of the node, this name is
used to check whether an Areafix message was sent by the right
person.
If you want WaterGate to check for passwords in each received
Fidomail bundle from this node, enter a password at "Packet
password" If no password is defined, then any password found
in a packet is ignored. When a password fails WaterGate tries
to rename the bundle to *.PWD.
Choose the compression program the mail bundles for this Fido
node will be compressed with. Select PKT if you don't want to
use any compression. Make sure you have all used compression
programs available and in the path !
Then decide what type of flags you want to set for this node,
using the "Send Format" option. If you regularly call this
node, you would like to set it to NORMAL, if you want the
node to call and pickup his waiting mail set it to HOLD.
If you want to rush things, set it to CRASH. And if you
don't want to route this mailbundle via another node,
use the DIRECT flag. Of course, you'll have to configure
the way your mailer software (such as Binkley of Frontdoor)
responds to these flags.
Usenet Options
--------------
For each Usenet style node, the least you want to do is set
their UUCP name and domain names correctly.
Define a NewsFix password so the node can modify the areas
it is connected to. (see also "Using AreaFix/NewsFix")
In most cases, you want to choose to compress all outgoing
News bundles for a usenet node. Mail bundles are never
compressed. If selected, WaterGate will call the defined Usenet
compression program for each bundle. In most cases you want to
add a CunBatch string to the compressed mailbundle, to make
sure the receiving program (such as RNEWS, or WaterGate) can detect
whether the bundle is compressed or not.
Gating Messages,... Netmail, Echomail , Mail & News .....
---------------------------------------------------------
Translating News and Echomail messages is done automatically
when it is needed, for instance when a news message is recei-
ved in an area that was sent by a Usenet node, and there is a
Fido node connected to the area. WaterGate will translate
address information and create a Fidonet echomail message.
That message is then sent to the Fido node.
Of course, the same will happen the other way around. With the
difference that WaterGate will check the message for Hi-Bit
IBM characters which are commonly used within Fidonet. These
are replaced with standard ascii codes, using an internal
table.
Example:
┌──────────────────────────────────┐
│ Eén apenoot maakt nog geen zomer │
└──────────────────────────────────┘
is converted into :
+----------------------------------+
| Een apenoot maakt nog geen zomer |
+----------------------------------+
When converting from Usenet to Fidonet, WaterGate will add
^AREPLYTO and ^AREPLYADDR kludges to the message. A Fidonet
editor capable of understanding these codes could then always
create correct gateable netmail replies to a message.
This does not mean one needs such a Fidonet Technology editor.
One editor capable of doing this is "TimEd", but at this
moment it still seems to be in development.
A normal editor can be used perfectly, since the gated messages
are fully Fidonet Technology compatible. When you want to reply
to a message, you can simply read the ^A kludges to get the
internet address you want to reply to. This may be easier than
scanning the complete Usenet-header.
A Fidonet address is converted into a fully qualified internet
address, this to make netmail replies to a message from
within usenet possible.
Example:
From: Jaap Aap 2:280/803
converts into:
From: Jaap_Aap@f803.n280.z2.oursystem.network.nl (Jaap Aap)
or, if we have a domain defined for this system :
From: Jaap_Aap@SubSystem.OurSystem.Network.Nl (Jaap Aap)
or even :
From: Jaap_Aap@SubSystem.Network.Nl (Jaap Aap)
When Usenet Mail and News is converted to Fido Mail en Echomail and vice
versa, then addresses will have to be converted as well. In a nutshell,
this is what happens:
When a Fido Technology style address, z:n/f.p, has to be converted, then
WaterGate looks for the first defined domain-AKA for that node. All
parts of the username (which often contains spaces) will be concatenated
with underscores ('_'). The result of "Annie User, 2:280/802.666" may
be "Annie_User@waterland.wlink.nl"
Converting a Internet-addres (or Usenet-address, so you wish) to a
Fidonet Technology address, is done by first finding the 'target' system,
if necessary by scanning the defined routings. Then the Fidonet address
(z:n/f) for that system is taken. Then in the username all underscores
(if any) are converted to spaces. For example, "She_Devil@hell.wlink.nl"
is converted to "She Devil, 2:280/666". Note that the 'target' system
can also be your own system, thus sending the mail directly to a point
instead of via a fido-node. Your points are also defined as users,
just like your nodes, but you mustn't define a UUCP-name and/or
domain AKA's for them (leave these fields blank), since you already
defined this for your whole system in the 'System Configuration'.
Sending a netmail message to usenet
-----------------------------------
WaterGate will scan for netmail messages sent to us,
at our GateWay Aka, as defined with WtrConf. If the message
is addressed to 'UUCP' (or to the name you defined yourself
for the GateWay) and sent into Usenet.
The first line of the message has to contain an 'TO:' line,
followed at the same line, by a full internet address.
It is acceptable if the 'TO:' line is preceeded by some ^A
kludges.
Example:
From: Jaap Aap 2:280/803
To : UUCP 2:280/802
Subj: Life,... metal and fluffy things
------------------------------------------------------
^AMSGID 2:280/803 AABBCCDD
TO: master@entoban.saurus.nl
A mail message is then created addressed to
'Master@entoban.saurus.nl' and WaterGate will try to route
this message to that system. The sender is translated the
same way as in an Echomail-News From: address.
WaterGate accepts all messages from within usenet destined for
its own system, or one of its sub-domains and users.
Example:
To: jaap_aap@f802.n280.z2.OurSystem.Network.Nl (Jaap Aap)
or
To: jaap_aap@SubSystem.Network.Nl (Jaap Aap)
Is translated into a netmail message, like this :
From: Mike 2:280/802
To : Jaap Aap 2:280/803
Subj: Life... there is some answer.. but is it faulty
-------------------------------------------------------
^INTL 2:280/803 2:280/802
^REPLYTO 2:280/802 UUCP
^REPLYADDR Master@entoban.saurus.nl (Mike)
Routing netmail
---------------
WaterGate currently implements only a very simple form of
routing. At startup it checks whether the file ROUTE.TDB
exists in the system directory , this is a plain textfile
containing routing statements.
Sample Route.TDB
; WaterGate Routing
;
;
ROUTE-FIDO 2:285/1 2:285/*
ROUTE-FIDO 2:280/802 2:* 140:*
ROUTE-FIDO 60:100/1 60:*
;
; [M'dam 20/10/93]
ROUTE-FIDO <System_We_Route_Through> [<Addresses> .. ]
Destination must be a system configured in our userbase.
WaterGate will report an error if the system is unknown.
When a netmail message is encountered, WaterGate will check if
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 will 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 instance, an attempt is made to bounce the message to its
sender.
Routing Usenet messages
-----------------------
The routing of Usenet Mail can be implemented in two different ways.
One is by configuring routings using the WTRCONF.EXE program, the other
is by using statements in the ROUTE.TDB file.
Usually, this is a proper way of setting up the system:
1) Define your UUCP neighbours using WTRCONF.EXE, by adding
them as users. This is mandantory; if your neighbours are not
defined here, you cannot route messages to or through them.
In these definitions, also define their domain-address and
other domain-style AKA's if there are any. There is a
limit of 10 AKA's for each neighbour.
Note that logically it does not matter if your neighbour
physically is a Fidonet Technology-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.
2) Define the systems that are more than one 'hop' away in your
ROUTE.TDB file. These systems are not your neighbours.
The format of a usenet-routing line in the ROUTE.TDB is:
ROUTE-UUCP <UUCP-name> <System-address>
where <UUCP-name> must be the uucp-name of one of your neighbours
as defined with the WTRCONF.EXE program. <System-address> can be:
a) another UUCP-name of a system more than one 'hop' away
b) the complete domain-address of a system
c) a domain-address with wildcards
If nodes under you have a world-registered UUCP-name, it might
occur that their UUCP-name is used in a bangpath address. If
in that bangpath, the name of the system it should be routed through
is missing, then a UUCP-name routing statement can cause the mail
to arrive anyway.
By using a complete domain-address you specifically route mail
to that domain to one of your neighbours. The domain-address will
have to match 100%. Note that this method can be used to add more
AKA's to one of your neighbours if the amount of 10 AKA's in the
WTRCONF.EXE program does not suffice. On the other hand, you
can also 'misuse' these AKA's in the WTRCONF.EXE program to route
mail to certain systems without using statements in a ROUTE.TDB
file.
Wildcards in the <System-address> allow to route a complete
hierarchy of domain-addresses to a certain neighbour without
having to define each sub-node for that system seperately. 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 point-style addresses like
"user@p10.f802.n280.z2.yournode.wlink.nl".
You can then 'wildcard' the point-segment of the complete
domain-address so you won't have to define each point-address.
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 subdomains
and the addres "@yournode.wlink.nl" itself. Type 2 will ONLY route
subdomains, and will NOT route addresses like "user@yournode.wlink.nl"
Example ROUTE-UUCP statements:
;
; ROUTE.TDB, Usenet routings
; 15 nov '93 MvdL, Zaandijk
;
ROUTE-UUCP picard enterprize.space.nasa.gov
ROUTE-UUCP nixon *.WaterGate.Wlink.Nl
ROUTE-UUCP rspca .rodent.net
ROUTE-UUCP picard xs4all
;
; End of Usenet routings (ROUTE.TDB)
;
The first ROUTE-UUCP line will route all mail for domain
"enterprize.space.nasa.gov" to the system with UUCP-name "picard".
This system is a neighbour.
E.g., addresses like "Mr.Spock@enterprize.space.nasa.gov" or
"enterprize.space.nasa.gov!Mr.Spock" will be sent to the systen called
"picard". Subdomains are not allowed here, the domain-address will have
to match 100%.
The second line will route all mail destined for all subdomains
(and subdomains only!) of "Watergate.Wlink.Nl" to the system with
UUCP-name "nixon". For instance, "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".
The third line will route all system-addresses (domain-addresses) ending
with "rodent.net" to the machine with UUCP-name "rspca".
E.g. "Mickey.Mouse@rodent.net" as well as "rabbits.rodent.net!Bugs.Bunny"
or "Sylvester@cats.rodent.net" are routed to the rspca-machine (even though
Sylvester is a cat and not a rodent).
The fourth line will route all mail sent to "Annie.User@xs4all" or
"xs4all!xs4no1!Mary.Helen" to the system with UUCP-name "picard".
Because "xs4all" does not appear to be a domain-style address, it makes
us suspect this routingline is used to alias another UUCP-name or
to be able to route a UUCP-name of a system that is not our neighbour.
About bangpaths:
----------------
Any system that is defined on Usenet has a bangpath, but not all
systems have domain-addresses. Therefor, bangpath-addressing is always
possible. In bangpaths usually UUCP-names are used, but a
bangpath can also contain a full domain-style address. Internally,
WaterGate converts all addresses to bangpaths if they are domain-
addresses. 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 it's own UUCP-name, and the address
contains more than one bang, it looks at the part between the first
and the second bang. This algorythm allows a very powerful and flexible
way of Usenet mail routing and knowing this, you may find some ingenious
and creative ideas to perform all the routing you want.
Things you cannot do in the ROUTE.TDB:
--------------------------------------
You cannot assign more than one <System-address> on line of the
ROUTE-UUCP statements. If you do, then these lines will be ignored.
If you want more routings to the same UUCP-name, then simply
use as many lines as you need to route all system-addresses and
have them start with the same UUCP-name (Note that you _can_
do this with the ROUTE-FIDO lines though!).
You cannot chain the routing of UUCP-names. E.g.:
;
; ROUTE.TDB, Usenet routings
; 15 nov '93 MvdL, Zaandijk
;
ROUTE-UUCP picard nixon
ROUTE-UUCP nixon *.WaterGate.Wlink.Nl
;
; End of Usenet routings (ROUTE.TDB)
;
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.TDB, Usenet routings
; 15 nov '93 MvdL, Zaandijk
;
ROUTE-UUCP picard nixon
ROUTE-UUCP picard *.WaterGate.Wlink.Nl
;
; End of Usenet routings (ROUTE.TDB)
;
You cannot 'wildcard' bits and pieces of 'domain-segments'. 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 behaviour
of WaterGate.
A few last remarks about usenet routing:
----------------------------------------
If capitalization in mail-addresses occurs, 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 AKA's in the user definition in the WTRCONF.EXE program.
Whatever you fill in there, will have the 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: In WTRCONF.EXE, only define your neighbours
with their UUCP-names and their very own (!) domain-AKA's, and implement
the routing of addresses in the ROUTE.TDB file (and there only).
If the format of your ROUTE-UUCP statements are not correct, then this
may (and often will) cause unpredictable routing behaviour. 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.
Operating as a public UUCP-FIDO GateWay
---------------------------------------
One of the powerful features of WaterGate is that it can also assign
domain-adresses to fidonodes that are your neighbours or that are
somewhere in your downlink. For instance, the node 2:280/802 can
be called "waterland.wlink.nl". When a user from 2:280/802 sends
a message that is to be gated to Usenet, he will get a 'nice'
sender's address (see also 'Converting Usernames').
However, if you wish to operate as a public UUCP-FIDO GateWay
(like the wellknown "fidonet.org" gateway) you may wish to use
sender-adresses like "p16.f802.n280.z2.yournode.nl" here as domain-
address. This because you can't possibly define all existing nodes
in FidoNet in WTRCONF.EXE (although if you find this to be an extra
meaning of life and wish to devote all your free time to entering
this information into the configuration, please feel free to do so).
This 'option' is easily enabled by NOT defining a domain-address for
your user(s). All messages addressed to the GateWay as set in your
'System Configuration', coming in through a user that has no domain-
names defined, will be treated this way: the message is gated to
Usenet and the sender's address is then converted into a fido-like
domain-address.
Messages coming in from Usenet, addressed to a fido-like domain-
address are ALWAYS converted to a fido-address. For example,
"Annie_User@p16.f802.n280.z2.yournode.nl" will be converted to
"Annie User 2:280/802.16", after which an attempt is made to deliver
the message.
Using the Area Manager
----------------------
WaterGate has a built in Area Manager to allow your users to
easily connect to, and disconnect from, all the areas that are
available to them.
A Fido user has to send a netmail message to "Areafix", at one
of your AKA's. A Usenet user has to send a mail message to
"NewsFix" at one of your domain addresses.
Example :
[Fido Netmail]
From: Jaap Aap 2:280/802.67@Fidonet.org
To : Areafix 2:280/802@Fidonet.org
Subj: MyPassword
------------------------------------------------------------
+ARENA
-POINTS.028
%QUERY
[Usenet 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 add the selected area to
the requesting node, if it exists and
if it is in a group available to the
node. Optional you can also use
+AREANAME.
-AREANAME This will disconnect the node from the
area. A node can always disconnect an
area, even if it is in a group the
node (no longer) has access to.
%+ALL This will connect the node to all
areas it has access to.
%-ALL This will disconnect the node from all
its areas.
%DISABLE This will stop WaterGate from sending
Echomail or News to the node. Useful
if a node is on a holiday and does not
want to receive any news of echomail.
This will not affect netmail or mail
messages.
%ENABLE If a node is ready to receive its mail
again, after %ENABLE WaterGate will
continue sending mail.
%FROM <Address> If a user is allowed to do remote
maintenance (see User Configuration),
then all modifications following the
%FROM line, will be made to the
specified users. Multiple %FROM lines
may be used in messages. If anything
goes wrong (user does not exists for
instance), all further commands are
ignored until the end of the message
or another %FROM line.
%HELP If file called 'AREAFIX.TXT' exists,
it is sent. It should contain a
description of all available areafix
commands. Otherwise, a canned standard
listing of all commands is sent. See
'Tokens' for a list of token strings
you can include in this file.
%LIST This will send a list of all areas the
node is connected to.
%QUERY WaterGate will create a list of all
areas available to the node and send
it. If a file named 'AFQRRHDR.TXT'
exists in WaterGate's system directory
it is added at the top of the list. If
a file named 'AFQRRFTR.TXT' exists it
is appended at the end of the list.
This way you can create custom headers
and footers for Query request
messages. See 'Tokens' for a list of
token strings you can include in the
files.
Statistic 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 of all messages,both received and sent, and
stores that information into a separate logfile called
'WTRGATE.STA'. This file is located in your WaterGate system
directory, and new information is appended to it after
each run of WaterGate.
A sample entry :
Statistics report of toss on Mon 26 Nov 1993 21:37:54
Order: u MailTo MailFrom NewsTo NewsFrom NetTo NetFrom EchoTo
EchoFrom Name
a Flow Name
u 0 0 0 0 0 0 0 49546 2:512/17@Fidonet.org (Piet Hein)
a 22631 FILEFIND.280
a 12778 HOLLAND.SYSOP
a 733 POINTS.028
a 3124 OVERIG.028
a 6328 FS.028
a 643 FDECHO.028
a 3309 SYSOPS.280
All numbers are in bytes.
The first line contains today's date and time, the second gives
some brief information about the lines below. Each lines that
starts with the letter 'u' gives information about a user that
sent or received mail during this run. Only users that either
sent or received mail are shown.
Each 'u' line has the following fields:
MailTo : Usenet Mail sent to this node (in bytes)
MaiLFrom : Usenet Mail sent by from this node
NewsTo : Usenet News sent to this node
NewsFrom : Usenet News 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 in brackets
For Usenet, the UUCP name is put between
brackets.
The flow of messages in each area is shown in the 'a' lines.
Every line contains the flow in that area during this run and
the name of the area. Again, only areas that had any flow are
shown.
Translating from other programs
-------------------------------
WaterGate is capable of adding information to its user and
areabase from other programs. Currently it can directly pro-
cess information from GEcho, Waffle and Squish. To do this,
start the "WTRCONF" program and select the "Import/Export"
menu option.
Adding information from Gecho
-----------------------------
First select the "Import GEcho Nodes file NODEFILE.GE"
option, this will read all node information stored by Gecho 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"
Adding information from Waffle
------------------------------
First select the "Import Usenet newsgroups file", this file is
usualy 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, usualy located in
the "Waffle\Uucp" directory. Use "Import RMAIL Paths" file to
import this information.
To add areas to certain users, select "Import RNEWS Feeds"
file, this file contains information about all users connected
to certain areas.
A typical entry is :
steambk /batch comp.bbs.*,alt.bbs.*
steambt /batch *
Adding Information from Squish
------------------------------
WaterGate is capable of scanning a Squish configuration file
(usualy 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
Areafix-alike file" useful if you want to delete a certain
node from a list of areas without using the normal 'tag &
delete' options. You can have another program prepare a file
containg 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: None '%' commands for normal Areafix operation are
available.
Commandline Options : WtrGate.Exe
---------------------------------
This is the main program. To run it needs to be correctly
configured. The program will exit if it is not able to
initialize. To modify or create new configuration
files use the WtrConf program.
You can start it by either using a commandline option, or
don't use one, and select an option from the menu. Only
a single commandline option is available for each run.
Commandline Function
-----------------------------------------------------------
? Show a short help screen
TOSSFIDO Process any mail that is located in
your inbound directories.
SCANFIDO Scan the local message bases for
unsent outgoing mail.
BOTHFIDO Do all of the above.
TOSSUSE Process any new mail that is located in
your spool directories.
-NODUPE Force dupe checking off
-NOIMPORT Don't try to import messages localy
-NOEXPORT Don't export messages to other systems
Errorlevel returns 0 on success
>1 on failure
Commandline Options: WtrConf.Exe
--------------------------------
You will need this program to configure WaterGate, it is
capable of creating and modifying configuration files and the
areabase and userbase files. For more information see
"Installing WaterGate"
The configuration program takes no commandline options, except
one. You can specify an alternative directory for the
configuration program to search for the areabase and userbase
files. Use this if you moved your configuration files to
another drive and/ or directory, it will override the "
System directory" specified in the configuration.
Commandline Function
-----------------------------------------------------------
<directory> Change the WaterGate system
directory
Errorlevel returns 0 on success
>1 on failure
Commandline Options: WtrUtil.Exe
--------------------------------
WaterGate comes with a messagebase maintenance utility called
WtrUtil. It is capable of linking messages in all area types,
removing messages that are too old, or have crossed the maximum
number of messages in an area, creating new index files for
both Squish and Jam bases, and renumbering *.MSG areas.
You can either start WtrUtil with commandline options,
or without and simply select them from the menu.
Commandline Function
-----------------------------------------------------------
? Show all commandline options
DATABASE Removes deleted entries and unused
links from WaterGate's Areabase,
Userbase and Subscriptionbase files.
INDEX Creates new index files for all Squish
and JAM msgbases
LINK Links messages in all areas
RENUM Renumbers all *.MSG areas
PURGE Removes messages by number and date
from all message bases
Errorlevel returns 0 on success
>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.
Appendix A) Tokens
------------------
WaterGate can send several textfiles, instead of the standard
internal response messages. This way you can define your own
responses. Response files must be located in the WaterGate
system directory. Currently the following files are supported:
File Description
----------------------------------------------------------
AFLSRHDR.TXT Sent as the header of an Area Manager
%LIST request reply-message
AFLSRFRT.TXT Sent as the footer of an Area Manager
%LIST request reply-message
AFQRRHDR.TXT Sent as the header of an Area Manager
%QUERY request reply-message.
AFQRRFRT.TXT Sent as the footer of an Area Manager
%QUERY request reply-message
AREAFIX.TXT Sent as a response to an %HELP request
BNCFIDO.TXT Sent when WaterGate is unable to transport
a Fido message.
UNKAFUSR.TXT Sent when an unknown user sent a message
to Areafix.
WRNGAPWD.TXT Sent when an invalid password was found
in a message to Areafix.
Each tokenfile may contain any of the tokens listed below,
although some may be empty when used, %PASSWORD for instance
will be an empty string when not used in conjunction with
WRNGAPWD.TXT.
Token Description
-----------------------------------------------------------
FirstUserName Sender's first name
LastUserName Sender's last name
UserName Sender's full name
Subject Sender's message subject
Password Areafix password found
Date Current System date
Time Current System time
FromAddress Address used by the Sender
Sysop Sysops name found in the configuration
SysopFirst Sysops first name
AreaName Current Message Area
PID Our program ID (WaterGate)
Version Current program revision (0.02 Beta)
To use a token, put it between '@' characters. For example,
if you want to use the Sysop token, put the string '@Sysop@'
into your textfile.
Appendix B) Message Bases
-------------------------
If you receive messages, you will need a place to store
them. WaterGate has built in support for 3 different message
base types, each with its own characteristics. None of the
supported bases puts more than 1 area into the same base, so
if one area for some reason crashes, you won't lose more than
just that area.
Both the Squish Base and the Jam base can be considered as
the successors of the Hudson Base, which itself was a replace-
ment for the Fido *.MSG base. But its limit of 200 message
areas, and its maximum size of 16Mb made it somewhat outdated
compared to the flow of messages produced by the different
networks of today. The Hudson base is not supported by Water-
Gate.
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 its not recommendable to
use this format for areas that receive large numbers of messa-
ges, 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 AreaPath field.
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, a <name>.SQD file which contains
the messages and header information, a <name>.SQI file which
contains an index to the messages in de the SQD file. The
<name>.SQL file contains lastread pointers for BBS users into
the message base and a <name.SQB> file containing 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 seri-
ous problems than this.
A Squish base can re-use space occupied by deleted messages
without needing repacking. This way 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 automati-
cally delete the oldest message, so never more than the set
number of messages are stored. Don't set this number too low,
because if WaterGate has to delete large numbers of messages
each run this will seriously affect performance. If you want
maximum performance and don't care about diskspace, 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.
Example, C:\BBS\SQUISH\ALTBBS for the area ALT.BBS
C:\BBS\SQUISH\ALTBMISC for the area ALT.BBS.MISC
etc
JAM
---
Was designed in 1993 by Joaquim Homrighausen, Andrew Milner,
Mats Birch and Mats Wallin. It is like Squish, 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. Because only a small part is stored in the
fixed header, it is relatively easy to add future enhancements
to message base. Each header contains a pointer into the
<name.JDT> file which contains the actual message. The areaba-
se is indexed in the <name.JDX> file. 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, it
uses a different scheme. Each message can have an unlimited
number of replies to it, so each reply you write is a reply
to the original message. This way you can always see to what
message a new message is a reply to.
Example:
1 --- 2 --- 4 --- 5 Messages 2,3 and 6 are a
| | reply to message 1.
| + --- 8 Message 4 and 8 are a
| reply to message 2.
+ --- 3 --- 7 Message 7 is a reply to
| message 3
+ --- 6 Message 5 is a reply to
message 4
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 extentions (.xxx) in the path.
Example, C:\BBS\JAM\ALTBBS for the area ALT.BBS
C:\BBS\JAM\ALTBMISC for the area ALT.BBS.MISC
etc
Appendix C) TradeMarks
----------------------
All trademarks are owned by their respective owners,
ARC,ZIP PkWare, Inc
ARJ Robert J. Kung
Binkley Bit Bucket Software Co.
Fido Tom Jennings
Frontdoor Advanced Engineering Sarl
GEcho Gerard J. van der Land
JAM (mbp) Copyright 1993 Joaquim Homrighausen,
Andrew Milner, Mats Birch, Mats Wallin
LHA Haruyasu Yoshizaka
MS-DOS Microsoft Corporation
PAK NoGate Consulting
PC-DOS IBM
Squish,Maximus Scott J. Dudley
TimEd Gerard van Essen
Waffle DarkSide International