47 lines
1.7 KiB
Diff
47 lines
1.7 KiB
Diff
diff -Nur -x '*.orig' -x '*.rej' qpsmtpd-0.96/plugins/karma mezzanine_patched_qpsmtpd-0.96/plugins/karma
|
|
--- qpsmtpd-0.96/plugins/karma 2016-02-16 23:52:02.000000000 +0100
|
|
+++ mezzanine_patched_qpsmtpd-0.96/plugins/karma 2016-04-20 18:39:43.299979947 +0200
|
|
@@ -50,6 +50,16 @@
|
|
penalize a "mostly good" sender. Raising it to 2 reduces that possibility to
|
|
improbable.
|
|
|
|
+=head2 strikes <integer>
|
|
+
|
|
+How many strikes is needed to consider the mail nice or naughty.
|
|
+Various plugins can adjust the karma (see USING KARMA IN OTHER PLUGINS).
|
|
+For example, with the default value of 3, if the karma of this message is 3
|
|
+or above, the mail is considered to be a nice one. If it's -3 or less, it's
|
|
+considered a naughty one. Between -2 and +2 it's neutral
|
|
+
|
|
+Default: 3
|
|
+
|
|
=head2 penalty_days <days>
|
|
|
|
The number of days a naughty sender is refused connections. Use a decimal
|
|
@@ -238,6 +248,7 @@
|
|
$self->log(LOGERROR, "Bad arguments") if @_ % 2;
|
|
$self->{_args} = {@_};
|
|
$self->{_args}{negative} ||= 1;
|
|
+ $self->{_args}{strikes} ||= 3;
|
|
$self->{_args}{penalty_days} ||= 1;
|
|
$self->{_args}{reject_type} ||= 'disconnect';
|
|
|
|
@@ -428,7 +439,7 @@
|
|
my $history = ($nice || 0) - $naughty;
|
|
my $log_mess = '';
|
|
|
|
- if ($karma < -2) { # they achieved at least 2 strikes
|
|
+ if ($karma <= $self->{_args}{strikes}) { # Enough negative strikes ?
|
|
$history--;
|
|
my $negative_limit = 0 - $self->{_args}{negative};
|
|
if ($history <= $negative_limit) {
|
|
@@ -445,7 +456,7 @@
|
|
$log_mess = "negative";
|
|
}
|
|
}
|
|
- elsif ($karma > 2) {
|
|
+ elsif ($karma >= $self->{_args}{strikes}) {
|
|
$nice++;
|
|
$log_mess = "positive";
|
|
}
|