r4567@g5: ask | 2006-03-09 04:35:43 -0800
move old branches aside git-svn-id: https://svn.perl.org/qpsmtpd/branches/0.3x@629 958fd67b-6ff1-0310-b445-bb7760255be9
This commit is contained in:
parent
3aa64debd8
commit
123346f1f5
@ -1,5 +1,23 @@
|
||||
#!perl -w
|
||||
|
||||
=head1 NAME
|
||||
|
||||
spamassassin - SpamAssassin integration for qpsmtpd
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Plugin that checks if the mail is spam by using the "spamd" daemon
|
||||
from the SpamAssassin package. F<http://www.spamassassin.org>
|
||||
|
||||
SpamAssassin 2.6 or newer is required.
|
||||
|
||||
=head1 CONFIG
|
||||
|
||||
Configured in the config/dnsbl_zones files. One line per zone name,
|
||||
for example
|
||||
|
||||
=cut
|
||||
|
||||
sub register {
|
||||
my ($self, $qp, $denial ) = @_;
|
||||
if ( defined $denial and $denial =~ /^disconnect$/i ) {
|
||||
|
@ -1,4 +1,5 @@
|
||||
|
||||
|
||||
sub hook_mail {
|
||||
my ($self, $transaction, $sender) = @_;
|
||||
|
||||
@ -18,8 +19,14 @@ sub hook_mail {
|
||||
#push(@hosts, $helo) if $helo && $helo ne $sender->host;
|
||||
for my $host (@hosts) {
|
||||
for my $rhsbl (keys %rhsbl_zones) {
|
||||
# fix to find TXT records, if the rhsbl_zones line doesn't have second field
|
||||
if (defined($rhsbl_zones{$rhsbl})) {
|
||||
$self->log(LOGDEBUG, "Checking $host.$rhsbl for A record in the background");
|
||||
$sel->add($res->bgsend("$host.$rhsbl"));
|
||||
} else {
|
||||
$self->log(LOGDEBUG, "Checking $host.$rhsbl for TXT record in the background");
|
||||
$sel->add($res->bgsend("$host.$rhsbl", "TXT"));
|
||||
}
|
||||
$rhsbl_zones_map{"$host.$rhsbl"} = $rhsbl_zones{$rhsbl};
|
||||
}
|
||||
}
|
||||
@ -80,6 +87,10 @@ sub process_sockets {
|
||||
$result = $rr->name;
|
||||
$self->log(LOGDEBUG, "A record found for $result with IP " . $rr->address);
|
||||
last;
|
||||
} elsif ($rr->type eq 'TXT') {
|
||||
$result = $rr->txtdata;
|
||||
$self->log(LOGDEBUG, "TXT record found: " . $rr->txtdata);
|
||||
last;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
Loading…
Reference in New Issue
Block a user