Add/remove support for greylistd in exim 4
greylistd-setup-exim4 {add|remove|test} [file acl_name] [-option ...]
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.
The following commands are available:
Adds greylistd statement(s).
Removes existing greylistd statement(s).
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:
Normally, the result of the operation is printed on standard error; this option inhibits output.
Always exit with a zero status, even on failure. If this option is given, only the result of successful operations are printed.
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.
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.
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.
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).
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.
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.
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.
This python script and manual page is written by Tor Slettnes, originally for Debian GNU/Linux.
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
greylist(1), greylistd(8), /usr/share/doc/exim4/spec.txt.gz