relay-ctrl
SMTP Relaying Control for qmail & tcpserver
Bruce Guenter <bruceg@em.ca>
Version 2.5
2000-10-06

This pair of programs controls access to relaying for users that
authenticate using either POP3 using the qmail-popup/qmail-pop3d
servers, or IMAP using Courier IMAP.

Requirements:

- You must be using qmail-popup/qmail-pop3d with either tcpserver or
  tcp-env to serve POP3 OR
- You must be using Courier IMAP to serve IMAP.
- You must be using tcpserver with qmail-smtpd to serve SMTP.

How to install:

- Check the definitions in defines.h.  The default settings are
  appropriate for installing relay-ctrl under /usr instead of
  /usr/local.
- Check the Makefile for appropriate values for your compiler and
  linker, and installation paths.
- Run "make"
- As root, run "make root-install"

How to use:

- Make sure the configuration defaults are appropriate for your system.
  See the man page for relay-ctrl-age.
- If you want to have a fixup address (see the qmail FAQ) inserted into
  the RELAYCLIENT setting, put it into the first line of
  "relayclient" in the config directory as folows:
  :allow,RELAYCLIENT='@fixup'
- Add the following line to a file in /etc/cron.d.  This assumes a
  recent version of vixie cron.  Other versions of cron may use
  different syntax, and you may need to edit root's crontab.
* * * * * /usr/sbin/relay-ctrl-age

How to use with qmail-pop3d:

- Insert the program "relay-ctrl-allow" between your checkpassword
  program and qmail-pop3d in your invocation of tcpserver for the POP
  service.

How to use with Courier IMAP:

- Make a symlink in /usr/lib/courier-imap/libexec/authlib to
  /usr/sbin/relay-ctrl-allow.
- Insert the command relay-ctrl-allow at the end of the list of
  authentication modules (AUTHMODULES) in etc/imapd.config.

Operation:

- relay-ctrl-age records IPs in /var/spool/relay-ctrl, checks all
  previously recorded addresses, and removes any that have not been
  updated for at least 15 minutes.  It then lists all of the addresses
  through a pipe to tcprules to build the control database for the smtp
  server.

- relay-ctrl-allow checks the environment for the remote IP from which
  the connection is originating.  It runs relay-ctrl-age to ensure that
  it is recorded in the control tables.

This program is Copyright(C) 1999-2000 Bruce Guenter, 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.
