
\section{FidoNet addressing and the IFNA kludge}
\lline{Tom Jennings}
\lline{25 Jan 88}

I believe Fido/FidoNet starting with 12f's addressing is spirit
\& letter of the ``law''. It works as follows:
 
I am node 1:125/111. I enter a message to 2:500/1. Fido does
this:\par
 
{\obeylines\parskip=0pt
1) Create the .MSG file as we all know it.

2) Since the destination is outside our own zone:

2a) Put the ifna kludge algorithmic address into the .MSG file
header: ``myzone/destzone''. This case, the message is marked
``1/2'', ie. implied full address is ``1:1/2'', if the IFNA
Kludge ``zone gate''.

2b) Put the ``full'' address into the INTL line:
    ``Control-A)INTL 2:500/1 1:125/111''. 
}

Programs that don't understand the INTL line just route according
to ancient tradition to 1/2, with no side effects. Programs that
understand INTL lines do whatever it is they decide to do.
 
The only thing that Fido does that is different here is that it
hides the ugliness. Fido has a pure three level addressing
scheme, and knows enough to how to treat what I call ``fully
addressed'' (INTL lines) messages properly.
 
By default, Fido treats the network as a true three level
addressing scheme; a message addressed to ``2:500/1'' will go to
mathematically correct ``2:0/0'', the host for that zone. (Zone
Host not Zone Gate.) I realize this isn't what is desired, IFNA
kludge or not, and am not trying to foist anything on anyone. The
intent was a ``pure'' FidoNet three level mailer, and that's what
I got.
 
The problem is solved by the router. There is a route file,
supplied with the FIDO.EXE program, called ROUTE.DEF. It only has
to exist, and it is applied to *all* possible FidoNet routing
unless overridden. By default, Fido will do the Zone Host
routing; all you do is specify a new host:
 
{\tty
Zone 2; ZoneGate 1:1/2
\dots
Zone N; ZoneGate 1:1/N
\dots
}

A ROUTE.DEF file is supplied with Fido. Instead of all mail for
zone 2 going to ``2:0/0'', the ``pure'' ZoneHost, it goes to (in
this example) ``1:1/2''. It could all go to ``1:125/31'' and
drive Bob Kovach crazy. It could even go to ``3:1/1'' and waste
everybodys time. For a Fido operated in Europe, in Zone 2, it
would have a ROUTE.DEF that contained:
 
\lline{\tt Zone 1; ZoneGate 2:2/1}

My intent was to build a mailer devoid of all kludges, plus solve
the stupid IFNA Kludge thing. Plus not force someone to use ``my
way''.

Zones are here to stay, and I do not like coding things twice.
Network addressing issues are very serious, and we have to live
with them for years, and I want to do things ``right''. This is
my solution; if anyone is interested in implementation details
just ask!
