This one's mine.

On Wed, 17 Jun 2009, Filippo Carletti wrote:

See
http://bugs.contribs.org/show_bug.cgi?id=3390
for discussion.

diff -Nur -x '*.orig' -x '*.rej' qpsmtpd-0.40/plugins/rhsbl
mezzanine_patched_qpsmtpd-0.40/plugins/rhsbl
--- qpsmtpd-0.40/plugins/rhsbl  2007-06-14 13:57:24.000000000 -0400
+++ mezzanine_patched_qpsmtpd-0.40/plugins/rhsbl        2007-10-16
17:28:06.000000000 -0400
@@ -1,4 +1,13 @@
+sub register {
+  my ($self, $qp, $denial ) = @_;
+  if ( defined $denial and $denial =~ /^disconnect$/i ) {
+    $self->{_rhsbl}->{DENY} = DENY_DISCONNECT;
+  }
+  else {
+    $self->{_rhsbl}->{DENY} = DENY;
+  }

+}

sub hook_mail {
  my ($self, $transaction, $sender, %param) = @_;
@@ -48,12 +57,12 @@
  my $result = $self->process_sockets;
  if ($result && defined($self->{_rhsbl_zones_map}{$result})) {
    if ($result =~ /^$host\./ ) {
-      return (DENY, "Mail from $host rejected because it " .
$self->{_rhsbl_zones_map}{$result});
+      return ($self->{_rhsbl}->{DENY}, "Mail from $host rejected
because it " . $self->{_rhsbl_zones_map}{$result});
    } else {
-      return (DENY, "Mail from HELO $hello rejected because it " .
$self->{_rhsbl_zones_map}{$result});
+      return ($self->{_rhsbl}->{DENY}, "Mail from HELO $hello
rejected because it " . $self->{_rhsbl_zones_map}{$result});
    }
  }
-  return (DENY, $result) if $result;
+  return ($self->{_rhsbl}->{DENY}, $result) if $result;
  return DECLINED;
}




Reply via email to