logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Mail::Milter::Module::ConnectRegex - milter to accept/reject connecting hosts matching regex(es)

Author

       Todd Vierling, <tv@duh.org> <tv@pobox.com>

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.

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.

Name

       Mail::Milter::Module::ConnectRegex - milter to accept/reject connecting hosts matching regex(es)

Pod Errors

       Hey! Theabovedocumenthadsomecodingerrors,whichareexplainedbelow:

       Around line 71:
           You can't have =items (as at line 83) unless the first thing after the =over is an =item

perl v5.36.0                                       2023-01-22             Mail::Milter::M...e::ConnectRegex(3pm)

See Also

       Mail::Milter::Object

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');

See Also