You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by gb...@apache.org on 2019/01/11 08:15:08 UTC
svn commit: r1851018 - in /spamassassin:
branches/3.4/lib/Mail/SpamAssassin/Plugin/Phishing.pm
trunk/lib/Mail/SpamAssassin/Plugin/Phishing.pm
Author: gbechis
Date: Fri Jan 11 08:15:08 2019
New Revision: 1851018
URL: http://svn.apache.org/viewvc?rev=1851018&view=rev
Log:
Some speed improvements
Modified:
spamassassin/branches/3.4/lib/Mail/SpamAssassin/Plugin/Phishing.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Phishing.pm
Modified: spamassassin/branches/3.4/lib/Mail/SpamAssassin/Plugin/Phishing.pm
URL: http://svn.apache.org/viewvc/spamassassin/branches/3.4/lib/Mail/SpamAssassin/Plugin/Phishing.pm?rev=1851018&r1=1851017&r2=1851018&view=diff
==============================================================================
--- spamassassin/branches/3.4/lib/Mail/SpamAssassin/Plugin/Phishing.pm (original)
+++ spamassassin/branches/3.4/lib/Mail/SpamAssassin/Plugin/Phishing.pm Fri Jan 11 08:15:08 2019
@@ -53,7 +53,7 @@ To avoid download limits a registration
package Mail::SpamAssassin::Plugin::Phishing;
use strict;
use warnings;
-my $VERSION = 1.0;
+my $VERSION = 1.1;
use Errno qw(EBADF);
use Mail::SpamAssassin::Plugin;
@@ -97,12 +97,8 @@ sub check_start{
my ($self, $params) = @_;
my $pms = $params->{permsgstatus};
- #initialize the PHISHING data structure for
- #saving configuration information
+ # initialize the PHISHING data structure
$pms->{PHISHING} = {};
- $pms->{PHISHING}->{phishurl} = [];
- $pms->{PHISHING}->{phishdomain} = [];
- $pms->{PHISHING}->{phishinfo} = {};
#read the configuration info
$self->_read_configfile($params);
@@ -122,9 +118,8 @@ sub _read_configfile {
next if(/^\s*\#/);
my $phishdomain = $self->{main}->{registryboundaries}->uri_to_domain($_);
if ( defined $phishdomain ) {
- push @{$pms->{PHISHING}->{phishurl}}, $_;
- push @{$pms->{PHISHING}->{phishdomain}}, $phishdomain;
- push @{$pms->{PHISHING}->{phishinfo}->{$phishdomain}}, "OpenPhish";
+ push @{$pms->{PHISHING}->{$_}->{phishdomain}}, $phishdomain;
+ push @{$pms->{PHISHING}->{$_}->{phishinfo}->{$phishdomain}}, "OpenPhish";
}
}
@@ -154,9 +149,8 @@ sub _read_configfile {
$phtank_ln[1] =~ s/\"//g;
my $phishdomain = $self->{main}->{registryboundaries}->uri_to_domain($phtank_ln[1]);
if ( defined $phishdomain ) {
- push @{$pms->{PHISHING}->{phishurl}}, $phtank_ln[1];
- push @{$pms->{PHISHING}->{phishdomain}}, $phishdomain;
- push @{$pms->{PHISHING}->{phishinfo}->{$phishdomain}}, "PhishTank";
+ push @{$pms->{PHISHING}->{$phtank_ln[1]}->{phishdomain}}, $phishdomain;
+ push @{$pms->{PHISHING}->{$phtank_ln[1]}->{phishinfo}->{$phishdomain}}, "PhishTank";
}
}
@@ -185,16 +179,14 @@ sub check_phishing {
if (($info->{types}->{a}) || ($info->{types}->{parsed})) {
# check url
foreach my $cluri (@{$info->{cleaned}}) {
- if (length $cluri) {
- if ( grep { $cluri eq $_ } @{$pms->{PHISHING}->{phishurl}} ) {
- $domain = $self->{main}->{registryboundaries}->uri_to_domain($cluri);
- $feedname = $pms->{PHISHING}->{phishinfo}->{$domain}[0];
- dbg("HIT! $domain [$cluri] found in $feedname feed");
- $pms->test_log("$feedname ($domain)");
- $pms->got_hit($rulename, "", ruletype => 'eval');
- return 1;
- }
- }
+ if ( exists $pms->{PHISHING}->{$cluri} ) {
+ $domain = $self->{main}->{registryboundaries}->uri_to_domain($cluri);
+ $feedname = $pms->{PHISHING}->{$cluri}->{phishinfo}->{$domain}[0];
+ dbg("HIT! $domain [$cluri] found in $feedname feed");
+ $pms->test_log("$feedname ($domain)");
+ $pms->got_hit($rulename, "", ruletype => 'eval');
+ return 1;
+ }
}
}
}
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Phishing.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Phishing.pm?rev=1851018&r1=1851017&r2=1851018&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Phishing.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Phishing.pm Fri Jan 11 08:15:08 2019
@@ -53,7 +53,7 @@ To avoid download limits a registration
package Mail::SpamAssassin::Plugin::Phishing;
use strict;
use warnings;
-my $VERSION = 1.0;
+my $VERSION = 1.1;
use Errno qw(EBADF);
use Mail::SpamAssassin::Plugin;
@@ -97,12 +97,8 @@ sub check_start{
my ($self, $params) = @_;
my $pms = $params->{permsgstatus};
- #initialize the PHISHING data structure for
- #saving configuration information
+ # initialize the PHISHING data structure
$pms->{PHISHING} = {};
- $pms->{PHISHING}->{phishurl} = [];
- $pms->{PHISHING}->{phishdomain} = [];
- $pms->{PHISHING}->{phishinfo} = {};
#read the configuration info
$self->_read_configfile($params);
@@ -122,9 +118,8 @@ sub _read_configfile {
next if(/^\s*\#/);
my $phishdomain = $self->{main}->{registryboundaries}->uri_to_domain($_);
if ( defined $phishdomain ) {
- push @{$pms->{PHISHING}->{phishurl}}, $_;
- push @{$pms->{PHISHING}->{phishdomain}}, $phishdomain;
- push @{$pms->{PHISHING}->{phishinfo}->{$phishdomain}}, "OpenPhish";
+ push @{$pms->{PHISHING}->{$_}->{phishdomain}}, $phishdomain;
+ push @{$pms->{PHISHING}->{$_}->{phishinfo}->{$phishdomain}}, "OpenPhish";
}
}
@@ -154,9 +149,8 @@ sub _read_configfile {
$phtank_ln[1] =~ s/\"//g;
my $phishdomain = $self->{main}->{registryboundaries}->uri_to_domain($phtank_ln[1]);
if ( defined $phishdomain ) {
- push @{$pms->{PHISHING}->{phishurl}}, $phtank_ln[1];
- push @{$pms->{PHISHING}->{phishdomain}}, $phishdomain;
- push @{$pms->{PHISHING}->{phishinfo}->{$phishdomain}}, "PhishTank";
+ push @{$pms->{PHISHING}->{$phtank_ln[1]}->{phishdomain}}, $phishdomain;
+ push @{$pms->{PHISHING}->{$phtank_ln[1]}->{phishinfo}->{$phishdomain}}, "PhishTank";
}
}
@@ -185,16 +179,14 @@ sub check_phishing {
if (($info->{types}->{a}) || ($info->{types}->{parsed})) {
# check url
foreach my $cluri (@{$info->{cleaned}}) {
- if (length $cluri) {
- if ( grep { $cluri eq $_ } @{$pms->{PHISHING}->{phishurl}} ) {
- $domain = $self->{main}->{registryboundaries}->uri_to_domain($cluri);
- $feedname = $pms->{PHISHING}->{phishinfo}->{$domain}[0];
- dbg("HIT! $domain [$cluri] found in $feedname feed");
- $pms->test_log("$feedname ($domain)");
- $pms->got_hit($rulename, "", ruletype => 'eval');
- return 1;
- }
- }
+ if ( exists $pms->{PHISHING}->{$cluri} ) {
+ $domain = $self->{main}->{registryboundaries}->uri_to_domain($cluri);
+ $feedname = $pms->{PHISHING}->{$cluri}->{phishinfo}->{$domain}[0];
+ dbg("HIT! $domain [$cluri] found in $feedname feed");
+ $pms->test_log("$feedname ($domain)");
+ $pms->got_hit($rulename, "", ruletype => 'eval');
+ return 1;
+ }
}
}
}