greylistd-setup-exim4(8) add/remove support for greylistd in Exim 4

SYNOPSIS

greylistd-setup-exim4 {add|remove|test} [file acl_name] [-option ...]

DESCRIPTION

This utility configures, deconfigures, or tests for greylistd support in the given Exim 4 configuration file and Access Control List (ACL).

If no file or ACL name is supplied, changes are made to the default configuration files and ACLs for your distribution.

USAGE

The following commands are available:
add
Adds greylistd statement(s).
remove
Removes existing greylistd statement(s).
test
Tests for the presence of greylistd statement(s), without making any changes. A zero exit status indicates that the statement(s) exist(s).

The following options are available:

-quiet
Normally, the result of the operation is printed on standard error; this option inhibits output.
-no-fail
Always exit with a zero status, even on failure. If this option is given, only the result of successful operations are printed.
-no-reload
Normally, if any changes were made to the Exim 4 configuration files, greylistd-setup-exim4 invokes the Exim 4 init script, telling Exim to reload its configuration files. This option inhibits this behavior.
-netmask=size
In the statement that is inserted in the Exim 4 configuration file, the remote host address is one of the items that is passed on to greylistd. This option causes the host address to be filtered through a netmask of the given size first. Useful values are between 16 and 31 for IPv4.
-acltype={rcpt|data}
Used in conjunction with the add command to insert a statement suitable for use in an ACL used to validate the SMTP RCPT TO: command or the message DATA, respectively. This is implicit when the supplied ACL name contains either of the substrings "rcpt" or "data" (such as Debian's default "acl_check_rcpt" and "acl_check_data" ACLs). Otherwise, this option has to be present for the add command.

EXAMPLES

greylistd-setup-exim4 add -netmask=24
Adds greylistd statements to any acl_check_rcpt and acl_check_data ACLs found in any of the following files:


  - /etc/exim4/exim4.conf.template
  - /etc/exim4/conf.d/acl/30_exim4-config_check_rcpt
  - /etc/exim4/conf.d/acl/40_exim4-config_check_data

In these statements, the data passed to greylistd includes the host address filtered through a 24-bit netmask, rather than the host's unique IP address. This allows for pools of several Mail Sending Agents (MSAs) within a given network to be treated as a single host.

If successful, Exim 4 is told to reload its configuration files. If a statement already exists, nothing happens - but the program exits unsuccessfully (non-zero return code).

greylistd-setup-exim4 remove -quiet
Remove greylisting support from the above configuration files and ACLs. If greylistd statements exist in these files and ACLs, they are removed, and Exim 4 will reload its configuration files. The exit code indicates whether the statements were present and are now successfully removed; but no results are printed.
greylistd-setup-exim4 add /etc/exim4/exim4.conf.template acl_check_rcpt -no-reload
If no greylistd statements already exists in the acl_check_rcpt ACL in the file /etc/exim4/exim4.conf.template, one is inserted. In this case, the Exim 4 daemon is then NOT told to reload its configuration files.

BUGS

The statement that is inserted by this utility presumes that the Exim 4 configuration comes from Debian's "exim4-config" package. Specifically, it makes use of the +relay_from_hosts host list, the +local_domains and +relay_to_domains domain lists, and the acl_local_deny_exceptions ACL. A more generalized approach is on my, ahem, to-do list.

AUTHOR

This python script and manual page is written by Tor Slettnes, originally for Debian GNU/Linux.

COPYRIGHT

Copyright © 2004-2005 Tor Slettnes.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

On a Debian GNU/Linux system, the full text of the GPL is available in /usr/share/common-licenses/GPL. It is also available at:


    http://www.gnu.org/licenses/gpl.html