Previous Next Table of Contents

7. The installation of ifcico

I refer here to the latest version of ifcico, which can be found in the package ifmail-2.8f. Version 2.8d includes an ugly bug which did not appear in other versions, so don't use this one.

Next one has to edit the global compiler-configuration-file ifmail/CONFIG. Here all changes I made:

CONFIGFILE  = "/usr/local/lib/fnet/config"
LOCKDIR     = "/var/lock"
PUBDIR      = "/var/spool/uucppublic"
BINDIR = /usr/local/lib/fnet
OWNER = uucp
Maybe one has to change the paths, too. By this the debug-file is created in /tmp and the logfile in /var/log/fnet, which doesn't bother as the logfile since ifcico 2.3 is handled by syslogd (we'll come back to this later).

Slackware 3.0 continues to create this lockfile in /var/spool/uucp, which will cause problems with a already running getty on this port. You have to change LOCKDIR to /var/spool/uucp) in this case.

Now one should create the directory /use/local/lib/fnet (user uucp, group uucp) and install the binaries in /usr/local/lib/fnet by executing

make depend
make all
make install

Now you have to install ifcico's config file. You will find an example in ifmail/misc/config. Copy it to /usr/local/lib/fnet and adjust it to your system-configuration. Here an example:


# /usr/local/lib/fnet/config 
#
# IFmail - Configurations-File
# by 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.
# Following combination generates a debug-file with a length one can
# still read
verbose                 bcdefghijklmnqrt

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

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

# Passwords: Either you write the passwords directly in this file or
# you put them in an external one, which belongs to the user uucp and has
# the permissions 600, thus nobody can read them.

#include                /usr/local/lib/fnet/passwords
password        2:2450/111      SECRET
password        21:100/64       SECRET
password        242:5000/4      SECRET

# 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

# First nodelist:
# The program searches for nl_short.xxx and the latest one will be used.
# I generate nl_short manually out of the complete nodelist, as the
# compilation of the complete list takes too long.
nodelist        /var/spool/fnet/nodelist/nl_short

# Further nodelists of other zones:
# (Attention: ifindex has a bug which leads to a Core, if one Nodenumber
# appears twice, e.g. using the nodelist and 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

# At this place you find in the exaple-config-file (ifmail/misc/config)
# various explanations and options, which I mostly do not use and so
# won't explain here. But you should have a look at them.

# The modem is at /dev/ttyS1, the FIFO is locked at 38400 (without FIFO
# one should lock it a 19200).
# I use ttyS and not cua, as I use mgetty. Why I'm doing this is explained
# in the docs to mgetty+sendfax by Gert Doering.
ModemPort       ttyS1:L38400

# Now for the conversion of the telephonnumbers.I didn't really understand
# it, but the following should be correct (with your own local-access
# code) for whole germany. For special cases one should have a look at
# ifmail/misc/config.

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

# In ModemReset I build in the correct AT-commands for my modem:
# AT Z0 = Initialize with profile 0
# AT M3 = Loudspeaker off after dialing
# If you use isdn4linux, don't forget to insert AT&B512 to your
# initstring otherwise the connect will be lost after some bytes.
ModemReset ATZ0\r\n\dATM3\r\n\d

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

# Instead of a simple "CONNECT" I take many Connect-strings, thus there is
# the correct speed of the connect in the logfile. 
ModemConnect    CONNECT\s76800
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

# Here you find further configuration-options for inbound-calls.
# As I do not admit any inbound-call I skipped this part, but in 
# ifmail/misc/config you will find infos for this.

# 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

To get the log-messages of ifcico you should configure syslogd correctly. Therefore you have to edit /etc/syslog.config. The messages of ifcico appear as local0.*. For this I built in the following line:
local0.*                /var/log/fnet/ifmail
(Attention: Use NO spaces, but only TABS!)

By doing this all log-messages from icico go to /var/log/fnet/ifmail. If using an contemporary version of syslogd a

killall -1 syslogd
should inform the daemon that there is a new file, older syslogds need a complete restart.

Now we have to create the outbound-directories in /var/spool/fnet. Besides the standard outbound for Fido you have to create fidode and gernet for the other nets. The owner of these directories should be uucp.uucp and should have the permissions 775. ifcico can create directories for missing nets, but you have to adjust the permissions yourself.


Previous Next Table of Contents