pipeline_sync - advanced version of the check_earlytalker plugin
This plugin checks if the remote host honours RFC 1854 (SMTP Service Extension for Command Pipelining), which we announce:
``The EHLO, DATA, VRFY, EXPN, TURN, QUIT, and NOOP commands can only appear as the last command in a group since their success or failure produces a change of state which the client SMTP must accommodate. (NOOP is included in this group so it can be used as a synchronization point.)''
The pipeline_sync plugin may be configure to check at EHLO/HELO, DATA, VRFY and NOOP. QUIT would be to late anyway and the other commands are not supported by qpsmtpd. Any data sent by the client before the configured timeout is a no-go and the hook returns with the specified action.
Arguments are key/value pairs. Setting the TIMEOUT values below to
0 disables the checks for the given hook. You may specify also an action, separated by a
,. Known arguments are:
- connect TIMEOUT[,ACTION]
Wait TIMEOUT seconds at connect before sending out the greeting banner, default timeout is
- data TIMEOUT[,ACTION]
Wait TIMEOUT seconds before sending the
354message to the client, default timeout is
- noop TIMEOUT[,ACTION]
Wait TIMEOUT seconds before returning
250 OKto the client, this check is disabled by default.
- vrfy TIMEOUT[,ACTION]
Wait TIMEOUT seconds before the other hook_vrfy() do something, this check is disabled by default.
- action DENY(SOFT)?(_DISCONNECT)?
This sets the default action: Sent (a temporary) error to the client and optionally disconnect, see docs/plugins.pod and Qpsmtpd::Constants for more info about the DENY, DENYSOFT, DENY_DISCONNECT and DENYSOFT_DISCONNECT constants.
Default action is
- defer BOOLEAN
If set to a true value, clients talking before the greeting banner will be punished after sending
MAIL FROMinstead of immediately. Default is NOT to defer pubishing.
hook_vrfy() does currently not support DENYSOFT* and DENY_DISCONNECT.
hook_noop() does currently not support DENYSOFT*.
Drop me a note if you want to use one of the above.
Based on the check_earlytalker plugin from the qpsmtpd distribution.
(c) 2008, Hanno Hecker <firstname.lastname@example.org>
This software is free software and may be distributed under the same terms as qpsmtpd itself.