config.h
header file
config.make
Makefile configuration
This chapter describes the FIDOGATE configuration and installation. You
must also edit the config files to be installed in the LIBDIR
directory. Create config.common
, config.gate
,
config.main
, config.ffx
, areas
, hosts
,
passwd
, routing
, packing
, aliases
according
to your setup (examples in the examples subdirectory).
The chapter on config files describes them in detail.
Hints for setting up a FIDOGATE point system without Internet mail connectivity:
NoFromLine
keyword into config
!!!
PASSTHRU_NETMAIL
and PASSTHRU_ECHOMAIL
in
src/config.h
. These functions are not necessary for a point system
and may cause trouble.
Gateway
in config.gate
. FIDOGATE can then be
used as your default mailer, delivering all non-Fido mail to this
gateway.
See also doc/Fido-Point-HOWTO
(German) and
doc/Fido-Point-eng-HOWTO
(English) for a complete description how
to install a point system. Furthermore, there is a section on point
configuration at the end of this document.
config.h
Header File
Comment/uncomment/change the #define
s to suit your requirements.
Common configuration:
LOCAL_FTN_ADDRESSES
DO_BSY_FILES
SECURE
MAXMSGSIZE
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
ftn2rfc
configuration:
ALIASES_ARE_LOCAL
aliases
config file are rewritten so
that the sender's address is the gateway.
CHARSET_DEFAULT_IBMPC
^ACHRS
kludge).
rfc2ftn
configuration:
PASSTHRU_NETMAIL
PASSTHRU_ECHOMAIL
FTN_FORCE_INTL
^AINTL
kludge, even if sender and receiver are
in the same default zone (first Address
in config
).
NO_CONTROL
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:
DO_HAVE_FCNTL_LOCK
DO_HAVE_GETTIMEOFDAY
DO_HAVE_TM_GMTOFF
DO_HAVE_SYSEXITS_H
sysexits.h
header file.
DO_HAVE_TM_ZONE
DO_HAVE_STRFTIME
DO_HAVE_TZNAME
extern char *tzname[2]
.
DO_HAVE_STRCASECMP
strcasecmp()
and
strncasecmp()
functions.
DO_HAVE_STRICMP
stricmp()
and
strnicmp()
functions.
DO_HAVE_STERROR
strerror()
function.
DO_BINARY
DO_DOSIFY
\
.
Define only one of DO_HAVE_TM_ZONE
, DO_HAVE_STRFTIME
,
DO_HAVE_TZNAME
, and also only one of DO_HAVE_STRCASECMP
,
DO_HAVE_STRICMP
.
THE FOLLOWING DEFINES SHOULD NORMALLY LEFT AS IS!!!
Message ID configuration:
FIDODOMAIN
MSGID_ORIGID
^AORIGID
, ^AORIGREF
kludges.
Files and directories used by FIDOGATE:
CONFIG_GATE
CONFIG_MAIN
CONFIG_FFX
DEF_ALIASES
DEF_AREAS
DEF_HOSTS
DEF_PASSWD
DEF_PACKING
DEF_ROUTING
DEF_HISTORY
^AMSGID
s for dupe checking.
HOSTS
ALIASES
AREAS
PASSWD
PACKING
ROUTING
LOG
SEQ_MAIL
ftn2rfc
for mail messages.
SEQ_NEWS
ftn2rfc
for news messages.
SEQ_MSGID
rfc2ftn
for ^AMSGID
s.
SEQ_PKT
rfc2ftn
for outbound packet names.
SEQ_SPLIT
rfc2ftn
for split messages number.
SEQ_FF
ffx
for control and data files.
SEQ_TOSS
ftntoss
, ftnroute
for output
packet files.
SEQ_PACK
ftnpack
for packet names in arcmail
archives.
SEQ_MQ
queuemail
. NOT YET IMPLEMENTED.
SEQ_TICK
ftnhatch
and ftntick
.
LOCK_HISTORY
INDIR
ftn2rfc
, relative to SPOOLDIR
.
INSECUREDIR
ftn2rfc
, relative to SPOOLDIR
.
INDIR_MAIL
ftn2rfc
creates converted mail messages,
relative to SPOOLDIR/INDIR
.
INDIR_NEWS
ftn2rfc
creates converted news messages,
relative to SPOOLDIR/INDIR
.
OUTDIR
rfc2ftn
creates output packets, relative to
SPOOLDIR
.
SEQ
SPOOLDIR
.
LOCKS
SPOOLDIR
.
TOSS_IN
TOSS_TMP
TOSS_OUT
TOSS_PACK
SPOOLDIR
. Used by ftntoss
, ftnroute
,
ftnpack
.
TOSS_BAD
QUEUE
TICK_HOLD
ftnhatch
and ftntick
.
xxxx_MODE
FTN_RFC_HEADERS
RFC_LVL_1_HEADERS
Program constants, increase the MAX values if needed.
xx_MODE
fopen
) for opening files.
DATE_DEFAULT
DATE_NEWS
DATE_MAIL
DATE_FIDO
PRODUCT_CODE
rfc2ftn
. Should be left as is
(0xfe
).
MAX_LINELEN
MAXADDRESS
Address
and Zone
statements in
config
file.
MAXDOSDRIVE
DosDrive
statements in config
file.
MAXPATH
MAXINETADDR
MAXUSERNAME
MAXOPENFILES
config.make
Makefile ConfigurationThis file is included in all FIDOGATE Makefiles.
A special convention is used for defining macros: a macros definition
which starts in the first column (no leading white space) will be used
by subst.pl
to replace <something> in the various shell and
perl scripts. Be careful and keep the formatting when editing this file.
The following definitions must start in the first column.
BINDIR
LIBDIR
SPOOLDIR
LOGDIR
INFODIR
HTMLDIR
OUTBOUND
INBOUND
PINBOUND
UUINBOUND
recvuu
script.
NEWSETCDIR
NEWSVARDIR
NEWSLIBDIR
NEWSSPOOLDIR
PERL
The following definitions should have leading white space.
SHELL
OWNER
GROUP
PERM_PROG
PERM_DATA
PERM_SETUID
OWNER
programs.
PERM_DIR
CC
YACC
yacc
or a clone like bison -y
.
AR
ar
monkey ... (@!#$%&... ouch!) ... librarian.
RANLIB
DEBUG
CFLAGS
LFLAGS
LIBS
libfidogate.a
.
INSTALL_PROG
INSTALL_DATA
INSTALL_SETUID
INSTALL_DIR
LIB
If the directories in SPOOLDIR
are different from the default
ones in config.h
, the commands for the install-dirs
target
of Makefile
must be changed as well.
Compile the beast by entering
make depend make
Alternatively an optimized version can be compiled with
make DEBUG=-O2
If everything works, you must create the necessary directories:
make install-dirs
Then install all FIDOGATE programs:
make install
Next you must create the configuration files. Have a look at the various
configuration in directory examples/
and use them to build your
own configuration.
More documentation is included in the doc
directory, especially the FIDOGATE-Point-HOWTO
. Most of it is
written in German, though.
scripts/inn
scripts/cnews
sendmail/cf
Much more concise instructions should be here!!! ;-)
ftn2rfc
To verify proper operation of FIDOGATE, copy a FIDO mail packet to the
directory SPOOLDIR/in, then execute LIBDIR/ftn2rfc as user
OWNER
. Add some -v
options for verbose debug messages:
libdir/ftn2rfc -vvvvv
This should result in one or more files named nnnnnnnn.msg
in the
directories SPOOLDIR/in/mail and SPOOLDIR/in/news. Check these files and
verify that they at least look like RFC headers. ;-)
Next execute
libdir/ftninpost
this will feed those files to rnews
and sendmail
. After
some processing you should find the messages in your mail folder and/or
newsgroups.
rfc2ftn
Grab a single news posting in a FIDO linked newsgroup and feed
it to rfc2ftn
:
libdir/rfc2ftn -vvvvv -n <ARTICLE
This should result in a FIDO mail packet nnnnnnnn.pkt
in the
directory SPOOLDIR/out.
Do the same with a mail message addressed to a FIDO recipient:
libdir/rfc2ftn -vvvvv USER_NAME@FIDO.ADDRESS <MESSAGE
Again you should get a packet nnnnnnnn.pkt
in
SPOOLDIR/out.
If this is working and you have integrated FIDOGATE and mail/news, you can try posting an article to a FIDO linked newsgroups and/or mailing a message to a recipient on FIDONET. The resulting packets should be in SPOOLDIR/out.
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. To my knowledge there are two working FIDO mailers:
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.
Go to the first, previous, next, last section, table of contents.