Previous Next Table of Contents

6. Installation of FidoGate

I refer to version 3.9.7, older versions don't support some configuration options.

At first we have to edit fidogate/config.h. I made the following changes in the original-file: (this is not the complete file, only the passages I changed!)

/* #define HOSTS_RESTRICTED */  
#define SECURE
/* #define PASSTHRU_NETMAIL */  
/* #define PASSTHRU_ECHOMAIL */
#define OUTDIR          "outbound"      /* Output of rfc2fido */

#ifdef SECURE           /* Secure permissions */
# define PACKET_MODE    0600            /* Mode for outbound packets */
# define BSY_MODE       0664            /* Mode for BSY files */
# define FLO_MODE       0664            /* Mode for FLO files */
# define DATA_MODE      0660            /* Mode for ffx data files */
# define DIR_MODE       0775            /* Mode for directories */
# define CONF_MODE      0664            /* Mode for written config files */
#else                   /* Open permissions */
# define PACKET_MODE    0666            /* Mode for outbound packets */
# define BSY_MODE       0666            /* Mode for BSY files */
# define FLO_MODE       0666            /* Mode for FLO files */
# define DATA_MODE      0666            /* Mode for ffx data files */
# define DIR_MODE       0777            /* Mode for directories */
# define CONF_MODE      0666            /* Mode for written config files */
#endif

You should see from the comments in config.h what this all means. There is no restriction to listed hosts. I've made it a habit of mine to call the outbound-directory outbound and not just out. You can change that if you do it consistently everywhere. Also I fitted the permissions to my flavour.

Next we have to make some changes in fidogate/config.make:

LIBDIR          = /usr/local/lib/fidogate
SPOOLDIR        = /var/spool/fnet
LOGDIR          = /var/log/fnet
OUTBOUND        = /var/spool/fnet/outbound
INBOUND         = /var/spool/fnet/inbound
PINBOUND        = /var/spool/fnet/pinbound
UUINBOUND       = /var/spool/fnet/uuin

OWNER           = uucp  
GROUP           = uucp
DEBUG           = -O2 -s -fomit-frame-pointer
In fidogate/src/Makefile you should change $(SPOOLDIR)/out in $(SPOOLDIR)/outbound.

By this the directories are adjusted to my directory-structure and uucp.uucp becomes user of FidoGate. Later ifcico will work under the user uucp.uucp, too.

Now you've got to make some changes in fidogate/src/ftninpost.pl:

$RELAY    = "p13.flokiste.fido.de";
$PROTO    = "FIDOGATE";
$SENDMAIL = "/usr/lib/sendmail -oi -odq -oee -f%s -oMs$RELAY -oMr$PROTO -t";
$RNEWS    = "/usr/bin/rnews";
&do_cmd("$LIBDIR/ftninrecomb $options");
Here the name of the gate is adjusted (it's not that important, but the name will appear later in the Received:-header of the mails). If you don't want to call Sendmail/smail every 15 minutes and don't start them as daemons, you should delete the queue-option (-odq) of Sendmail, or else the mail will stay in /var/spool/mail/input (smail) or /var/spool/mqueue (sendmail). By setting the option -oi mails who have a line with only a fullstop in it are not terminated. Since FidoGate 3.9.5 this feature is built-in already. Then I adjusted the path of rnews to my system and finally activated ftninrecomb (in the original it's commented out by '##'). This option causes that mails which were splitted following FTS-0047 are glued together again.

Now you should execute the following commands in fidogate/src as root:

make depend
make all
make install-dirs
make install

Now change the directory to fidogate/lib and run:

make install 

By now all files you need are in /usr/local/lib/fidogate. Now you have to make some adjustments to your system. Here is a complete /usr/local/lib/fidogate/config.common, which contains the global configuration:


#:ts=8
#
# /usr/local/lib/fidogate/config.common
#
# FIDOGATE config file common stuff,
# included by config.gate, config.main, config.ffx
#
# spinnaker.rhein.de
#
# Format:  keyword arg ...
#          keyword and args may be put in double quotes "..."
#

# Directories: lib, spool, BinkleyTerm-style outbound base dir (without
# the .../out.xxx), BinkleyTerm-style inbound dir
#
# lib, spool defaults are defined in config.h
#
LibDir          /usr/local/lib/fidogate
SpoolDir        /var/spool/fnet
LogDir          /var/log/fnet
Outbound        /var/spool/fnet
Inbound         /var/spool/fnet/inbound

#
# Internet address
#
#Hostname       p13
#Domain         .flokiste.fido.de
Hostname        spinnaker
Domain          .rhein.de
# Optional domain name for entries in HOSTS file
HostsDomain     .fido.de


#
# Zones and domains, the outbound directory is relative to the one
# specified with `Outbound'.
#
#               zone    Inet domain     FTN domain      Outbound
#               ----    -----------     ----------      --------
Zone            default .fidonet.org    fidonet         -
Zone            1       .fido.sub.de    fidonet         outbound.001
Zone            2       .fido.sub.de    fidonet         outbound
Zone            3       .fido.sub.de    fidonet         outbound.003
Zone            4       .fido.sub.de    fidonet         outbound.004
Zone            5       .fido.sub.de    fidonet         outbound.005
Zone            6       .fido.sub.de    fidonet         outbound.006
Zone            21      .ger.sub.de     gernet          gernet
Zone            242     .fido.de        fidode          fidode
#
# OPTIONAL:
#
# MSDOS client drive to UNIX server directory translation. This allows
# FIDOGATE running on a UNIX system and BinkleyTerm on an MSDOS PC.
#
#DosDrive       H:      /home
#DosDrive       I:      /var/spool
#DosDrive       I:      /usr/spool
#DosDrive       P:      /u1
#DosDrive       Q:      /u2

Have a close look at the following lines: This is the name of my computer in the Internet:
Hostname        spinnaker
This is my domain in the Internet:
Domain          .rhein.de
When I had only Internet-access via fido.de, I used p13 as hostname and .flokiste.fido.de as domain.

If you have no Internet-address you can take any name as hostname and .uucp as domain (don't forget the leading point!). It is very important that you then define NoFromLine in config.gate, otherwise Internet addresses are generated on which nobody can answer. You should do this, too, if you have an Internet-address via a gate. fido.de e.g. bounces news-articles which contain such a FromLine, because it detects them as potential dupes.

Following changes are to be made in config.main:


#:ts=8
#
# /usr/local/lib/fidogate/config.main
#
# FIDOGATE config file main AKA
#
# spinnaker.rhein.de
#
# Format:  keyword arg ...
#          keyword and args may be put in double quotes "..."
#

#
# Include common stuff (%L = LIBDIR)
#
include         %L/config.common

#
# FTN addresses
#
Address         2:2450/111.13
Address         21:100/64.13
Address         242:5000/4.13


#
# AREAS.BBS EchoMail distribution list
#
AreasBBS        /usr/local/lib/fidogate/areas.bbs

#
# FAREAS.BBS file distribution list
#
FAreasBBS       /usr/local/lib/fidogate/fareas.bbs

#
# ftnaf: CC of reply mails
#
CCMail          postmaster@spinnaker.rhein.de

#
# OPTIONAL for tosser
#
# Kill empty NetMails addressed to one of our AKAs
#
KillEmpty

#
# Kill EchoMail for unknown areas
#
#KillUnknown

#
# Kill routed EchoMail
#
#KillRouted

#
# Log sender/recipient of all NetMail messages
#
LogNetMail

#
# Check ^APATH for our own address
#
CheckPath

#
# Zonegate configuration for EchoMail
#
#               Address to      Add to SEEN-BYs
#               ----------      ---------------
#ZoneGate       2:123/456       123/456 2452/110
#ZoneGate       2:789/999       789/999 2452/110
#ZoneGate       1:105/42        105/42 2452/110

#
# Add extra nodes to SEEN-BY
#
#               Area            Nodes
#               ----            -----
#AddToSeenBy    ABLED           2:24/24
#AddToSeenBy    ABLENEWS        2:24/24

Last but not least the file config.gate has to be adjusted:
#:ts=8
#
# /usr/local/lib/fidogate/config.gate
#
# FIDOGATE config file gateway programs
#
# spinnaker.rhein.de
#
# Format:  keyword arg ...
#          keyword and args may be put in double quotes "..."

#
# Include common stuff (%L = LIBDIR)
#
include         %L/config.common

#
# FTN addresses - there must be a corresponding `uplink' statement 
# for each `address' statement
#
#               real
#               ----
Address         2:2450/111.13
Address         21:100/64.13
Address         242:5000/4.13

Uplink          2:2450/111
Uplink          21:100/64
Uplink          242:5000/4

#
# Default origin line for EchoMail messages
#
Origin          " Spinnaker - Linux-Point der FloKiste Koeln "

#
# Organization header for News
#
Organization    "Spinnaker-FTN-UseNet-Gate"

#
# Don't generate From: line, FSC-0035 kludges
# MUST be set for FIDOGATE points (no real gateway)
#
NoFromLine

#
# FTN - Internet gateway. If set, Internet mail will be routed via FTN
# and this gateway.
#
#Gateway                242:4900/99

#
# Generate `User.Name@do.main' instead of `User_Name@do.main'
#
#DotNames

#
# X-FTN header:
#
#     f    X-FTN-From
#     t    X-FTN-To
#     T    X-FTN-Tearline
#     O    X-FTN-Origin
#     V    X-FTN-Via
#     D    X-FTN-Domain
#     S    X-FTN-Seen-By
#     P    X-FTN-Path
#
X-FTN           ftTOVDP

#
# Maximum size of FTN messages (default value)
#
MaxMsgSize              15000
#MaxMsgSize             32000

#
# MAUS gateway support:
#
# If set, convert addresses for `User_Name@XY.MAUSDomain' to
# `User Name % XY @ MAUSGate' for the Fido-MAUS gateway.
#
MAUSDomain              .maus.de
MAUSGate                2:2452/101.6

#
# CC of bounced messages
#
BounceCCMail            postmaster@spinnaker.rhein.de

#
# Send mail from message trackers to
#
TrackerMail             postmaster@spinnaker.rhein.de

Now we get on with the file hosts. The given example is specifically adjusted to the configuration of Martin Junius and can't be used by anybody else. You can delete it (create a new empty one with touch hosts), so that no names are used for the computer. But it should at least contain your own adresses:


# /usr/local/lib/fidogate/hosts 
#
# Fields:
#
# node        FTN address
#
# hostname    Host name in the local domain (config: HostsDomain, Domain)
#             or fully qualified domain name (trailing `.') or `-' for
#             listed node without host name.
#
# options     -p  Generate addresses with point, e.g. `p99.hippo.fido.de'
#             -d  Node is currently down (can't receive mail)
#
# node          hostname                        options
#-----          --------                        -------
#
2:2450/111      flokiste                        -p
242:5000/4      flokiste                        -p
21:100/64       flokiste                        -p

Alternatively you can delete all lines not beginning with a 2:, so only Fido-addresses remain and you should have no problems anymore. If you want, you can use computers with other domains, as the example tweety.dfv.rwth-aachen.de shows. You shouldn't forget a dot at the end of a domain-name. This way you could use for instance the computer of schiele-ct.de, which also all have a Fido and an Internet address. If you want to insert only the sites of schiele-ct.de then you can turn HostsDomain to schiele-ct.de in the config-file and then insert all schiele-ct.de sites without the domain into hosts. I hope this became clear, as for all sites, which are not mentioned in hosts, the address is converted to e.g. p13.f111.n2450.z2.fido.sub.de, for the sites in hosts e.g. in p13.flokiste.fido.de. Don't forget to set the flag -p for almost all sites in hosts, to generate addresses with point. Otherwise the point number is deleted and this means work for the message-tracker of your node.

Next you can adjust the bounce.*-files to your system, but I can't remember that they were ever used. You can adjust aliases, too, but you don't need.

Now have a look at areas, which should at least contain all echomail areas, you use. If you enter more, this doesn't bother. Please note, that the german Fido-echos (e.g. LINUX.GER) are converted in the fido.ger-hierarchy (e.g. fido.ger.linux). International Fido-Echos are renamed into fido.int.*. The names of the Usenet-echos are converted to lower-case. Furthermore one should create an own hierarchy for any other Domain (zone). For all areas which do not belong to zone 2, you should add the zone-number (of course you can do this for all areas of zone 2, too). There are some other flags, too, which you can set. Here an excerpt from my areas-file:


# /usr/local/lib/fidogate/areas
#
# Echomail area <-> News newsgroup conversion
#
# Options:
#     -z ZONE            Alternate zone AKA for this area
#     -d DISTRIBUTION    Distribution header for this newsgroups
#     -o ORIGIN          * Origin line for this area
#     -g                 No gated messages
#     -l                 Only local crosspostings
#     -x                 No crosspostings
#     -8                 Messages with 8bit ISO-8859-1 charset
#     -H                 Names match entire hierarchy, names are translated
#     -!                 Don't gate area/newsgroup [hierarchy]
#     -R LVL             ^ARFC header level
#     -m MAXSIZE         MaxMsgSize for this area (0 = infinity)
#
# All fields may be quoted in "...", order is import, first area/newsgroup
# found matches!
#
# Format:
#
# area                        newsgroup                     [-option]
# ------------------------    --------------------------    ---------
FLOKISTE.INTERN               fido.flokiste.intern
FLOKISTE.STAT                 fido.flokiste.stat
LINUX.GER                     fido.ger.linux
SAILING                       fido.int.sailing
CT.GER                        ger.ct                        -z 21
CT.PROJEKTE                   ger.ct.projekte               -z 21
CT.PRUEFSTAND                 ger.ct.pruefstand             -z 21
CT.SUPPORT                    ger.ct.support                -z 21
FIDO.DE                       fido.de                       -z 242
5000.INTERNET                 fido.5000.intern              -z 242
ALT.RELIGION.EMACS            alt.religion.emacs            -z 242
COMP.OS.                      comp.os.                      -z 242 -H
REC.MUSIC.                    rec.music.                    -z 242 -H
DE.ALT.BINARIES.              de.alt.binaries.              -H -!
DE.                           de.                           -z 242 -H

As you can see it is possible to include whole hierarchies (-H) or to exclude sub-hirarchies (-!) for the usenet-areas, which have the same name under RFC (lower-case) and FTN (upper-case).

In the end you should create an empty file with touch /usr/local/lib/fidogate/passwd otherwise rfc2ftn won't work.


Previous Next Table of Contents