57 lines
1.9 KiB
Diff
57 lines
1.9 KiB
Diff
|
diff -Nur qpsmtpd-0.96/plugins/karma qpsmtpd-0.96_bz9462/plugins/karma
|
||
|
--- qpsmtpd-0.96/plugins/karma 2016-06-15 22:06:13.483902705 +0200
|
||
|
+++ qpsmtpd-0.96_bz9462/plugins/karma 2016-06-15 22:11:15.371747989 +0200
|
||
|
@@ -274,7 +274,6 @@
|
||
|
#$self->prune_db(); # keep the DB compact
|
||
|
$self->register_hook('connect', 'connect_handler');
|
||
|
$self->register_hook('mail', 'from_handler');
|
||
|
- $self->register_hook('rcpt', 'rcpt_handler');
|
||
|
$self->register_hook('data', 'data_handler');
|
||
|
$self->register_hook('data_post', 'data_handler');
|
||
|
$self->register_hook('disconnect', 'disconnect_handler');
|
||
|
@@ -380,44 +379,6 @@
|
||
|
return DECLINED;
|
||
|
}
|
||
|
|
||
|
-sub rcpt_handler {
|
||
|
- my ($self,$transaction, $recipient, %args) = @_;
|
||
|
-
|
||
|
- $self->illegal_envelope_format(
|
||
|
- $self->connection->notes('envelope_rcpt'),
|
||
|
- );
|
||
|
-
|
||
|
- my $count = $self->connection->notes('recipient_count') || 0;
|
||
|
- $count++;
|
||
|
- if ( $count > 1 ) {
|
||
|
- $self->log(LOGINFO, "recipients c: $count ($recipient)");
|
||
|
- $self->connection->notes('recipient_count', $count);
|
||
|
- }
|
||
|
-
|
||
|
- return DECLINED if $self->is_immune();
|
||
|
-
|
||
|
- my $recipients = scalar $self->transaction->recipients or do {
|
||
|
- $self->log(LOGDEBUG, "info, no recipient count");
|
||
|
- return DECLINED;
|
||
|
- };
|
||
|
- $self->log(LOGINFO, "recipients t: $recipients ($recipient)");
|
||
|
-
|
||
|
- my $history = $self->connection->notes('karma_history');
|
||
|
- if ( $history > 0 ) {
|
||
|
- $self->log(LOGINFO, "info, good history");
|
||
|
- return DECLINED;
|
||
|
- }
|
||
|
-
|
||
|
- my $karma = $self->connection->notes('karma');
|
||
|
- if ( $karma > 0 ) {
|
||
|
- $self->log(LOGINFO, "info, good connection");
|
||
|
- return DECLINED;
|
||
|
- }
|
||
|
-
|
||
|
- # limit # of recipients if host has negative or unknown karma
|
||
|
- return DENY, "too many recipients for karma $karma (h: $history)";
|
||
|
-}
|
||
|
-
|
||
|
sub data_handler {
|
||
|
my ($self, $transaction) = @_;
|
||
|
|