> Last update 08-Oct-2000

> # MBSE BBS - Internet Gateway - ifmail.

> ###

> Installing ifmail.

> I used ifmail 2.14-tx8.10 so this is the setup I will describe. Install the source in /opt/mbse/ifmail-2.14 as user mbse. Edit the file CONFIG to match your system setup. Here is my CONFIG file:

>     COPYRIGHT   = "Eugene G. Crosser, 1993-1997"

>     ##############################################################
>     # Included a lot of code from version 2.8c-JE13JUL1995       #
>     # which is copyrighted by Tsuneo Tanaka <tt@efnet.com>       #
>     #                                                            #
>     # Included code from ifcico-3.0.cm which is copyrighted      #
>     # by Christof Meerwald <cmeerw@htl.fh-sbg.ac.at> and under   #
>     # the GPL license. that applies to create_freqlist() in      #
>     # filelist.c, ifinfo.c, ttyio_cm.h, ifreq.c and the related  #
>     # man pages.                                                 #
>     # see http://www.cosy.sbg.ac.at/~cmeer/ifcico/ for more      #
>     # details on ifcico-3.0.cm                                   #
>     #                                                            #
>     # The HYDRA protocol is copyrighted by Arjen G. Lentz,       #
>     # LENTZ SOFTWARE-DEVELOPMENT and Joaquim H. Homrighausen.    #
>     # see the file ifcico/hydra.LICENSE.DOC for the full license #
>     #                                                            #
>     # conversion code for japanese in charconv_jp.c              #
>     # is copyrighted by Ken Lunde <lunde@adobe.com>              #
>     # conversion code for chinese in charconv_hz.c               #
>     # is copyrighted by Fung F. Lee <lee@umunhum.stanford.edu>   #
>     #                                                            #
>     # Programs in misc/contrib are copyrighted by their authors  #
>     #                                                            #
>     # The "tx" versions also includes ideas and patches from     #
>     # several other people, see file Credits.TX                  #
>     #                                                            #
>     # Other modifications are from me.                           #
>     # ( Pablo Saratxaga <srtxg@chanae.alphanet.ch> )             #
>     ##############################################################
>     VERSION     = "2.14-tx8.10"

>     # Several paths
>     #
>     BINDIR		= "/opt/mbse/bin"
>     CONFIGFILE	= "/opt/mbse/etc/ifmail.conf"
>     MAPTABDIR	= "/opt/mbse/etc/maptabs"
>     DEBUGFILE	= "/opt/mbse/log/ifdebug.log"
>     LOGFILE		= "/opt/mbse/log/ifmail.log"
>     MAILLOG		= LOG_LOCAL0
>     NEWSLOG		= LOG_LOCAL0
>     CICOLOG		= LOG_LOCAL0
>     LOCKDIR		= "/var/lock"
>     PUBDIR		= "/var/spool/uucppublic"
>     NEWSSPOOL	= "/var/spool/news"
>     FAKEDIR		= "/tmp/ifmail/"

>     # Uses libintl for internationalizing some strings. Interactive messages are
>     # printed in your language, according to LC_MESSAES or LANG variable)
>     #
>     # po/Makefile and nls implementation idea copied from rpm-2.4.3
>     #
>     USE_NLS = No

>     # REFERENCES_MSC96 keep track of MSGID / Message-ID couples, and when a
>     # a ^aREPLY arrives that correspond to those MSGID, it is expanded back to
>     # the correct References: line
>     # see iflib/ref.c for more complete info
>     #
>     REFERENCES_MSC96 = yes

>     # Compile-time system-dependant options.

>     # If you specify "-DHAS_NDBM_H", ndbm calls will be used instead
>     # of dbm ones, and the feature will be activated of Cnews log processing
>     # to add entries to SEEN-BY if echo message is exported to several FTN
>     # nodes by Cnews mechanism. This works with INN too.

>     # If you specify "-DHAS_STATFS" or "-DHAS_STATVFS", statfs() (or statvfs()
>     # respectivly) call will be used to check available disk space. For statfs()
>     # call, you must also specify which .h file to use: "-DSTATFS_IN_VFS_H" or
>     # "-DSTATFS_IN_STATFS_H" or "-DSTATFS_IN_STATVFS_H"  or "-DSTATFS_IN_MOUNT_H".
>     # For statvfs() call, statvfs.h is included.

>     # define -DSCO_STYLE_STATFS if your statfs() call requires 4 arguments.

>     # If you specify "-DHAS_SETSID", setsid() call is used to detach from the
>     # control terminal. Otherwise setpgrp() call is used, and in this case you
>     # may specify "-DBSD_SETPGRP" to use BSD-style call.  Used in ifcico only.

>     # If you specify "-DDONT_HAVE_TM_GMTOFF", timezone offset will be calculated
>     # from the difference between the results of localtime() and gmtime() calls
>     # instead of using tm_gmtoff field of struct tm.

>     # If you specify "-DDONT_HAVE_GETOPT", local definitions for getopt will
>     # be used (but not the function itself)

>     # For ifcico, you must specify -DHAS_TERMIOS_H (preffered), -DHAS_TERMIO_H
>     # or -DHAS_SGTTY_H to use POSIX-y, SysV-ish of BSD-ish terminal control.

>     # in SVR4 you should specify -DHAS_DIAL (and maybe -DHAS_DIAL_H) to use
>     # dial() library function instead of regular open().  Lock files are
>     # not used in this case.

>     # for uucp lock files, you must specify either -DASCII_LOCKFILES or
>     # -DBINARY_LOCKFILES

>     # define -DHAS_FSYNC if there is a fsync() system call (to update .flo
>     # files)

>     # define -DPARANOID if you want iftoss to deny packets with wrong password.

>     # define -DRELAXED if you want iftoss to accept packets that are not
>     # addressed to your node.

>     # define -DFORCEINTL if you want ifmail to create ^aINTL even if this is
>     # not an inter-zone netmail.

>     # define -DNEED_UUCPFROM if your MTA needs a uucp "From" line in mail.

>     # define -DHAS_TCP if you want ifmail to be able to originate outgoing
>     # connections over TCP/IP (socket library needed)

>     # define -DHAS_TERM if you want ifmail to be able to originate outgoing
>     # connections over TERM (TCP "extention", client.a needed)

>     # define -DHAS_REGEX_H or -DHAS_LIBGEN_H if you have either of these
>     # header files for regular expression handlers.

>     # define -DHAS_SYSLOG to use syslog() instead of logging to files.
>     # Files are necessary anyway, external programs' stdout and stderr
>     # are redirected there.

>     # define -DNEED_BSY if you want ifpack and ifcico to create .bsy
>     # files preventing simultaneous processing of the same node.
>     # This is *not* necessary, ifcico will work without such locking.

>     # define -DNEED_FORK if your system is uncapable of getting rid of the
>     # control terminal unless you are running not as a group leader.

>     # as of June 1994, FreeBSD has a nasty bug in the kernel lseek() code:
>     # if you make lseek() to a point before the start of the file, it
>     # succeeds and the writing point becomes negative.  Fortunately,
>     # subsequent write()s fail :-).  To overwork this, define
>     # -DNEGATIVE_SEEK_BUG, this will add an extra fseek() to restore
>     # zero writing point where necessary.

>     # define -DNEED_TRAP if you want debugging information when the programs
>     # are aborted with segmentation fault etc.  Currently tested and works
>     # only with Linux, and only with kernels >= 1.1.20.

>     # define -DSLAVE_SENDS_NAK_TOO if you have problems answering incoming
>     # EMSI sessions originated by FrontDoor.  FrontDoor does not follow
>     # EMSI specifications when originating calls, this is a workaround.

>     # define -DBELEIVE_ZFIN=1 if you cannot get files sent by Terminate.
>     # Original Zmodem source does not beleive first ZFIN packet when
>     # receiving file, and sends more than one ZFIN while sending.  But
>     # it seems that Terminate Zmodem only send one ZFIN.  I could not
>     # check this myself.  If not defined, BELEIVE_ZFIN will be assumed
>     # 2, that is, skip 1st ZFIN but acknowledge second.

>     # define -DDONT_HAVE_DIRENT if there is no working opendir()/readdir()
>     # etc. in your libc.  You will also need to add "dirent.o" to the NEEDED
>     # (see below).

>     # define -DHAS_BSD_SIGNALS if your SIGALRM does not interrupt system
>     # calls by default.  Note that this also needed on Linux with glibc2
>     # (libc6.x.x)

>     # define -DDONT_HAVE_DBMCLOSE if your dbm implementation does not have
>     # dbmclose() / dbm_close() function.

>     # define -DHAS_BSD_DB if you have BSD `db' package instead of usual
>     # [nsg]dbm.  We use ndbm compatibility interface of `db', so you also
>     # need to specify -DHAS_NDBM_H.  `ndbm compatibility' interface of BSD
>     # db is not fully ndbm compatible, this is a workaround.

>     # specify -DINT32= which type corresponds to 32bit and
>     # -DINT16= - which type corresponds to 16bit integer on your
>     # system, usually "-DINT32=long -DINT16=short"

>     # ### Defines from ifcico 3.0.cm

>     # define HAS_SELECT if you have select() system call.  alarm() will not
>     # be used for timed reads and bidirectional protocols.

>     # define -DHAS_SYS_SELECT_H if your select() prototype is in sys/select.h
>     # (otherwise assumed to be in sys/time.h)

>     # define -DSELECT_NEED_SYS_TIMES_H if #include  needed to
>     # use select() (maybe some SCO versions)

>     # define -DSELECT_NEED_BSDTYPES_H if #include  needed to
>     # use select()

>     # ### Defines from version 2.8c-JE

>     # define -DIGNORE_SOFTCR if you need to treat SoftCR (0x8d) as a printable
>     # character.

>     # define -DKEEP_TEARLINES_CLEAN if you want to keep tearlines clean.

>     # define -DREPLACE_TEARLINES_WITH=\""ifmail 2.8b-JE for 1BM OSF/2"\" if you
>     # want to replace tearlines with "ifmail 2.8b-JE for 1BM OSF/2."

>     # define -DRESTAMP_FUTURE_POSTINGS if your news transport agent
>     # refuses/rejects 'future postings.'

>     # define -DMACHIGAI to not be fooled whith those lines like "John:\n" etc,
>     # some FTN editors use. This option tells ifmail not to consider those lines
>     # as rfc headers lines, so avoiding that INN rejects the messages for
>     # "non colon space in header" reason.

>     # ### Defines in TX versions

>     # define -DPUDDLE_GATE handle Newsgroups: line generated by puddle.fidonet.org
>     # (the different newsgroups are separated by ", " instead of ","), in the ftn
>     # messages. If you don't receive gated echoareas from there you don't need it.

>     # define -DPCBOARD_GATE to recognize lines generated by usenet-> PcBoard -> ftn
>     # gateways (I only know one, the 2:320/7)

>     # -DALLOW_CONTROL allows Control: headers to be gated, and Control: cancel
>     # to be be created from their ftn counterparts and vice-versa

>     # -DFORCE_REPLYTO forces REPLYTO and REPLYADDR lines

>     # -DFORCE_REPLYTO_LOCAL use address local (bestaka), even if a REPLYTO
>     # with another address already exists.
>     # So your downlinks only saw gated mail as being from your machine

>     # -DRNEWSB; when compiled with it, the result of ifnews -N is an
>     # rnews readable file. (otherwise it puts "#!/bin/sh\nrnews <<__EOF__\n"
>     # at the beginning). This allows moving the file to news in.coming directory
>     # and running "rnews -U"; without this option, you have to shell-execute the
>     # file, and you have problems with characters of special meaning for the shell
>     # ( \, `, $, etc.).

>     # define -DRESTAMP_OLD_POSTINGS=XX if you want to allow your news transport
>     # agent to accept articles older tan 15 days (but not more than XX).
>     # This can be necessary because of the low velocity of FTN routing.

>     # define -DDONT_REGATE if you don't want ifmail to gate a message
>     # that was originally gated by another gateway system.

>     # -DKEEP_MSGID_ON_SPLIT keeps the Message-ID on splitted FTN messages.
>     # so they are not gated back to usenet on another gateway if the original
>     # rfc article reached the site first.

>     # -DAREAS_HACKING allows you to define Areas.fidosite files which
>     # are scanned for a given fidosite. If the file doesn't exist, then it
>     # defaults to Areas.

>     # -DLEVEL=X sets the level for ^aRFC- kludges. If not set 1 is the default.
>     # it determines the amount of info from rfc headers that is kept when gating
>     # -1: really nothing is gated, not recommended at all !
>     #  0: only intended for points or end-leaf nodes that have only an FTN link
>     #  1: normal level inteded for normal gateways and nodes (points)
>     #  2: keeps almost everything, including lots of non relevant headers.
>     #  3: hey! same as 2 but in plain text, no ^aRFC- kludge is used.
>     # I recommend you to leave the default value of 1 if you don't _really_ know
>     # what you are doing.

>     # -DFSC_0047 implements fsc-0047 ^aSPLIT kludges for splitted messages
>     # !!! NOT WORKING YET !!!!
>     # If someone can take a look at it and really implement it I'll highly appreciate
>     # !!! NOT WORKING YET !!!!

>     # -DDEFAULT_ORIGIN=\"string\" to specify the string to put in Origin lines
>     # for messages which haven't one nor an Organisation: header.
>     # The default is "Unknown".

>     # -DTERMAIL_HACK tries to correct a bug in TerMail 4 which sometimes reports
>     # incorrect charsets (ie: puts "LATIN-1 2" while the message use in fact
>     # "IBMPC 2". Hoping that version 5 will repair it.

>     # -DFSCHTML text/html support from fsc proposal of Lee Kindness (2:259/7.1)
>     #

>     # -DPGP_LIKE_DASHES compiles the Eugene's code that changes "---" to "- ---"
>     # I prefer not tu use it until I don't do the reverse, it will also mess up
>     # the PGP signatures...

>     # -DPKT_2_2 creates outbound packets in the 2.2 pkt format,
>     # instead of 2+ format. take a look at iflib/packet.c for the differences
>     # between those two formats

>     # -DGATEBAU_MSGID uses Gatebau rules for MSGID <-> Message-ID conversion
>     # instead of the ifmail rules. ** USE IT WHITH CARE **

>     # -DADD_PID adds a ^aPID kludge when gating to FTN whit the name of the
>     # user program used by the message author (if that can be retrieved; if not
>     # the ^aPID isn't added)

>     #General options:
>     # These are not machine dependent, and describe only ifmail/ifcico features
>     OPTS        =	-DTERMAIL_HACK -DTPUT_STATUS_HACK \
>     		-DDONT_REGATE -DSLAVE_SENDS_NAK_TOO \
>     		-DPUDDLE_GATE -DPCBOARD_GATE -DRNEWSB \
>     		-DRESTAMP_OLD_POSTINGS=21 \
>     		-DKEEP_MSGID_ON_SPLIT -DIGNORE_SOFTCR \
>     		-DRELAXED -DFORCEINTL -DHAS_TCP -DAREAS_HACKING \
>     		-DRESTAMP_FUTURE_POSTINGS -DFSCHTML -DMACHIGAI \
>     		-DALLOW_RETURNPATH \
>     		-DDIRTY_CHRS -DAREAS_NUMERAL_COMMENTS \
>     		-DKEEP_TEARLINES_CLEAN

>     #		-DAREAS_NUMERAL_COMPATIBILITY -DJE
>     #		-DALLOW_CONTROL -DFORCE_REPLYTO
>     #		-DPARANOID -DNEED_UUCPFROM -DPARANOID
>     #		-DBELEIVE_ZFIN=1 -DGATEBAU_MSGID

>     # Linux/x86:
>     # (If you use glibc2 aka libc6.x add -DHAS_BSD_SIGNALS)
>     # (If you use libc5 remove -DHAS_BSD_SIGNALS)
>     OPTS        +=	-DHAS_STATFS -DSTATFS_IN_VFS_H -DHAS_SETSID -DHAS_NDBM_H \
>     		-DDONT_HAVE_TM_GMTOFF -DHAS_TERMIOS_H -DASCII_LOCKFILES \
>     		-DHAS_FSYNC -DHAS_IOCTL_H -DHAS_REGEX_H \
>     		-DNEED_BSY -DNEED_TRAP \
>     		-DNEED_FORK -DHAS_SELECT \
>     		-DINT32=long -DINT16=short

>     # 386BSD, FreeBSD:
>     #OPTS        += -DHAS_STATFS -DSTATFS_IN_MOUNT_H -DHAS_SETSID -DHAS_NDBM_H \
>     #		-DHAS_TERMIOS_H -DASCII_LOCKFILES -DHAS_FSYNC -DHAS_IOCTL_H \
>     #		-DHAS_REGEX_H -DHAS_SYSLOG \
>     #		-DNEED_BSY -DNEED_FORK -DNEGATIVE_SEEK_BUG \
>     #		-DHAS_SYS_ERRLIST -DHAS_BSD_SIGNALS -DHAS_SELECT \
>     #		-DINT32=long -DINT16=short

>     # SVR4:
>     #OPTS        += -DHAS_STATVFS -DDONT_HAVE_TM_GMTOFF -DHAS_SETSID -DHAS_NDBM_H \
>     #		-DHAS_TERMIOS_H -DHAS_DIAL -DHAS_DIAL_H -DASCII_LOCKFILES \
>     #		-DHAS_FSYNC -DHAS_IOCTL_H -DHAS_LIBGEN_H -DHAS_SELECT \
>     #		-DHAS_SYSLOG -DINT32=long -DINT16=short

>     # Solaris
>     #OPTS        += -DHAS_STATVFS -DDONT_HAVE_TM_GMTOFF -DHAS_SETSID -DHAS_NDBM_H \
>     #		-DHAS_TERMIOS_H -DHAS_DIAL -DHAS_DIAL_H -DASCII_LOCKFILES \
>     #		-DHAS_FSYNC -DHAS_IOCTL_H -DHAS_LIBGEN_H -DNEED_BSY \
>     #		-DHAS_SELECT -DHAS_SYSLOG -DINT32=long -DINT16=short

>     # RISCOS5:
>     #OPTS        += -DHAS_STATVFS -DDONT_HAVE_TM_GMTOFF -DHAS_SETSID -DHAS_NDBM_H \
>     #		-DHAS_TERMIOS_H -DHAS_DIAL -DHAS_DIAL_H -DASCII_LOCKFILES \
>     #		-DHAS_FSYNC -DHAS_IOCTL_H -DHAS_LIBGEN_H \
>     #		-DHAS_SYSLOG \
>     #		-DCRTSFL_COMMAND=\"${BINDIR}/rtscts\" \
>     #		-DMIPS_RTSCTS_HACKING=\"${BINDIR}/rtscts\" \
>     #		-DMIPS_DATE_HACKING -DMIPS_SPEED_HACKING \
>     #		-DINT32=long -DINT16=short

>     # SunOS:
>     #OPTS        += -DHAS_STATFS -DSTATFS_IN_VFS_H -DHAS_SETSID -DHAS_NDBM_H \
>     #		-DDONT_HAVE_GETOPT -DHAS_TERMIOS_H -DASCII_LOCKFILES \
>     #		-DHAS_FSYNC -DHAS_SYSLOG -DHAS_SELECT \
>     #		-DINT32=long -DINT16=short

>     # SCO Unix 3.2v4.2
>     #OPTS        += -DHAS_STATFS -DSTATFS_IN_STATFS_H -DSCO_STYLE_STATFS \
>     #		-DHAS_TERMIOS_H -DDONT_HAVE_TM_GMTOFF -DDO_NEED_TIME \
>     #		-DDONT_HAVE_GETOPT -DASCII_LOCKFILES -DHAS_IOCTL_H \
>     #		-DHAS_SYSLOG \
>     #		-DINT32=long -DINT16=short

>     # ISC Unix 3.2 v3.0
>     #OPTS        += -DHAS_STATFS -DSTATFS_IN_STATFS_H -DHAS_TERMIO_H \
>     #		-DDONT_HAVE_TM_GMTOFF -DDONT_HAVE_GETOPT \
>     #		-DASCII_LOCKFILES -DHAS_IOCTL_H -DSCO_STYLE_STATFS \
>     #		-DUSE_POLL -DHAS_NET_ERRNO_H -DSHORT_PID_T \
>     #		-DHAS_SYSLOG \
>     #		-DINT32=long -DINT16=short
>     # On ISC, if you are suing gcc, you can run into a trouble with sscanf()
>     # function.  It appears that sscanf(string,"%d.%d",&int1,&int2) where
>     # string is a constant segfaults unless you specify "-fwritable-strings"
>     # to gcc.  I would say that this is a bug in ISC libc.  If nessecary,
>     # add this to the defines above.  If you have ISC version 4.0 or later,
>     # you can add "-posix", remove "-DSHORT_PID_T" and specify "-DHAS_TERMIOS"
>     # to get benefit of posix terminal control.

>     # AIX 3.2.5
>     #OPTS        += -DDONT_HAVE_TM_GMTOFF -DDO_NEED_TIME \
>     #		-DHAS_TERMIOS_H -DASCII_LOCKFILES -DHAS_FSYNC \
>     #		-DHAS_IOCTL_H -DHAS_STATFS -DSTATFS_IN_STATFS_H \
>     #		-DNEED_BSY -DINT32=long -DINT16=short

>     # NeXTSTEP
>     #OPTS         += -DHAS_STATFS -DSTATFS_IN_VFS_H -DHAS_SETSID \
>     #		-DHAS_TERMIOS_H -DASCII_LOCKFILES -DHAS_FSYNC -DHAS_IOCTL_H \
>     #		-DHAS_REGEX_H -DHAS_SYSLOG \
>     #		-DNEED_BSY -DNEED_FORK -DNEGATIVE_SEEK_BUG \
>     #		-DDONT_HAVE_GETOPT -DINT32=long \
>     #		-DINT16=short

>     # Digital UNIX 3.2 (formerly OSF/1)
>     #OPTS        += -DHAS_NDBM_H -DHAS_STATVFS -DHAS_SETSID -DNEED_FORK \
>     #		-DHAS_TERMIOS_H -DASCII_LOCKFILES -DHAS_FSYNC -DHAS_SYSLOG \
>     #		-DHAS_REGEX_H -DDONT_HAVE_GETOPT \
>     #		-DNEED_BSY -DSLAVE_SENDS_NAK_TOO -DINT32=int -DINT16=short

>     # for make install, where to put binaries and what owner to set
>     # (owner should be a `trusted user' for your MTA)
>     OWNER = mbse
>     GROUP = bbs
>     MODE = 0755
>     SMODE = 4711
>     MANDIR = "/opt/mbse/man"
>     MANOWNER = man
>     MANGROUP = man
>     MANMODE = 0644

>     INSTALL = install
>     AR = ar
>     RANLIB = ranlib
>     #RANLIB = touch
>     SHELL = /bin/sh
>     ECHO = echo -e
>     CC = gcc
>     #YACC = bison -y
>     YACC = yacc
>     #LEX = flex
>     LEX = lex
>     AWK = awk
>     TAR = tar

>     #CFLAGS = -g -Wall
>     # Linux, 386BSD, FreeBSD, SunOS:
>     CFLAGS = -O2 -Wall
>     # SVR4:
>     #CFLAGS = -O -Xa
>     # NeXTSTEP
>     #CFLAGS = -O2 -Wall -posix -g
>     #LDFLAGS =  -g -L/usr/gnu/lib -nostartfiles /lib/posixcrt0.o
>     # DgUX
>     #CFLAGS= -migrate -O5 -ifo -g0
>     #LDFLAGS = -s

>     LDFLAGS +=

>     # For LIBS, you may need to add "-lfl" if you are using flex 2.4.x
>     # If you need TERM also add e.g. "/usr/src/term112/client.a"

>     # Linux
>     # add -lresolv if you use libc6 (aka glibc 2)
>     # remove -lresolv if you use libc5
>     LIBS = -lgdbm
>     # SunOS:
>     #LIBS =
>     # 386BSD, FreeBSD:
>     #LIBS = -lgdbm -lcompat
>     # SVR4
>     #LIBS = -ldbm -lform -lnsl -lsocket -lc -L/usr/ucblib -lucb
>     # Solaris
>     #LIBS = -ldbm -lform -lresolv -lsocket -lc -L/usr/ucblib
>     # SCO
>     #LIBS = -ldbm -lsocket -lintl
>     # ISC
>     #LIBS = -lcposix -lmalloc -ldbm -linet -lPW
>     # NeXTSTEP
>     #LIBS = -lgdbm -lposix

>     INCLUDES = -I${INCDIR}
>     # ISC
>     #INCLUDES = -I/usr/include/rpcsvc -I${INCDIR}

>     # What programs are absent at your system?
>     ## !!! tx version uses a lot the strcasestr() function. I have had comments
>     ## on only Linux and 386BSD, so I don't know if others need to add it or
>     ## already have in their standard libc. Check out and tell me - P.Saratxaga
>     #NEEDED = strcasestr.o strncasecmp.o strcasecmp.o rename.o mkdir.o usleep.o \
>     #		regexpr.o strerror.o
>     # Linux
>     NEEDED = strcasestr.o
>     # SVR4
>     #NEEDED = regexpr.o strcasestr.o
>     # Solaris
>     # 	tmpfile.o places temporary file to /tmp, instead of /var/tmp.
>     # 	This greatly increase performanece of iftoss.
>     #NEEDED = regexpr.o strcasestr.o tmpfile.o
>     # SCO
>     #NEEDED = strcasestr.o strncasecmp.o strcasecmp.o usleep.o regexpr.o
>     # SunOS and 386BSD and FreeBSD
>     #NEEDED = signal.o strcasestr.o
>     # ISC
>     #NEEDED = usleep.o regexpr.o vsyslog.o
>     # AIX
>     #NEEDED = strcasestr.o strncasecmp.o strcasecmp.o

>     # confitional stuff
>     ifeq (yes,${USE_NLS})
>     # uncomment this line if you use libc5
>     # comment out this line if you use glibc
>     #LIBS += -lintl
>     NLSDIR=/usr/share/locale
>     NLSPACKAGE=ifmail
>     OPTS += -DHAVE_LOCALE_H -DNLS_CAT_NAME=\"${NLSPACKAGE}\" \
>     	-DNLS_LOCALE_PATH=\"${NLSDIR}\"
>     endif
>     ifeq (yes,${REFERENCES_MSC96})
>     OPTS += -DREFERENCES_MSC96
>     endif

> If you have created the CONFIG file type make all and make install. Don't install as root user but as user mbse. After that you may remove ifcico ifindex and nlpatch from the /opt/mbse/bin directory. Now you need to create the Areas and ifmail.conf files in the /opt/mbse/etc directory. Here are the examples:

>      Conversion of areatags to newsgroups (with distribution) and back.

>      Lines starting with a whitespace are comments.  This is because
>      areatags may contain a hash ('#') character which would otherwise
>      be sutable as a comment designator.

>      AREATAG		newsgroup			distribution

>     BIER.028		fido.028.bier			fido
>     HOLLAND.ANN		fido.holland.announce		fido
>     HOLLAND.COORD		fido.holland.coordinator	fido
>     HOLLAND.SYSOP		fido.holland.sysop		fido
>     SYSOPS.BNL		fido.bnl.sysops			fido
>     NEWFILES.BNL		fido.bnl.newfiles		fido
>     LINUX.028		fido.028.linux			fido
>     LINUX.BNL		fido.bnl.linux			fido
>     VIRNL			fido.028.virnl			fido
>     POINTS.028		fido.028.points			fido

>     BBS_INTERNET		fido.bbs.bbs_internet		fido
>     BINKD			fido.bbs.binkp			fido
>     C_ECHO			fido.comp.lang.c		fido
>     FIDO_UTIL		fido.bbs.fido_util		fido
>     FTSC_PUBLIC		fido.bbs.ftsc.public		fido
>     IP_CONNECT		fido.bbs.ip_connect		fido
>     NET_DEV			fido.bbs.net.development	fido
>     UFGATE			fido.bbs.ufgate			fido
>     LINUX			fido.comp.os.linux		fido
>     LINUX_BBS		fido.comp.os.linux.bbs		fido
>     LINUX-USER		fido.comp.os.linux.user		fido
>     UNIX			fido.comp.os.unix		fido
>     VIRUS			fido.comp.virus			fido

>     ENET.SYSOP		fido.eur.sysop			fido

>     SOFTWARE.500		fido.hcc.software		fido

>     LOCAL1.BBS		local.users			local
>     LOCAL2.BBS		local.user_sysop		local
>     LOCAL.TEST		local.test			local
>     BINARY.TEST		local.binary.test		local

>     COMP.OS.LINUX.ANNOUNCE	comp.os.linux.announce
>     COMP.OS.LINUX.SECURITY	comp.os.linux.security
>     NL.LINUX.ANNOUNCE	nl.comp.os.linux.announce

>      Line with a single '*' in the AREATAG field defines default newsgroup
>      and distribution.  '*' in the "newsgroup" field, if present, is expanded
>      to the original areatag (converted to lowcase).

>     *			junk			local

>      Line with a single '*' in the "newsgroup" field defines default areatag.
>      '*' in the AREATAG field, if present, is expanded to the original
>      newsgroup (converted to uppercase).  (Distribution is irrelevant).

>     BAD.*			*

>      You can specify a line with a single asterisk in the AREATAG field and
>      a single asterisk in the "newsgroup" field.  It will cause a reversible
>      conversion - areatag will be an uppercased newsgroup, and a newsgroup
>      will be a lowercased areatag.  This is not recommended (and therefore
>      commented out in this example).

>      *			*			world

> Here is the ifmail.conf file, note that it's a lot shorter than the normal ifmail.conf file, what you don't see here, you don't need.

>     # ~/etc/ifmail.conf for Fidonet/Internet Gateway
>     #
>     # For ifmail-2.14-tx8.10
>     #
>     # System: 2:280/2802

>     # Log file name. Overrides compile-time default.
>     #
>     logfile		/opt/mbse/log/ifmail.log
>     debugfile	/opt/mbse/log/ifdebug.log

>     # Debugging verbosity (is overidden by -x key). Default is 0.
>     verbose		0

>     # Main address and aka's for the gateway (internet side).
>     #
>     address		2:280/2802.99@fidonet

>     # Passwords for nodes. Not checked by iftoss (unless -DPARANOID specified
>     # at compile-time). Inserted into outgoing mail packets.
>     # These are the Fidonet addresses of the gateway (the MBSE BBS Aka's).
>     #
>     password	2:280/2802	DONTKNOW

>     # System alias file - try to fetch ftn-style aliases from there.
>     # If "from" address of a message from FidoNet matches _right_ side
>     # of some entry in sysalias file, then the Reply-To: header is created
>     # in the RFC message with the name part taken from the left side of the
>     # sysalis entry and domain part taken from myfqdn (below). E.g., if a
>     # fidonet message comes from "John Smith of 1:234/567.89@fidonet" and
>     # there is an entry in the sysalias file:
>     # "jsmith:	John.Smith@p89.f567.n234.z1.fidonet.org"
>     # and fqdn value is "pccross.msk.su", then the resulting message will
>     # contain a line: "Reply-To: jsmith@pccross.msk.su".
>     sysalias	/opt/mbse/var/aliases

>     # This host fully qualified domain name to add to the alias above
>     #
>     myfqdn		seaport.mbse.nl

>     # Directory for incoming and outgoing packets/files:
>     #
>     inbound		/opt/mbse/gate/inbound
>     listinbound	/opt/mbse/gate/inbound
>     protinbound	/opt/mbse/gate/inbound
>     outbound	/opt/mbse/gate/outbound

>     # If you specify this, outgoing arcmail files will go to `outbound',
>     # but be reffered as being in `dosoutbound' in the .flo files
>     #
>     dosoutbound     n:

>     # domain translations, just context substitution.  Leading dot recommended.
>     # May contain '@'-sign too.  First matching used.
>     # NOTE: If you specify at least one domtrans line, there will be _NO_
>     # default for fidonet <--> fidonet.org.  Don't forget to specify it
>     # explicitly as a last line.
>     #		FTN side		Internet side
>     domtrans	.fidonet		.fidonet.org

>     # Sequencer file (used to generate unique IDs)
>     sequencer	/opt/mbse/var/seq

>     # Areas file (format: "AREA newsgroup distribution")
>     areas		/opt/mbse/etc/Areas

>     # Maximum allowed number of groups in the Newsgroups header, article will
>     # not be gated if exeeds.  If zero or omitted - no limit.
>     maxgroups	0

>     # Character translation tables.  The format of the files is as follows:
>     #
>     #
>     #
>     # (one character in a line).   and  can be specified
>     # in one of four notation styles:
>     # - character itself in single quotes (e.g. 'a')
>     # - decimal number (e.g. 123)
>     # - octal number (e.g. 0123)
>     # - hexadecimal number (e.g. 0x7f)
>     #
>     maptabdir	/opt/mbse/etc/maptabs
>     defaultrfcchar	iso-8859-1
>     defaultftnchar	cp437

>     # Transport programs for mail and news, used by iftoss
>     # for sendmail, $F expands to "from" address, $T - to "to" address.
>     sendmail	/usr/lib/sendmail -f $F $T
>     rnews		/opt/news/bin/rnews

>     # Toss program, used by ifunpack
>     iftoss		/opt/mbse/bin/iftoss

>     # Unpackers, used by ifunpack.
>     # $F expands to archieve file name
>     unzip		/usr/bin/unzip -ojq $F
>     unarj		/usr/bin/unarj e $F
>     unarc		/usr/bin/unpack $F
>     unzoo		/usr/bin/zoo -extract $F

>     # Packer program, used by ifpack
>     # $F expands to archieve file name, $P - to list of packet names
>     packer		/usr/bin/zip $F $P

>     # Maximum arcmail file size, ifpack will start new arcmail file if exceeds
>     maxfsize	500000

>     # Maximum packet size, ifmail/ifnews will start new packet if exeeds.
>     # *.?ut files are NOT created if nonzero specified, you must run ifpack
>     # to make packets go out.
>     maxpsize	150000

>     # Maximum message size when splitting big messages of usenet origin
>     # default is 12300 bytes
>     maxmsize 28000

>     # Flavors that should not be subject to packet size limiting.  These
>     # flavors will be put into `ready to send' packets and not packed
>     # by ifpack.  Special flavor 'm' means "all netmail".
>     nonpacked	cm

>     # cnews log file and (temporary) database for seen-bys
>     newslog		/opt/news/log
>     #msgidbm		/tmp/ifmsgids

> Go Back Go to main