NAME¶
Mail::Milter::Module::ConnectRegex - milter to accept/reject connecting hosts
matching regex(es)
SYNOPSIS¶
use Mail::Milter::Module::ConnectRegex;
my $milter = new Mail::Milter::Module::ConnectRegex('^foo$');
my $milter2 = &ConnectRegex(qw{^foo$ ^bar$}); # convenience
$milter2->set_message('Connections from %H disallowed');
DESCRIPTION¶
This milter module rejects any connecting host whose hostname or IP address
matches user-supplied regular expressions. It can also function as a
whitelisting Chain element; see "accept_match()".
METHODS¶
- new(REGEX[, ...])
- Accepts one or more regular expressions, as strings or qr// precompiled
regexes. They are tested in sequence, and the first match terminates
checking. Note that all IP address literals will be enclosed in [square
brackets]; so to test an IP address rather than a hostname, ensure those
brackets exist:
^\[ADDRESS\]$
- accept_match(FLAG)
- If FLAG is 0 (the default), a matching regex will cause the connection to
be rejected.
If FLAG is 1, a matching regex will cause this module to return SMFIS_ACCEPT
instead. This allows a "ConnectRegex" to be used inside a
"Mail::Milter::Chain" container (in accept_break(1) mode), to
function as a whitelist rather than a blacklist.
This method returns a reference to the object itself, allowing this method
call to be chained.
- set_message(MESSAGE)
- Sets the message used when rejecting connections. This string may contain
the substring %H, which will be replaced by the matching hostname or IP
address.
This method returns a reference to the object itself, allowing this method
call to be chained.
BUGS¶
In Sendmail 8.11 and 8.12, a milter rejection at "connect" stage does
not allow the reply message to be set -- it simply becomes "not accepting
messages". However, this module still attempts to set the reply code and
message in the hope that this will be fixed.
AUTHOR¶
Todd Vierling, <tv@duh.org> <tv@pobox.com>
SEE ALSO¶
Mail::Milter::Object