mailfront
Mail server network protocol front-ends
Bruce Guenter <bruce@untroubled.org>
Version 1.11
2007-09-27

This is mailfront, a package containing customizeable network front-ends
for mail servers.  It contains complete SMTP, QMQP, QMTP, and POP3
front-ends as well as an authentication module for IMAP.  The mail
delivery front-ends also contain internal address filtering features.

Two SMTP back-ends are provided.  One delivers mail to qmail-queue,
mimicking most of the behavior of qmail-smtpd, with the addition of
support for SMTP AUTH.  The other rejects all SMTP commands if
$SMTPREJECT is set, and execs its command line otherwise (in order to
run the above program).

A mailing list has been set up to discuss this and other packages.
To subscribe, send an email to:
	bgware-subscribe@lists.untroubled.org
A mailing list archive is available at:
	http://lists.untroubled.org/?list=bgware

Development versions of mailfront are available via Subversion at:
	svn://bruce-guenter.dyndns.org/mailfront/trunk

Requirements:

- bglibs version 1.101
- cvm version 0.81

Installation:

- Build the sources by running "make"
- Run the "instshow" command to see what will be installed (optional).
- After the package has been compiled, run the following commands as root:
	./installer
	./instcheck
  These commands will produce no output if there are no errors.

Configuration:

- To take advantage of the SMTP AUTH features, make sure you have a CVM
  authentication program (some are included with the cvm package itself).
- Run a CVM authentication module to provide the AUTH feature.
  Example:  To run cvm-vmailmgr as a daemon:
    exec /usr/local/bin/softlimit -m 9000000 \
     /usr/local/bin/cvm-vmailmgr /tmp/.cvm-vmailmgr 2>&1
- Configure your mail system to use the SMTP back-end with the
  appropriate environment variables.

  Example using tcpserver (highly recommended):
    #!/bin/sh
    QMAILDUID=`id -u qmaild`
    NOFILESGID=`id -g qmaild`
    MAXSMTPD=`head -1 /var/qmail/control/concurrencyincoming`
    if [ -z "$QMAILDUID" -o -z "$NOFILESGID" -o -z "$MAXSMTPD" ]; then
        echo $0: QMAILDUID, NOFILESGID, or MAXSMTPD is unset
        exit 1
    fi
    exec \
    /usr/local/bin/envdir /etc/smtpfront \
    /usr/local/bin/softlimit -m 2000000 \
    /usr/local/bin/tcpserver -v -R -H \
      -l "`head -1 /var/qmail/control/me`" -x /etc/tcp.smtp.cdb \
      -c "$MAXSMTPD" -u "$QMAILDUID" -g "$NOFILESGID" 0 25 \
    /usr/local/bin/smtpfront-qmail 2>&1

  /etc/smtpfront/CVM_SASL_PLAIN:
    cvm-local:/tmp/.cvm-vmailmgr

  Example using xinetd with TCP Wrappers:

  /etc/xinetd.d/smtp:
    # default: on
    # description: smtp
    service smtp
    {
    	disable	= no
    	flags		= REUSE NAMEINARGS
    	socket_type	= stream        
    	protocol	= tcp
    	wait		= no
    	user		= qmaild
    	server		= /usr/sbin/tcpd
    	server_args 	= /var/qmail/bin/tcp-env -R /usr/local/sbin/smtpfront-wrapper
    	log_on_success          += USERID
    	log_on_failure          += USERID
    }

  /usr/local/sbin/smtpfront-wrapper:
    #!/bin/sh
    CVM_SASL_PLAIN=cvm-local:/tmp/.cvm-unix
    export CVM_SASL_PLAIN
    CVM_SASL_LOGIN=cvm-local:/tmp/.cvm-unix
    export CVM_SASL_LOGIN
    exec /usr/local/bin/smtpfront-qmail 2>> /tmp/smtpfront-errs.txt


This project was initiated at FutureQuest, Inc.  We are releasing it
as an open-source project because we felt it would be useful to others,
as well as to repay our debt of gratitude to the larger open-source
community for the excellent packages we have enjoyed.

For more details, you may contact FutureQuest, Inc. at:
FutureQuest, Inc.
PO BOX 623127
Oviedo FL 32762-3127 USA
http://www.FutureQuest.net/
ossi@FutureQuest.net

This package is Copyright(C) 2007 Bruce Guenter or FutureQuest, Inc.,
and may be copied according to the GNU GENERAL PUBLIC LICENSE (GPL)
Version 2 or a later version.  A copy of this license is included with
this package.  This package comes with no warranty of any kind.

Index of mailfront

Name                                           Modification Time  Size

Parent Directory                               2008-02-23 23:36      -
ANNOUNCEMENT                                   2007-09-27 15:26     5k
ChangeLog                                      2007-09-27 15:26   172k
NEWS                                           2007-09-27 15:26    18k
TODO                                           2007-09-27 15:26     1k
archive                                        2007-09-27 15:27      -
backend-echo.html                              2007-09-27 15:26    373
backend-qmail.html                             2007-09-27 15:26    801
fc1                                            2007-09-27 15:27      -
fc2                                            2007-09-27 15:27      -
imapfront.html                                 2007-09-27 15:26    993
mailfront-1.11-1.src.rpm                       2007-09-27 15:26   103k
mailfront-1.11.tar.gz                          2007-09-27 15:23   100k
mailfront-1.11.tar.gz.sig                      2007-09-27 15:23    189
mailfront.html                                 2007-09-27 15:26     4k
mailrules.html                                 2007-09-27 15:26     7k
mailrulesx.html                                2007-09-27 15:26    10k
msa.html                                       2007-09-27 15:26     5k
plugin-accept-recipient.html                   2007-09-27 15:26    494
plugin-accept-sender.html                      2007-09-27 15:26    482
plugin-accept.html                             2007-09-27 15:26    567
plugin-add-received.html                       2007-09-27 15:26     2k
plugin-api.html                                2007-09-27 15:26     9k
plugin-check-fqdn.html                         2007-09-27 15:26    908
plugin-clamav.html                             2007-09-27 15:26     2k
plugin-counters.html                           2007-09-27 15:26    939
plugin-cvm-validate.html                       2007-09-27 15:26    887
plugin-force-file.html                         2007-09-27 15:26    511
plugin-mailrules.html                          2007-09-27 15:26    736
plugin-patterns.html                           2007-09-27 15:26     2k
plugin-qmail-validate.html                     2007-09-27 15:26    955
plugin-reject.html                             2007-09-27 15:26    891
plugin-relayclient.html                        2007-09-27 15:26    754
plugin-require-auth.html                       2007-09-27 15:26    550
plugin-template.c                              2007-09-27 15:26     2k
plugin-template.html                           2007-09-27 15:26    381
pop3front.html                                 2007-09-27 15:26     2k
protocol-qmqp.html                             2007-09-27 15:26    521
protocol-qmtp.html                             2007-09-27 15:26    428
protocol-smtp.html                             2007-09-27 15:26     2k
rh6                                            2007-09-27 15:27      -
rh7                                            2007-09-27 15:27      -
std-handle.html                                2007-09-27 15:26     2k

RPM File: mailfront-1.11-1.src.rpm


Name        : mailfront                    Relocations: (not relocateable)
Version     : 1.11                              Vendor: (none)
Release     : 1                             Build Date: Thu Sep 27 15:24:45 2007
Group       : Utilities/System              Source RPM: (none)
Size        : 103422                           License: GPL
Packager    : Bruce Guenter <bruceg@em.ca>
URL         : http://untroubled.org/mailfront/
Summary     : Mail server network protocol front-ends
Description :
This is mailfront, a package containing customizeable network front-ends
for mail servers.  Handles POP3, QMQP, QMTP, SMTP, and IMAP
(authentication only).

Requires    :
bglibs >= 1.101
cvm-devel >= 0.81
rpmlib(CompressedFileNames) <= 3.0.4-1

Valid XHTML 1.0!