![](http://www.gnu-darwin.org/hexley-gd-sm.png)
|
2. Compiling and installing FIDOGATE
This chapter describes the FIDOGATE configuration and installation. You
must also create and edit the config files to be installed in the
CONFIGDIR directory, fidogate.conf , areas , hosts ,
passwd , routing , packing , aliases according
to your setup (see the examples subdirectory).
The chapter on config files describes them in detail.
2.1 The config.h Header File
Normally, if you want to compile a standard version of FIDOGATE on one
of the supported platforms, it is not necessary to change anything
in this file. Most things can be configured or overridden in
config.make (compile-time) or fidogate.conf (run-time).
If you really want to edit config.h , here are the gory details:
LOCAL_FTN_ADDRESSES
- Generate "local" FTN addresses: User_Name%p.f.n.z@hostname.domain
instead of User_name@p.f.n.z.domain.
DO_BSY_FILES
- Create Binkley-style busy files while accessing the Binkley outbound.
NFS_SAFE_LOCK_FILES
- Create lock / bsy files in an NFS-safe way.
AMIGADOS_4D_OUTBOUND
- Use AmigaDOS-style outbound file names.
MAXMSGSIZE
- Maximum size of FIDO messages generated by
rfc2ftn , larger
messages will be split. Alas, less than 16K seems to be the only safe
setting. This is the default value.
FTN_INVALID_DOMAIN
- Domain address to be used for invalid FTN addresses.
FACILITY
- syslog facility used if
Logfile is set to "syslog".
CHARSET_STDFTN
- Default charset for Fido messages.
CHARSET_STD7BIT
- Default charset for RFC messages with 7bit encoding.
ALIASES_ARE_LOCAL
- Addresses found in the
aliases config file are rewritten so
that the sender's address is the gateway.
PASSTHRU_NETMAIL
- Passthru operation for NetMail: if the sender of the message is an FTN
address, the origin address of the resulting FTN message will be that
FTN address. WARNING: enabled only if you really know what you're doing!
PASSTHRU_ECHOMAIL
- Passthru operation for EchoMail: X-FTN-Tearline, X-FTN-Origin,
X-FTN-Seen-By, X-FTN-Path headers will be used for tear line, * Origin,
SEEN-BY, ^APATH, when gating from Internet to FTN. WARNING: enabled only
if you really know what you're doing!
AI_1
AI_3
AI_5
AI_6
AI_8
- Configuration for Andy Igoshin's patches, see
contrib/fidogate-4.3a3-ai-pl9.1/README.ai for
details. AI_2,4,7 are now fully integrated.
System dependent configuration:
This configuration contains several groups of #define/#undef. First, the
definitions for a standard POSIX UNIX, followed by #ifdef'ed definitions
for SunOS, Linux, FreeBSD, Interactive UNIX, MSDOS DJGPP, NextStep,
GNU-WIN32.
If you want to port FIDOGATE to a new system, please add a #ifdef'ed
section similar to the already existing ones.
The gory details:
HAS_FCNTL_LOCK
- Define, if the system support fcntl() file locking.
HAS_GETTIMEOFDAY
- Define, if the system has the gettimeofday() function.
HAS_TM_GMTOFF
- Define, if the system has a tm_gmtoff field in struct tm.
HAS_SYSEXITS_H
- Define, if the system support the
sysexits.h header file.
HAS_TM_ZONE
- Define, if the system has a tm_zone field in struct tm.
HAS_STRFTIME
- Define, if the system has the Standard-C strftime() function.
HAS_TZNAME
- Define, if the system has
extern char *tzname[2] .
HAS_STRCASECMP
- Define, if the system has the
strcasecmp() and
strncasecmp() functions.
HAS_STRICMP
- Define, if the system has the
stricmp() and
strnicmp() functions.
HAS_STERROR
- Define, if the system has the
strerror() function.
DO_BINARY
- Define, if files must be opened in binary mode.
DO_DOSIFY
- Define, if filenames must be converted to DOS, OS2-style
\ .
RECEIVED_BY_MAILER
- Define, if extra Received lines are inserted by the mail system,
currently only used for NeXT.
HAS_SYSLOG
- Define, if syslogd and the library function
syslog() ,
vsyslog() are suppored.
HAS_SNPRINTF
- Define, if
snprintf() and vsnprintf() are supported.
HAS_HARDLINKS
- Define, if the system supports file systems with hard links and the
library function
link() .
HAS_POSIX_REGEX
- Define, if the system supports the POSIX regex functions regcomp(),
regexec() etc.
Define only one of HAS_TM_ZONE , HAS_STRFTIME ,
HAS_TZNAME , and also only one of HAS_STRCASECMP ,
HAS_STRICMP .
THE FOLLOWING DEFINES SHOULD REALLY BE LEFT AS IS!!!
MSGID_FIDONET_DOMAIN
- Default domain for standard FIDO addresses (zone 1--6). Used for
Message-IDs only, so DO NOT CHANGE.
PACKET_MODE
BSY_MODE
FLO_MODE
DATA_MODE
DIR_MODE
CONF_MODE
- Permissions for files processed by FIDOGATE.
FTN_RFC_HEADERS
- RFC headers recognized at the beginning of FTN messages.
RFC_LVL_1_HEADERS
- RFC headers put into FTN messages for RFC level 1.
R_MODE
W_MODE
A_MODE
RP_MODE
WP_MODE
AP_MODE
- Modes (
fopen() ) for opening files.
DATE_LOG
DATE_DEFAULT
DATE_NEWS
DATE_MAIL
DATE_FROM
DATE_FTS_0002
DATE_TICK_PATH
DATE_VIA
DATE_SPLIT
- Date format strings.
PRODUCT_CODE
- FIDO product code used by
rfc2ftn .
MAXADDRESS
- Maximum number of
Address and Zone statements in
config file.
MAXDOSDRIVE
- Maximum number of
DosDrive statements in config file.
MAXPATH
- Maximum length of a pathname in FIDOGATE.
MAXINETADDR
- Maximum length of the address part of an Internet address in FIDOGATE.
MAXUSERNAME
- Maximum length of the user name part of an Internet address in FIDOGATE.
MAXOPENFILES
- Maximum number of packet files concurrently opened by tosser
programs. The maximum possible value is operating system and
configuration dependent, see UNIX ulimits.
2.2 The config.make Makefile Configuration
This file is included in all FIDOGATE Makefiles.
A special convention is used for defining FIDOGATE configuration macros:
macro name starting with DEFAULT_ are used by the compilation
process to automatically generate C code.
DEFAULT_V_option
- Creates a Makefile macro definition, substitutes <option> in shell
and perl scripts, creates a compile-time C
#define
DEFAULT_ option in paths.h , a run-time configuration option
option in fidogate.conf , and makes FIDOGATE evaluate the
environment variable FIDOGATE_ option.
DEFAULT_F_option
- Creates a Makefile macro definition, substitutes <option> in shell
and perl scripts, creates a compile-time C
#define
DEFAULT_ option in paths.h . No run-time override!
DEFAULT_A_option
- Creates a %X abbreviation (can be used at the start of file names)
for option.
Be very carefull not to remove any of the FIDOGATE standard macros
and don't touch the standard abbreviations in this file!!!
DEFAULT_V_CONFIGDIR
- Directory for config files.
DEFAULT_V_LIBDIR
- Directory for FIDOGATE's internal programs.
DEFAULT_V_BINDIR
- Directory for user programs and scripts.
DEFAULT_V_LOGDIR
- Directory for log files.
DEFAULT_V_VARDIR
- Directory for
areas.bbs , history .
DEFAULT_V_LOCKDIR
- Directory for lock files.
DEFAULT_V_SPOOLDIR
- Internal spool directory (temporary files).
DEFAULT_V_BTBASEDIR
- BinkleyTerm-style outbound base directory. This is the base directory,
not the actual zone outbound directory.
DEFAULT_V_INBOUND
- BinkleyTerm-style inbound directory.
DEFAULT_V_PINBOUND
- BinkleyTerm-style protected inbound directory.
DEFAULT_V_UUINBOUND
- BinkleyTerm-style inbound directory for the
recvuu script.
DEFAULT_V_FTPINBOUND
- BinkleyTerm-style FTP inbound directory.
DEFAULT_V_ACL
- Access control list for AI patches (not used for standard FIDOGATE
distribution).
DEFAULT_V_ALIASES
- Configuration file for aliases.
DEFAULT_V_AREAS
- Configuration file for areas/newsgroups gateway.
DEFAULT_V_HOSTS
- Configuration file for registered hosts.
DEFAULT_V_PASSWD
- Configuration file for passwords.
DEFAULT_V_PACKING
- Configuration file for ArcMail packer (
ftnpack ).
DEFAULT_V_ROUTING
- Configuration file for NetMail/EchoMail routing (
ftntoss ,
ftnroute ).
DEFAULT_V_HISTORY
- MSGID history file for dupe check.
DEFAULT_V_LOGFILE
- Default log file.
DEFAULT_V_CHARSETMAP
- Character set mapping table.
DEFAULT_F_NEWSETCDIR
- INN directory: config files
DEFAULT_F_NEWSVARDIR
- INN directory: active, history files.
DEFAULT_F_NEWSLIBDIR
- INN directory: scripts.
DEFAULT_F_NEWSSPOOLDIR
- INN directory: news spool.
DEFAULT_F_IFMAILDIR
- Ifcico/ifmail directory.
DEFAULT_F_CONFIG_GATE
DEFAULT_F_CONFIG_MAIN
DEFAULT_F_CONFIG_FFX
- FIDOGATE main configuration file
fidogate.conf .
DEFAULT_F_SEQ_MAIL
DEFAULT_F_SEQ_NEWS
DEFAULT_F_SEQ_MSGID
DEFAULT_F_SEQ_PKT
DEFAULT_F_SEQ_SPLIT
DEFAULT_F_SEQ_FF
DEFAULT_F_SEQ_TOSS
DEFAULT_F_SEQ_PACK
DEFAULT_F_SEQ_TICK
- Sequencer files.
DEFAULT_F_LOCK_HISTORY
- Lock file for history access.
DEFAULT_F_OUTRFC_MAIL
DEFAULT_F_OUTRFC_NEWS
DEFAULT_F_OUTPKT
DEFAULT_F_OUTPKT_MAIL
DEFAULT_F_TOSS_TOSS
DEFAULT_F_TOSS_ROUTE
DEFAULT_F_TOSS_PACK
DEFAULT_F_TOSS_BAD
DEFAULT_F_OUTPKT_NEWS
- Internal spool directories (temporary files). If these directories are
different from the default ones, the commands for the
install-dirs target of Makefile must be changed as well.
DEFAULT_F_TICK_HOLD = %B/tick
- Outbound hold directory for TIC files.
DEFAULT_A_CONFIGDIR
DEFAULT_A_LIBDIR
DEFAULT_A_BINDIR
DEFAULT_A_LOGDIR
DEFAULT_A_VARDIR
DEFAULT_A_LOCKDIR
DEFAULT_A_SPOOLDIR
DEFAULT_A_BTBASEDIR
DEFAULT_A_INBOUND
DEFAULT_A_PINBOUND
DEFAULT_A_UUINBOUND
- Abbreviations for configured directories.
PERL
- Full path name of perl executable.
SENDMAIL_CF_DIR
- Directory where the sendmail m4 configuration files are installed
(
/usr/lib/sendmail-cf on RedHat Linux systems).
INFODIR
- Directory for installing info documentation files.
HTMLDIR
- Directory for installing HTML documentation files.
HTMLLOGDIR
- Directory for installing CGI files.
M4
- m4 macro processor (for compiling sendmail cf files).
OWNER
- Owner of FIDOGATE files.
GROUP
- Group of FIDOGATE files.
PERM_PROG
- Permissions for installing programs.
PERM_DATA
- Permissions for installing data files.
PERM_SETUID
- Permissions for installing setuid
OWNER programs.
PERM_DIR
- Permissions for installing directories.
CC
- C compiler.
YACC
yacc or a clone like bison -y .
AR
ar monkey ... (@!#$%&... ouch!) ... librarian.
RANLIB
- Library utitility, if needed.
DEBUG
- Optimize or debugging flags for compiling.
INCLUDE
- C include (-I) options.
CFLAGS
- Flags for compiling FIDOGATE.
LFLAGS
- Flags for linking FIDOGATE.
LIBS
- Libraries for linking FIDOGATE, including the FIDOGATE library
libfidogate.a .
INSTALL
- Install program.
- Set to
.exe for MSDOS, OS2, Win32.
INSTALL_PROG
- Install command for installing programs.
INSTALL_DATA
- Install command for installing data files.
INSTALL_SETUID
- Install command for installing setuid programs.
INSTALL_DIR
- Install command for installing directories.
PREFIX
- Extra prefix directory for
make install .
LIB
- Name of the FIDOGATE library.
2.3 Compiling and Installing FIDOGATE
Compile the beast by entering
Alternatively an optimized version can be compiled with
If everything works, you must create the necessary directories:
Then install all FIDOGATE programs:
Next you must create the configuration files in (default)
/etc/fidogate . Have a look at the various configuration in
directory examples/ and use them to build your own configuration.
2.4 Integrating FIDOGATE and the Mail/News System
scripts/inn
- Scripts for INN.
scripts/cnews
- Scripts for CNews.
sendmail/cf
- Sendmail V8 configuration files (m4) and example .mc files for
FIDOGATE: Fido.DE domain gateway morannon, orodruin, point setup.
Much more concise instructions should be here!!! ;-)
2.5 Testing the FIDOGATE Installation
2.5.1 Tosser
...
2.5.2 Gateway
...
2.6 Connecting to FIDONET
FIDOGATE does NOT include a FIDO mailer, so you have to transfer FIDO
mail to and from the UNIX system by some other means.
If you want everything running on the UNIX system, you need a FIDO
mailer for UNIX. Currently, this choice is limited to
I don't know what the current state of BinkleyTerm for Unix/Linux is,
but ifcico and BinkD are working very well for me. See the FIDOGATE home
page at http://www.fido.de/fidogate/ for links.
Another solution is a separate PC running DOS or OS/2 and BinkleyTerm as
a mailer. The Fido.DE gateway currently comprises a LINUX PC for the
gateway/tosser and Samba server, and an OS/2 PC running BinkleyTerm for
the analog phone and ISDN lines. The BinkleyTerm outbound is kept on the
LINUX server, so the OS/2 PC and the gateway have access to it.
This document was generated
by Martin Junius on July, 28 2002
using texi2html
|