NAME

denysoft_client_stats


DESCRIPTION

Plugin to randomly generate temporary failures based on past behaviour of the client.

Currently the number of successful deliveries and permanent failures for the client is used to determine the probability of a rejection.


CONFIG

The following parameters can be passed to denysoft_client_stats:

per_recipient <bool>
Per recipient flag - if this is set, the plugin is only run for recipients which have recipient_option 'denysoft_client_stats' set. This can be set by the aliases plugin. Default: 0.

at_connect <bool>
If this flag is set, the temporary failure will be generated immediately after the connect and the connection will be terminated. Otherwise, it will be generated in response to RCPT TO commands. Dropping the connection immediately saves resources and prevents address harvesting. On the other hand, it cannot be (de)activated per recipient. Default: 0

success_bias <integer> Constant to add to the number of successful deliveries in the computation of the failure probability. The ratio between success_bias and permfail_bias determines whether clients with insufficient data will be treated friendly or hostile, and the absolute value determines the weight of the collected data. Default: 1
permfail_bias <integer> Constant to add to the number of permanent failures in the computation of the failure probability. Default: 1


NOTES

This plugin makes use of the following connection notes:

'client_stats'
Contains the stats for the connected client at the beginning of this connection. Note that if the client is unknown, the stats are taken from the smallest surrounding network for which stats are known. Thus a new zombie from a network which has already a lot of zombies gets a high probability of rejection.

'client_options'->{denysoft_client_stats}{skip}
If true, do nothing. This note is usually set by the client_options plugin.

and of the following transaction notes:

'sender_options'->{denysoft_client_stats}{skip}
If true, do nothing. There is currently no plugin which sets this option, but it is intended for whitelisting based on the reverse path.

'recipient_options'->{denysoft_client_stats}
If true, generate random temporary failures based on past behaviour of the client. This is only used if the per_recipient flag is set. This note is usually set by the aliases plugin.


BUGS


COPYRIGHT AND LICENSE

Copyright (c) 2004-2006 Peter J. Holzer

This plugin is licensed under the same terms as the qpsmtpd package itself. Please see the LICENSE file included with qpsmtpd for details.