You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by he...@apache.org on 2018/10/28 15:55:55 UTC
svn commit: r1845043 - in /spamassassin/trunk/lib/Mail/SpamAssassin:
AutoWhitelist.pm Client.pm HTML.pm Plugin/AntiVirus.pm
Plugin/BodyRuleBaseExtractor.pm Plugin/Check.pm Plugin/HeaderEval.pm
Plugin/MIMEEval.pm Plugin/PDFInfo.pm Plugin/TxRep.pm Util.pm
Author: hege
Date: Sun Oct 28 15:55:55 2018
New Revision: 1845043
URL: http://svn.apache.org/viewvc?rev=1845043&view=rev
Log:
Use index for literal matches
Modified:
spamassassin/trunk/lib/Mail/SpamAssassin/AutoWhitelist.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Client.pm
spamassassin/trunk/lib/Mail/SpamAssassin/HTML.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/AntiVirus.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/BodyRuleBaseExtractor.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Check.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/HeaderEval.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/MIMEEval.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/PDFInfo.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/TxRep.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Util.pm
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/AutoWhitelist.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/AutoWhitelist.pm?rev=1845043&r1=1845042&r2=1845043&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/AutoWhitelist.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/AutoWhitelist.pm Sun Oct 28 15:55:55 2018
@@ -301,7 +301,7 @@ sub ip_to_awl_key {
$result =~s/(\.0){1,3}\z//; # truncate zero tail
}
}
- } elsif ($origip =~ /:/ && # triage
+ } elsif (index($origip, ':') >= 0 && # triage
$origip =~
/^ [0-9a-f]{0,4} (?: : [0-9a-f]{0,4} | \. [0-9]{1,3} ){2,9} $/xsi) {
# looks like an IPv6 address
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Client.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Client.pm?rev=1845043&r1=1845042&r2=1845043&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Client.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Client.pm Sun Oct 28 15:55:55 2018
@@ -270,10 +270,10 @@ sub learn {
close $remote or die "error closing socket: $!";
if ($learntype == 0 || $learntype == 1) {
- return $did_set =~ /local/;
+ return index($did_set, 'local') >= 0;
}
else { #safe since we've already checked the $learntype values
- return $did_remove =~ /local/;
+ return index($did_remove, 'local') >= 0;
}
}
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/HTML.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/HTML.pm?rev=1845043&r1=1845042&r2=1845043&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/HTML.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/HTML.pm Sun Oct 28 15:55:55 2018
@@ -516,7 +516,7 @@ sub text_style {
my $whcolor = $1 ? 'bgcolor' : 'fgcolor';
my $value = lc $2;
- if ($value =~ /rgb/) {
+ if (index($value, 'rgb') >= 0) {
$value =~ tr/0-9,//cd;
my @rgb = split(/,/, $value);
$new{$whcolor} = sprintf("#%02x%02x%02x",
@@ -1136,7 +1136,7 @@ sub _merge_uri {
return "/" . $r_path;
}
else {
- if ($base_path =~ m|/|) {
+ if (index($base_path, '/') >= 0) {
$base_path =~ s|(?<=/)[^/]*$||;
}
else {
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/AntiVirus.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/AntiVirus.pm?rev=1845043&r1=1845042&r2=1845043&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/AntiVirus.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/AntiVirus.pm Sun Oct 28 15:55:55 2018
@@ -107,7 +107,7 @@ sub _check_attachments {
# file extension indicates an executable
$pms->{antivirus_microsoft_exe} = 1;
}
- elsif ($cte =~ /base64/ && defined $p->raw()->[0] &&
+ elsif (index($cte, 'base64') >= 0 && defined $p->raw()->[0] &&
$p->raw()->[0] =~ /^TV[opqr].A..[AB].[AQgw][A-H].A/)
{
# base64-encoded executable
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/BodyRuleBaseExtractor.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/BodyRuleBaseExtractor.pm?rev=1845043&r1=1845042&r2=1845043&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/BodyRuleBaseExtractor.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/BodyRuleBaseExtractor.pm Sun Oct 28 15:55:55 2018
@@ -445,7 +445,7 @@ sub simplify_and_qr_regexp {
}
else {
die "case-i" if $rule =~ /\(\?i\)/;
- die "case-i" if $mods =~ /i/;
+ die "case-i" if index($mods, 'i') >= 0;
# always case-i: /A(?i:ct) N(?i:ow)/ => /Act Now/
$rule =~ s/(?<!\\)\(\?i\:(.*?)\)/$1/gs and die "case-i";
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Check.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Check.pm?rev=1845043&r1=1845042&r2=1845043&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Check.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Check.pm Sun Oct 28 15:55:55 2018
@@ -270,7 +270,7 @@ sub run_rbl_eval_tests {
$result = $pms->$function($rulename, @args); 1;
} or do {
my $eval_stat = $@ ne '' ? $@ : "errno=$!"; chomp $eval_stat;
- die "rules: $eval_stat\n" if $eval_stat =~ /__alarm__ignore__/;
+ die "rules: $eval_stat\n" if index($eval_stat, '__alarm__ignore__') >= 0;
warn "rules: failed to run $rulename RBL test, skipping:\n".
"\t($eval_stat)\n";
$pms->{rule_errors}++;
@@ -1259,7 +1259,7 @@ sub run_eval_tests {
$result = $self->' . $function . ' (@extraevalargs '. $argstr .' ); 1;
} or do {
$result = 0;
- die "rules: $@\n" if $@ =~ /__alarm__ignore__/;
+ die "rules: $@\n" if index($@, "__alarm__ignore__") >= 0;
$self->handle_eval_rule_errors($rulename);
};
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/HeaderEval.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/HeaderEval.pm?rev=1845043&r1=1845042&r2=1845043&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/HeaderEval.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/HeaderEval.pm Sun Oct 28 15:55:55 2018
@@ -571,7 +571,7 @@ sub check_for_forged_juno_received_heade
# New style Juno has no X-Originating-IP header, and other changes
if($rcvd !~ /from.*\b(?:juno|untd)\.com.*[\[\(]$IP_ADDRESS[\]\)].*by/
&& $rcvd !~ / cookie\.(?:juno|untd)\.com /) { return 1; }
- if($xmailer !~ /Juno /) { return 1; }
+ if(index($xmailer, 'Juno ') == -1) { return 1; }
} else {
if($rcvd =~ /from.*\bmail\.com.*\[$IP_ADDRESS\].*by/) {
if($xmailer !~ /\bmail\.com/) { return 1; }
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/MIMEEval.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/MIMEEval.pm?rev=1845043&r1=1845042&r2=1845043&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/MIMEEval.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/MIMEEval.pm Sun Oct 28 15:55:55 2018
@@ -226,19 +226,19 @@ sub _check_mime_header {
$pms->{mime_body_text_count}++;
}
- if (index($cte, 'base64') != -1) {
+ if (index($cte, 'base64') >= 0) {
$pms->{mime_base64_count}++;
}
- elsif (index($cte, 'quoted-printable') != -1) {
+ elsif (index($cte, 'quoted-printable') >= 0) {
$pms->{mime_qp_count}++;
}
- if ($cd && index($cd, 'attachment') != -1) {
+ if ($cd && index($cd, 'attachment') >= 0) {
$pms->{mime_attachment}++;
}
if ($ctype =~ /^text/ &&
- index($cte, 'base64') != -1 &&
+ index($cte, 'base64') >= 0 &&
(!$charset || $charset =~ /(?:us-ascii|ansi_x3\.4-1968|iso-ir-6|ansi_x3\.4-1986|iso_646\.irv:1991|ascii|iso646-us|us|ibm367|cp367|csascii)/) &&
!($cd && $cd =~ /^(?:attachment|inline)/))
{
@@ -361,7 +361,7 @@ sub _check_attachments {
$part_type[$part] = $ctype;
$part_bytes[$part] = 0 if index($cd, 'attachment') == -1;
- my $cte_is_base64 = $cte =~ /base64/i;
+ my $cte_is_base64 = index($cte, 'base64') >= 0;
my $previous = '';
foreach (@{$p->raw()}) {
@@ -408,7 +408,7 @@ sub _check_attachments {
# }
# count excessive QP bytes
- if (index($_, '=') != -1) {
+ if (index($_, '=') >= 0) {
# whoever wrote this next line is an evil hacker -- jm
my $qp = () = m/=(?:09|3[0-9ABCEF]|[2456][0-9A-F]|7[0-9A-E])/g;
if ($qp) {
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/PDFInfo.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/PDFInfo.pm?rev=1845043&r1=1845042&r2=1845043&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/PDFInfo.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/PDFInfo.pm Sun Oct 28 15:55:55 2018
@@ -237,7 +237,7 @@ my %get_details = (
$encrypted=1 if ($line =~ m/^\/Encrypt/);
# once we hit the first stream, we stop collecting data for fuzzy md5
- $no_more_fuzzy = 1 if ($line =~ m/stream/);
+ $no_more_fuzzy = 1 if (index($line, 'stream') >= 0);
# From a v1.3 pdf
# [12234] dbg: pdfinfo: line=630 0 0 149 0 0 cm
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/TxRep.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/TxRep.pm?rev=1845043&r1=1845042&r2=1845043&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/TxRep.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/TxRep.pm Sun Oct 28 15:55:55 2018
@@ -1104,7 +1104,7 @@ sub _fn_envelope {
$self->{conf}->{txrep_weight_helo};
my $sign = $args->{signedby};
my $id = $args->{address};
- if ($args->{address} =~ /,/) {
+ if (index($args->{address}, ',') >= 0) {
$sign = $args->{address};
$sign =~ s/^.*,//g;
$id =~ s/,.*$//g;
@@ -1115,9 +1115,9 @@ sub _fn_envelope {
{$factor /= $self->{conf}->{txrep_weight_helo}; $sign = 'helo';}
elsif ($id =~ /^[a-f\d\.:]+$/ && $self->{conf}->{txrep_weight_ip})
{$factor /= $self->{conf}->{txrep_weight_ip};}
- elsif ($id =~ /@/ && $self->{conf}->{txrep_weight_email})
+ elsif (index($id, '@') >= 0 && $self->{conf}->{txrep_weight_email})
{$factor /= $self->{conf}->{txrep_weight_email};}
- elsif ($id !~ /@/ && $self->{conf}->{txrep_weight_domain})
+ elsif (index($id, '@') == -1 && $self->{conf}->{txrep_weight_domain})
{$factor /= $self->{conf}->{txrep_weight_domain};}
else {$factor = 1;}
@@ -1659,15 +1659,15 @@ sub open_storages {
# TODO: add an a method to the handler class instead
my ($storage_type, $is_global);
- if (ref($factory) =~ /SQLBasedAddrList/) {
+ if (index(ref($factory), 'SQLBasedAddrList') >= 0) {
$is_global = defined $self->{conf}->{user_awl_sql_override_username};
$storage_type = 'SQL';
if ($is_global && $self->{conf}->{user_awl_sql_override_username} eq $self->{main}->{username}) {
# skip double storage if current user same as the global override
$self->{user_storage} = $self->{global_storage} = $self->{default_storage};
}
- } elsif (ref($factory) =~ /DBBasedAddrList/) {
- $is_global = $self->{conf}->{auto_whitelist_path} !~ /__userstate__/;
+ } elsif (index(ref($factory), 'DBBasedAddrList') >= 0) {
+ $is_global = index($self->{conf}->{auto_whitelist_path}, '__userstate__') == -1;
$storage_type = 'DB';
}
if (!defined $self->{global_storage}) {
@@ -1751,7 +1751,7 @@ sub ip_to_awl_key {
$result =~s/(\.0){1,3}\z//; # truncate zero tail
}
}
- } elsif ($origip =~ /:/ && # triage
+ } elsif (index($origip, ':') >= 0 && # triage
$origip =~
/^ [0-9a-f]{0,4} (?: : [0-9a-f]{0,4} | \. [0-9]{1,3} ){2,9} $/xsi) {
# looks like an IPv6 address
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Util.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Util.pm?rev=1845043&r1=1845042&r2=1845043&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Util.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Util.pm Sun Oct 28 15:55:55 2018
@@ -1037,7 +1037,7 @@ sub reverse_ip_address {
local($1,$2,$3,$4);
if ($ip =~ /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\z/) {
$revip = "$4.$3.$2.$1";
- } elsif ($ip !~ /:/ || $ip !~ /^[0-9a-fA-F:.]{2,}\z/) { # triage
+ } elsif (index($ip, ':') == -1 || $ip !~ /^[0-9a-fA-F:.]{2,}\z/) { # triage
# obviously unrecognized syntax
} elsif (!NetAddr::IP->can('full6')) { # since NetAddr::IP 4.010
info("util: version of NetAddr::IP is too old, IPv6 not supported");