2. Programs you are going to need

2.1 ifmail 2.14

ifmail is a rfc<->ftn and ftn<->rfc transport package that works in 
conjuction with a news transport agent and mail transport agent. It doesn't
wait actively, but instead is invoked by a getty. It is very similiar to
uucico from UUCP. Version 2.14 is the latest release as of this writing.

ifmail is developed by:
Eugene G. Crosser (crosser@average.org or 2:5020/230).

To obtain the latest version check out :
ftp://ftp.average.org/pub/ifmail
ftp://tsx-11.mit.edu/pub/linux/sources/usr.bin/
ftp://sunsite.unc.edu/pub/Linux/system/Fido/
or at any sunsite mirror site.

2.2 ifmail 2.14 tx8.8

The tx versions have some improvements over the original, like charset
support, MIME quoted printable support, better MSGID management, reference
handling and some PGP recognition. Also the ability to handle Gatebau-style
MSGID<->Message-ID conversion.


The tx version is maintained by:
Pablo Saratxaga (srtxg@chanae.alphanet.ch or 2:293/2219 or 4:850/1.29)

To obtain the lastest version check out :
ftp://ftp.z2.fidonet.org/pub/linux/Fido/
and most sunsite mirrors.

2.3 Mail Transport Agent (MTA)

Here one has the choice between smail and sendmail V8.  Smail is the 
smaller and simpler package to configure, but it has some small bugs. 
sendmail V8 is not very easy to configure, but there is a configuration
with the macro-processor M4, which simplifies the configuration enormously,
so configuring sendmail should be as simple as smail. I myself changed 
from smail to sendmail.

2.3.1 smail

As the old version 3.1.28.1 of smail had a bug in the uuname-driver 
(which is only important when using UUCP) I used version 3.1.29.1 from 
ftp://sunsite.unc.edu/pub/Linux/system/Mail/delivery/
smail-linuxbin-3.1.29.1.tar.gz. Slackware now contains sendmail instead
of smail, so it shouldn't be too difficult to get rid of smail.

2.3.2 sendmail V8

The Slackware version of sendmail V8 is 8.8.3, and there shouldn't be 
any problems with using versions greater than 8.8.3. Version 8.8.3 has
a number of security-gaps, but this is only important if the computer 
is connected to the Internet, in which case I suggest using the lastest
release. One can obtain the latest version of sendmail from 
ftp://ftp.CS.Berkeley.EDU/ucb/src/sendmail/, but as I already mentioned
it's also part of the Slackware-Distribution. It's very important to 
install the complete configuration files, which are hidden in a package
with the confusing name smailcfg.tgz.

2.4 News Transport Agent

As for News-Transport-Agent one can use cnews as well as INN.  To help 
you choose one of them, here are some of the pros and cons of both programs:

cnews consists mostly of shell-scripts, which can't be debugged very easily 
and run rather slow. Cnews can't use NNTP (online-news-protocol). If you want
to use NNTP. (e.g. for various newsreaders, which can only communicate with 
the news system via NNTP), you need a nntpd. Configuring a nntpd is quite
difficult and doesn't always support all the capabilities of NNTP.

INN supports NNTP natively. That's why there is always a daemon (innd) running
who makes sure that the local news-articles are immediately readable to all 
users. Using cnews the articles are imported only after a specified time (e.g.
every 10 minutes) to the news system. cnews will cause problems, if there is 
less than 10 MB free space in /var/spool/news.

I myself am using INN 1.5.1, because INN is considerably easier to configure 
than cnews.

2.4.1 cnews

As older Slackware Distributions came with a cnews that was extremly crippled
(e.g. all man pages were missing), one should use at least the cnews package
from Slackware 2.1. As an alternative, one can get a hold of the complete 
source distribution and compile it themselfs. I used the performance release 
from 93/02/20 from ftp://ftp.uu.net/news/.  By now there are newer releases, 
but I haven't tried them yet. I will refer in this HOWTO to the older version 
and I don't plan to update this certain part in the future.

2.4.2 INN (InterNet News server)

The latest Slackware Distribution contains cnews as well as INN, so now 
everyone has a choice. The current INN should work, but I prefer to compile
and configure software myself, so I am using the source from INN 1.5.1, which
can be obtained from :
 
ftp://sunsite.unc.edu/pub/Linux/system/News/inn1.5.1-linux-src.tgz.


2.5 Serial line monitor


2.5.1 mgetty-sendfax

mgetty-sendfax is a collection of programs designed to monitor, send and
receive calls and faxs on a UNIX system. Unlike a getty or uugetty which
puts the modem into "answer-mode", mgetty does not. When an incoming call
occurs, mgetty sees the "RING"s and tells the modem to answer. When the
modem answers it tells mgetty what kind of connection happens. 

mgetty-sendfax documentation and FAQ can be found at
http://www.leo.org/~doering/mgetty/index.html. The source can be obtained 
from most sunsite mirrors in /system/Serial/mgetty+sendfax-0.98.tar.gz.

2.5.2 getty_ps

uugetty manages the first step of the login process on a UNIX system. When 
used with a modem it watches for incoming calls and (ordinarily) prints the
"login:" prompt and (reads the username and passes it off to "/bin/login").

The source for getty_ps can be obtained from most sunsite mirrors in
/system/Serial/getty_ps-2.0.7i.tar.gz.


2.6 Newsreader

One can use any newsreader, e.g. tin, nn, trn, xvnews, xrn, slrn, knews,..
If one uses cnews, it should have a UUCP mode, i.e. not only NNTP, otherwise 
one has to install the nntpd, which is quite difficult without any 
documentation. I suggest using tin-1.3BETA.950824-color, because tin is easy 
to use and requires minimal work to configure. I've included some tips on
using tin later in the document.


2.7 Mailreader

Here again you can use what you wish: elm, pine, mail, xmail, xmailtool, 
xfmail,...Pine seems to be the reader of choice, but you may perfer another.


2.8 Packers

Some packers come with the distributions. If special packers are missing one 
can always obtain them from various servers like 
ftp://sunsite.unc.edu/pub/Linux/utils/compress/ which have a packer directory:

-ZIP-	unzip51 can unpack the new ZIP-format, too. There is now a zip, which 
        can pack the new format.
-ARJ-	unarj241 unpacks ARJ archives, but there's no packer for Linux.
-LZH-	lha exist as a Linux port, too.
-ARC-	Old, but very important packer, as nodelists are packed with arc.  
        There is at least one Linux port.
-RAR-	unrar101 unpacks RAR archives, I haven't found a RAR packer, yet. One
        can obtain the sources to unrar at: 
        ftp://ftp.kiae.su/.2/unix/arcers/unrar101.tgz


2.9 TIC processor

There are some small TIC processors, which are written in PERL. For instance, 
tic010b.tgz (also known as lt010b.tgz) by Cees de Groot (cg@bofh.lake.de, 
241:10000/1512) can be mentioned. This program is part of the ifmail package
since version 2.8a and can be found in the directory ifmail/misc/contrib/tic.
There's another TIC processor that's at ftp://ddt.demos.su/pub/u-tic/utic. 
UTIC Stands for Unix TIC processor and is written by Yar Tikhiy
(yar@comp.chem.msu.su)

2.10 Permissions

The permissions for the files are a little tricky, especially with the
implementation of INN and sendmail. For security reasons INN's binaries are 
sticklers when it comes to file permissions, so you should never execute them 
unless your the user news. For this reason, you should now look, and make sure
the users news and uucp exist in your users file. Here is what my /etc/passwd 
file says:

news:*:9:13::/usr/lib/news:/bin/bash
uucp:*:10:14::/var/spool/uucppublic:/bin/bash

Furthermore, the groups uucp and news must exist. It is very important that you
insert the users news, mail, root and fnet into the group uucp, so sendmail
can SUID to execute ifmail for netmail routing and processing. It seems equally
important to add the user uucp to the group news.  Here is what my /etc/group 
file says:

news::13:news,uucp
uucp::14:uucp,news,mail,root,fnet

Also, all spool files should be group writeable. We will discuss this later, 
but for now you just need to be aware of it.


2.11 Example configurations

As for examples, most of the one's I am using come from my own system, 
they are all based on recent releases, I am running Linux kernel 2.0.35, 
ifmail 2.14-tx8.8, INN 1.5.1 and sendmail 8.8.9. My Fidonet address is 
1:125/710 and my hubs is 1:125/5109. You will need to substitute your
addresses for mine wherever you see them. I use two crontabs, one for
user fnet and the other for user news. I accept calls 24/7 and I poll 
my uplink on a nightly basis. At present, I have no UUCP feed...:( 

Please note that since everyones setup is likely to be a bit different, as
each linux distribution varies from system to system because each distributer 
usually makes minor inhancesments to implement software for their paticular 
system. With that said, I have tried to include most of the examples needed 
from the major software packages, but if for some reason the examples do not 
work as shown, you should always refer to your own systems reference manuals.
 
If you don't have an Internet gate yet, you should search for one, because 
ifmail supports this execellently and assumes that you have an UUCP uplink 
or at least a connection to a gate.

Please note: 
       Do not use my addresses when testing your configuration.
       Use your own, otherwise I will get the answers to your
       questions.