qmail-qfilter
qmail-queue multi-filter front end
Bruce Guenter <bruceg@em.ca>
Version 2.1
2005-08-12

This program allows the body and/or envelope of a message to be filtered
through a series of filters before being passed to the real qmail-queue
program, and injected into the qmail queue.

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 qmail-qfilter are available via Subversion at:
	svn://bruce-guenter.dyndns.org/qmail-qfilter/trunk

Requirements:

- bglibs is required for system dependancies.

- This program is designed to take advantage of my QMAILQUEUE patch,
  which causes programs that would execute qmail-queue (such as
  qmail-smtpd etc.) to execute an alternative program.

How to install:

- Check the definitions at the top of qmail-qfilter.c, especially the
  value of TMPDIR.  This should be set to a temporary directory that
  only the executor of qmail-qfilter has write access to.
- Check the conf-* files for appropriate values for your compiler and
  linker, and installation paths.
- Run "make"
- As root, run "make install"

How to use, with the QMAILQUEUE patch applied to qmail:

- Create a script containing an invocation of qmail-qfilter.  For
  example, a script that uses qmail-inject as a front end to qmail-queue
  would contain:
	#!/bin/sh
	exec /path/to/qmail-qfilter /var/qmail/bin/qmail-inject -n
- Set the environment variable QMAILQUEUE to the location of this
  script.  For example, in a SMTP rules files, put:
	A.B.C.D:allow,RELAYCLIENT="",QMAILQUEUE="/usr/local/bin/qmail-qftest"
  and rebuild the SMTP CDB file.
- You're all set!  In our example, all messages sent from the IP A.B.C.D
  will have their content filtered through qmail-inject, which will add
  missing "From:", "Date:", and "Message-Id:" headers.

How to use, without the QMAILQUEUE patch:
- Change the definition of QMAIL_QUEUE in qmail-qfilter.c to a different
  value, either by editing the source file or by modifying the DEFINES
  line in the Makefile to read:
	-DQMAIL_QUEUE=\"/var/qmail/bin/qmail-queue-old\"
- Compile qmail-qfilter.
- Rename qmail-queue to the new filename specified above.
- Create a script to replace qmail-queue that contains an invocation of
  qmail-qfilter, as described in the previous example.
- You're all set!  All mail entering the queue will be filtered by your
  filter.

Notes on writing a filter program:
- If you want to block an email, exit from the filter with code 31.
  This will cause qmail-qfilter to exit with the same error code, and
  qmail-smtpd (for example) to send an error code to the client.
- If you want to silently drop an email, exit with code 99.
- The filter script that executes qmail-queue MUST NOT be setuid, and
  MUST BE readable.  Only the real qmail-queue binary needs to be
  setuid.

See the scripts in the "samples" directory for example scripts.

This program is Copyright(C) 2001,2004-2005 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.

Index of qmail-qfilter

Name                                           Modification Time  Size

Parent Directory                               2008-02-23 23:36      -
ANNOUNCEMENT                                   2005-08-12 17:41     4k
ChangeLog                                      2005-08-12 17:41    23k
NEWS                                           2005-08-12 17:41     3k
TODO                                           2005-08-12 17:41     92
archive                                        2006-07-27 06:11      -
fc1                                            2006-07-27 06:11      -
fc2                                            2006-07-27 06:11      -
qmail-qfilter-2.1-1.src.rpm                    2005-08-12 17:41    24k
qmail-qfilter-2.1.tar.gz                       2005-08-12 17:40    22k
qmail-qfilter-2.1.tar.gz.sig                   2005-08-12 17:40    189
rh6                                            2006-07-27 06:11      -
rh7                                            2006-07-27 06:11      -
samples                                        2006-07-27 06:11      -

RPM File: qmail-qfilter-2.1-1.src.rpm


Name        : qmail-qfilter                Relocations: (not relocateable)
Version     : 2.1                               Vendor: (none)
Release     : 1                             Build Date: Fri Aug 12 17:41:01 2005
Group       : Utilities/System              Source RPM: (none)
Size        : 23108                            License: GPL
Packager    : Bruce Guenter <bruceg@em.ca>
URL         : http://untroubled.org/qmail-qfilter/
Summary     : qmail-queue filter front end
Description :
This program allows the body of a message to be filtered through a
series of filters before being passed to the real qmail-queue program,
and injected into the qmail queue.

Requires    :
bglibs >= 1.017
rpmlib(CompressedFileNames) <= 3.0.4-1

Valid XHTML 1.0!