Inhalt

7. Die Installation von ifcico

Ich beziehe mich hier auf die aktuelle Version von ifcico, welche sich im Paket ifmail-2.8g findet. Leider hatte Version 2.8d einen Bug, so daß ich von dieser Version nur dringend abraten kann (alle vorherigen Versionen funktionierten ordnungsgemäß).

Zunächst muß man das globale Compiler-Konfigurations-File ifmail/CONFIG editieren. Ich führe hier einfach mal alle bei mir nötigen Änderungen auf:

CONFIGFILE  = "/usr/local/lib/fnet/config"
LOCKDIR     = "/var/lock"
PUBDIR      = "/var/spool/uucppublic"
BINDIR = /usr/local/lib/fnet
OWNER = uucp
Der eine oder andere wird weiterhin ggf. noch einige andere Pfade ändern wollen. So wird dabei das Debug-File in /tmp angelegt und das Logfile in /var/log/fnet, was allerdings nicht stört, da das Logfile seit ifcico 2.3 sowieso vom syslogd gehandelt wird (mehr dazu später).

Bei Slackware 3.0 wird das Lockfile leider immer noch in /var/spool/uucp angelegt, was zu Problem mit einem eventuell laufendem getty auf diesem Port fuehrt. Der Eintrag LOCKDIR muss also hier auf /var/spool/uucp gesetzt werden.

Jetzt sollte man noch das Verzeichnis /usr/local/lib/fnet anlegen (User uucp, Group uucp) und kann dann mit

make depend
make all
make install
die Programmdateien in /usr/local/lib/fnet installieren.

Nun muß man noch das config-File von ifcico installieren. Ein Beispiel findet man in ifmail/misc/config. Diese kopiert man nun nach /usr/local/lib/fnet und editiert es passend. Hier ist ein Beispiel:


# /usr/local/lib/fnet/config 
#
# IFmail - Configurations-File
# von Roland Rosenfeld 07.08.94

# Log file name. Overrides compile-time default.
logfile         /var/log/fnet/iflog

# Debug file name. Overrides compile-time default.
debugfile       /var/log/fnet/ifdebug

# Debugging verbosity level (is overidden by -x key). Default is 0.
# Folgende Kombination generiert ein Debug-File von ertraeglicher
# Laenge, das man noch lesen kann:
verbose                 bcdefghijklmnqrt

# Main address:
address         2:2450/111.13@fidonet

# AKAs:
address         21:100/64.13@gernet
address         242:5000/4.13@fidode

# Passwords: Hier koennen die Passwords direkt stehen oder man lagert sie in
# eine externe Datei aus, welche dem User uucp gehoert und die Permissions 
# 600 hat, damit niemand die Passwords lesen kann.
#include                /usr/local/lib/fnet/passwords
password        2:2450/111      GEHEIM
password        21:100/64       GEHEIM
password        242:5000/4      GEHEIM

# Directory for incoming packets/files:
inbound         /var/spool/fnet/inbound
# Directories for "listed" and "protected" sessions
listinbound     /var/spool/fnet/inbound
protinbound     /var/spool/fnet/inbound

# Directory for outgoing packets (default domain and zone):
# other zones will be like "/usr/spool/fnet/outb.003",
# other domains will be like "/usr/spool/fnet/<domain>.<zone>"
outbound        /var/spool/fnet/outbound

# Directory from which the file requests are satisfied
public          /var/spool/uucppublic

# Directory with executables to satisfy "magic" file requests
# if requested a file present in this directory, it will be
# executed and stdout sent to the remote system.  If the file
# is not executable, it is read line by line and the lines are
# processed as if they were received file requests (recusively).
# Execution of commands may compromize security!  You are warned.
magic           /usr/local/lib/fnet/magic

# Erste Nodeliste:
# Es wird nach nl_short.xxx gesucht und die neueste Version verwendet.
# nl_short generiere ich manuell aus der kompletten Nodeliste, da mir das
# Compilieren der kompletten Liste zu lange dauert. 
nodelist        /var/spool/fnet/nodelist/nl_short

# Weitere Nodelisten der anderen Zonen:
# (Achtung: ifindex hat noch einen Bug, der zu einem Core fuehrt, falls eine
#  Nodenummer doppelt auftritt, wie z.B. bei Verwengung von nodelist und
#  r24classic) 
#               filename        originating address
nodelist        gernet          21:100/64.13@gernet
nodelist        242_list        242:5000/4.13@fidode

# Sequencer file (used to generate unique IDs)
sequencer       /usr/local/lib/fnet/seq

# An dieser Stelle stehen im Beispiel-Config-File (ifmail/misc/config) noch
# diverse Erlaeuterungen und Optionen, die ich groesstenteils nicht verwende
# und daher hier nicht auffuehre. Man sollte sich die Moeglichkeiten jedoch
# dort mal ansehen.

# Das Modem haengt an /dev/ttyS1, der FIFO ist auf 38400 gelockt (ohne FIFO
# sollte man stattdessen auf 19200 locken).
# Ich verwende ausdruecklich ttyS und nicht cua, da bei mir noch mgetty
# laeuft. Eine genau Erklaerung zu dem Thema findet sich in der Doku zu
# mgetty+sendfax von Gert Doering.
ModemPort       ttyS1:L38400

# Nun die Konvertierung der Telefonnummern. Ganz habe ich das noch nicht
# verstanden, aber folgendes sollte (mit der entsprechenden eigenen Vorwahl)
# fuer ganz Deutschland korrekt sein. Fuer Spezialfaelle sollte man sich ggf.
# nochmal ifmail/misc/config ansehen.

PhoneTrans      49-2236-        /
PhoneTrans      49-     /       0
PhoneTrans      /       00

# In ModemReset baue ich die passenden AT-Befehle fuer mein Modem ein:
# AT Z0   = Initialisieren mit Profile 0
# AT M3   = Lautsprecher nach dem Wählen aus
# Falls Du isdn4linux einsetzt, dann solltest Du mit AT&B512 die Blocksize
# einstellen, sonst bricht die Verbindung oft unvermittelt ab.
ModemReset ATZ0\r\n\dATM3\r\n\d

# Pulswahl:
ModemDial       ATDP\T\r
ModemHangup     ATZ\r
ModemOK         OK

# Statt einem einfachen "CONNECT" gebe ich viele Connect-Strings an, um
# nachher im Logfile sehen zu koennen, mit welcher Geschwindigkeit connected
# wurde. 
ModemConnect    CONNECT\s76800
ModemConnect    CONNECT\s64000
ModemConnect    CONNECT\s57600
ModemConnect    CONNECT\s38400
ModemConnect    CONNECT\s19200
ModemConnect    CONNECT\s16800
ModemConnect    CONNECT\s14400
ModemConnect    CONNECT\s1200
ModemConnect    CONNECT\s9600
ModemConnect    CONNECT\s7200
ModemConnect    CONNECT\s4800
ModemConnect    CONNECT\s2400
ModemConnect    CONNECT\s12000
ModemConnect    CONNECT\r
ModemError      BUSY
ModemError      NO\sCARRIER
ModemError      NO\sDIALTONE
ModemError      NO\sANSWER
ModemError      RING\r
ModemError      ERROR

# Timeouts to wait for "OK" and "CONNECT", cannot be prefixed by logical
# expression.
TimeoutReset    3
TimeoutConnect  90

# Hier stehen noch weitere Konfigurationsmoeglichkeiten fuer Inbound-Calls. 
# Da ich keine Inbound-Calls zulasse, habe ich den Teil hier auch nicht
# aufgefuehrt, fuer weiter Infos siehe ifmail/misc/config.

# EMSI data for this node
# From this line on values CANNOT be prefixed with logical expression
# For now, escaping of '}' and ']' unimplemented, try to avoid these
# characters please!
Name            *** Spinnaker ***
Location        Bornheim-Widdig
SysOp           Roland Rosenfeld
Phone           - Unpublished -
Speed           9600
Flags           XA,V32B,V42B

Um die Log-Messages von ifcico zu bekommen, solltest Du nun noch den syslogd vernünftig konfigurieren. Hierzu mußt Du /etc/syslog.conf editieren. Die Messages von ifcico erscheinen dabei als local0.* Ich habe zu diesem Zweck folgende Zeile eingebaut:
local0.*                /var/log/fnet/ifmail
(Achtung: Keine Leerzeichen, sondern ausschließlich Tabs verwenden!).

Damit landen alle Log-Meldungen von ifcico in /var/log/fnet/ifmail. Bei neuen Versionen von syslogd reicht nun ein

killall -1 syslogd
um, das dem Dämon das neue Config-File nahe zu bringen. Bei älteren Versionen muß man das Logfile zunächst anlegen und dann den Dämon killen und neustarten.

Jetzt sollte man allerdings noch die Outbound-Directories in /var/spool/fnet/ anlegen. Neben dem Standard outbound für Fido fehlen noch fidode und gernet für die anderen Netze. Die Verzeichnisse sollte alle uucp.uucp gehören und die Permissions 775 besitzen. ifcico legt im übrigen für weitere Netze fehlende Verzeichnisse selber an, allerdings sollte man dann manuell die Permissions entsprechend überarbeiten.


Inhalt