Mailing List Archive

svn commit: r109793 - /spamassassin/trunk/lib/Mail/SpamAssassin/EvalTests.pm
Author: quinlan
Date: Sat Dec 4 01:39:12 2004
New Revision: 109793

URL: http://svn.apache.org/viewcvs?view=rev&rev=109793
Log:
move duplicate code into a separate function

Modified:
spamassassin/trunk/lib/Mail/SpamAssassin/EvalTests.pm

Modified: spamassassin/trunk/lib/Mail/SpamAssassin/EvalTests.pm
Url: http://svn.apache.org/viewcvs/spamassassin/trunk/lib/Mail/SpamAssassin/EvalTests.pm?view=diff&rev=109793&p1=spamassassin/trunk/lib/Mail/SpamAssassin/EvalTests.pm&r1=109792&p2=spamassassin/trunk/lib/Mail/SpamAssassin/EvalTests.pm&r2=109793
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/EvalTests.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/EvalTests.pm Sat Dec 4 01:39:12 2004
@@ -1367,36 +1367,24 @@
# this only checks the address host name and not the domain name because
# using the domain name had much worse results for dsn.rfc-ignorant.org
sub check_rbl_from_host {
- my ($self, $rule, $set, $rbl_server) = @_;
-
- return 0 if $self->{conf}->{skip_rbl_checks};
- return 0 unless $self->is_dns_available();
-
- my %hosts;
- for my $from ($self->all_from_addrs()) {
- if ($from =~ m/\@(\S+\.\S+)/) {
- $hosts{lc($1)} = 1;
- }
- }
- return unless scalar keys %hosts;
-
- $self->load_resolver();
- for my $host (keys %hosts) {
- $self->do_rbl_lookup($rule, $set, 'A', $rbl_server, "$host.$rbl_server");
- }
+ _check_rbl_addresses(@_, $_[0]->all_from_addrs());
}

# this only checks the address host name and not the domain name because
# using the domain name had much worse results for dsn.rfc-ignorant.org
sub check_rbl_envfrom {
- my ($self, $rule, $set, $rbl_server) = @_;
+ _check_rbl_addresses(@_, $_[0]->get('EnvelopeFrom:addr'));
+}

+sub _check_rbl_addresses {
+ my ($self, $rule, $set, $rbl_server, @addresses) = @_;
+
return 0 if $self->{conf}->{skip_rbl_checks};
return 0 unless $self->is_dns_available();

my %hosts;
- for my $from ($self->get('EnvelopeFrom:addr')) {
- if ($from =~ m/\@(\S+\.\S+)/) {
+ for my $address (@addresses) {
+ if ($address =~ m/\@(\S+\.\S+)/) {
$hosts{lc($1)} = 1;
}
}