You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by do...@apache.org on 2007/06/02 10:54:05 UTC
svn commit: r543724 -
/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/URIDNSBL.pm
Author: dos
Date: Sat Jun 2 01:54:04 2007
New Revision: 543724
URL: http://svn.apache.org/viewvc?view=rev&rev=543724
Log:
bug 5487: prevent multiple "urirhssub"s using the same zone from overwriting each other
Modified:
spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/URIDNSBL.pm
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/URIDNSBL.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/URIDNSBL.pm?view=diff&rev=543724&r1=543723&r2=543724
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/URIDNSBL.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/URIDNSBL.pm Sat Jun 2 01:54:04 2007
@@ -362,9 +362,7 @@
is_rhsbl => 1, is_subrule => 1
};
$self->{uridnsbl_subs}->{$zone} ||= { };
- $self->{uridnsbl_subs}->{$zone}->{$subrule} = {
- rulename => $rulename
- };
+ push (@{$self->{uridnsbl_subs}->{$zone}->{$subrule}->{rulenames}}, $rulename);
}
elsif ($value =~ /^$/) {
return $Mail::SpamAssassin::Conf::MISSING_REQUIRED_VALUE;
@@ -599,17 +597,19 @@
else {
foreach my $subtest (keys (%{$uridnsbl_subs}))
{
- my $subrulename = $uridnsbl_subs->{$subtest}->{rulename};
-
if ($subtest eq $rdatastr) {
- $self->got_dnsbl_hit($scanner, $ent, $rdatastr, $dom, $subrulename);
+ foreach my $subrulename (@{$uridnsbl_subs->{$subtest}->{rulenames}}) {
+ $self->got_dnsbl_hit($scanner, $ent, $rdatastr, $dom, $subrulename);
+ }
}
# bitmask
elsif ($subtest =~ /^\d+$/) {
if ($rdatastr =~ m/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/ &&
Mail::SpamAssassin::Util::my_inet_aton($rdatastr) & $subtest)
{
- $self->got_dnsbl_hit($scanner, $ent, $rdatastr, $dom, $subrulename);
+ foreach my $subrulename (@{$uridnsbl_subs->{$subtest}->{rulenames}}) {
+ $self->got_dnsbl_hit($scanner, $ent, $rdatastr, $dom, $subrulename);
+ }
}
}
}