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

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:

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

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

    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!".

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.

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.


Back to Table of Contents or continue to the next section.

Comments or questions? Send an e-mail to editor@wsd.wline.se.

Last updated 13 October 1996