You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by mm...@apache.org on 2008/08/28 16:28:03 UTC
svn commit: r689835 - in /spamassassin/trunk/lib/Mail/SpamAssassin: ./
Plugin/
Author: mmartinec
Date: Thu Aug 28 07:28:02 2008
New Revision: 689835
URL: http://svn.apache.org/viewvc?rev=689835&view=rev
Log:
Changed PMS::get and its calls for compatibility regarding a
default value: if the requested header field wasn't found,
return a default value as specified by the caller: if defval
argument is present it represents a default value even if undef;
if defval argument is absent a default value is an empty string
for compatibility
Modified:
spamassassin/trunk/lib/Mail/SpamAssassin/MailingList.pm
spamassassin/trunk/lib/Mail/SpamAssassin/PerMsgStatus.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/AWL.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Check.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DCC.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DKIM.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DNSEval.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/HTMLEval.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/HeaderEval.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/MIMEEval.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/RelayEval.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/SPF.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/WLBLEval.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/WhiteListSubject.pm
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/MailingList.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/MailingList.pm?rev=689835&r1=689834&r2=689835&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/MailingList.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/MailingList.pm Thu Aug 28 07:28:02 2008
@@ -44,12 +44,12 @@
# List-Subscribe: <mailto:[a-zA-Z\.-]+-subscribe@
sub detect_ml_ezmlm {
my ($self) = @_;
- return 0 unless $self->get('mailing-list','') =~ /ezmlm$/;
- return 0 unless $self->get('precedence','') eq "bulk\n";
- return 0 unless $self->get('list-post','') =~ /^<mailto:/;
- return 0 unless $self->get('list-help','') =~ /^<mailto:/;
- return 0 unless $self->get('list-unsubscribe','') =~ /<mailto:[a-zA-Z\.-]+-unsubscribe\@/;
- return 0 unless $self->get('list-subscribe','') =~ /<mailto:[a-zA-Z\.-]+-subscribe\@/;
+ return 0 unless $self->get('mailing-list') =~ /ezmlm$/;
+ return 0 unless $self->get('precedence') eq "bulk\n";
+ return 0 unless $self->get('list-post') =~ /^<mailto:/;
+ return 0 unless $self->get('list-help') =~ /^<mailto:/;
+ return 0 unless $self->get('list-unsubscribe') =~ /<mailto:[a-zA-Z\.-]+-unsubscribe\@/;
+ return 0 unless $self->get('list-subscribe') =~ /<mailto:[a-zA-Z\.-]+-subscribe\@/;
return 1; # assume ezmlm then.
}
@@ -75,23 +75,23 @@
# X-BeenThere:
sub detect_ml_mailman {
my ($self) = @_;
- return 0 unless $self->get('x-mailman-version','') =~ /^\d/;
- return 0 unless $self->get('precedence','') =~ /^(?:bulk|list)$/;
+ return 0 unless $self->get('x-mailman-version') =~ /^\d/;
+ return 0 unless $self->get('precedence') =~ /^(?:bulk|list)$/;
- if ($self->get('x-list-administrivia','') =~ /yes/ ||
- $self->get('subject','') =~ /mailing list memberships reminder$/)
+ if ($self->get('x-list-administrivia') =~ /yes/ ||
+ $self->get('subject') =~ /mailing list memberships reminder$/)
{
- return 0 unless $self->get('errors-to');
- return 0 unless $self->get('x-beenthere');
- return 0 unless $self->get('x-no-archive','') =~ /yes/;
+ return 0 unless defined $self->get('errors-to',undef);
+ return 0 unless defined $self->get('x-beenthere',undef);
+ return 0 unless $self->get('x-no-archive') =~ /yes/;
return 1;
}
- return 0 unless $self->get('list-id');
- return 0 unless $self->get('list-help','') =~ /^<mailto:/;
- return 0 unless $self->get('list-post','') =~ /^<mailto:/;
- return 0 unless $self->get('list-subscribe','') =~ /<mailto:.*=subscribe>/;
- return 0 unless $self->get('list-unsubscribe','') =~ /<mailto:.*=unsubscribe>/;
+ return 0 unless defined $self->get('list-id',undef);
+ return 0 unless $self->get('list-help') =~ /^<mailto:/;
+ return 0 unless $self->get('list-post') =~ /^<mailto:/;
+ return 0 unless $self->get('list-subscribe') =~ /<mailto:.*=subscribe>/;
+ return 0 unless $self->get('list-unsubscribe') =~ /<mailto:.*=unsubscribe>/;
return 1; # assume this is a valid mailman list
}
@@ -123,11 +123,11 @@
# sub detect_ml_listbuilder {
# my ($self, $full) = @_;
#
-# my $reply = $self->get('Reply-To:addr','');
+# my $reply = $self->get('Reply-To:addr');
# if ($reply !~ /\@lb.bcentral.com/) { return 0; }
#
# # Received: from unknown (HELO lbrout14.listbuilder.com) (204.71.191.9)
-# my $rcvd = $self->get('received','');
+# my $rcvd = $self->get('received');
# return 0 unless ($rcvd =~ /\blbrout\d+\.listbuilder\.com\b/i);
# return 0 unless ($rcvd =~ /\b204\.71\.191\.\d+\b/);
#
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/PerMsgStatus.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/PerMsgStatus.pm?rev=689835&r1=689834&r2=689835&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/PerMsgStatus.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/PerMsgStatus.pm Thu Aug 28 07:28:02 2008
@@ -982,7 +982,7 @@
my $full = $1;
my $tag = $2;
my $result = $self->_get_tag($tag,$3);
- (defined $result) ? $result : $full;
+ defined $result ? $result : $full;
}ge;
return $text;
@@ -1119,7 +1119,7 @@
# tag data also comes from $self->{tag_data}->{TAG}
- $tag = "" unless defined $tag; # can be "0", so use defined test
+ $tag = "" unless defined $tag; # can be "0", so use a defined test
%tags = ( YESNO => sub { $self->_get_tag_value_for_yesno() },
@@ -1214,7 +1214,7 @@
HEADER => sub {
my $hdr = shift || return;
- return $self->get($hdr);
+ return $self->get($hdr,undef);
},
TIMING => sub {
@@ -1616,9 +1616,10 @@
$cache->{$_[1]} = $found;
}
# if the requested header wasn't found, we should return a default value
- # as specified by the caller; if defval argument is present it represents
- # a default value even if undef
- return (defined $found ? $found : $_[2]);
+ # as specified by the caller: if defval argument is present it represents
+ # a default value even if undef; if defval argument is absent a default
+ # value is an empty string for upwards compatibility
+ return (defined $found ? $found : @_ > 2 ? $_[2] : '');
}
###########################################################################
@@ -1781,8 +1782,8 @@
my %parsed = map { $_ => 'parsed' } $self->_get_parsed_uri_list();
# Look for the domain in DK/DKIM headers
- my $dk = join(" ", grep {defined} ( $self->get('DomainKey-Signature'),
- $self->get('DKIM-Signature') ));
+ my $dk = join(" ", grep {defined} ( $self->get('DomainKey-Signature',undef),
+ $self->get('DKIM-Signature',undef) ));
while ($dk =~ /\bd\s*=\s*([^;]+)/g) {
my $dom = $1;
$dom =~ s/\s+//g;
@@ -2244,7 +2245,7 @@
# This will prevent us falling through and picking up inappropriate headers.
if (defined $self->{conf}->{envelope_sender_header}) {
# make sure we get the most recent copy - there can be only one EnvelopeSender.
- $envf = $self->get($self->{conf}->{envelope_sender_header}.":addr");
+ $envf = $self->get($self->{conf}->{envelope_sender_header}.":addr",undef);
# ok if it contains an "@" sign, or is "" (ie. "<>" without the < and >)
goto ok if defined $envf && ($envf =~ /\@/ || $envf =~ /^$/);
# Warn them if it's configured, but not there or not usable.
@@ -2289,8 +2290,8 @@
# lines, we cannot trust any Envelope-From headers, since they're likely to
# be incorrect fetchmail guesses.
- if ($self->get("X-Sender",'') =~ /\@/) {
- my $rcvd = join(' ', $self->get("Received",''));
+ if ($self->get("X-Sender") =~ /\@/) {
+ my $rcvd = join(' ', $self->get("Received"));
if ($rcvd =~ /\(fetchmail/) {
dbg("message: X-Sender and fetchmail signatures found, cannot trust envelope-from");
return;
@@ -2298,10 +2299,10 @@
}
# procmailrc notes this (we now recommend adding it to Received instead)
- if ($envf = $self->get("X-Envelope-From",'')) {
+ if ($envf = $self->get("X-Envelope-From")) {
# heuristic: this could have been relayed via a list which then used
# a *new* Envelope-from. check
- if ($self->get("ALL",'') =~ /(?:^|\n)Received:\s.*\nX-Envelope-From:\s/s) {
+ if ($self->get("ALL") =~ /(?:^|\n)Received:\s.*\nX-Envelope-From:\s/s) {
dbg("message: X-Envelope-From header found after 1 or more Received lines, cannot trust envelope-from");
return;
} else {
@@ -2310,10 +2311,10 @@
}
# qmail, new-inject(1)
- if ($envf = $self->get("Envelope-Sender",'')) {
+ if ($envf = $self->get("Envelope-Sender")) {
# heuristic: this could have been relayed via a list which then used
# a *new* Envelope-from. check
- if ($self->get("ALL",'') =~ /(?:^|\n)Received:\s.*\nEnvelope-Sender:\s/s) {
+ if ($self->get("ALL") =~ /(?:^|\n)Received:\s.*\nEnvelope-Sender:\s/s) {
dbg("message: Envelope-Sender header found after 1 or more Received lines, cannot trust envelope-from");
} else {
goto ok;
@@ -2327,10 +2328,10 @@
# data. This use of return-path is required; mail systems MUST support
# it. The return-path line preserves the information in the <reverse-
# path> from the MAIL command.
- if ($envf = $self->get("Return-Path",'')) {
+ if ($envf = $self->get("Return-Path")) {
# heuristic: this could have been relayed via a list which then used
# a *new* Envelope-from. check
- if ($self->get("ALL",'') =~ /(?:^|\n)Received:\s.*\nReturn-Path:\s/s) {
+ if ($self->get("ALL") =~ /(?:^|\n)Received:\s.*\nReturn-Path:\s/s) {
dbg("message: Return-Path header found after 1 or more Received lines, cannot trust envelope-from");
} else {
goto ok;
@@ -2370,7 +2371,7 @@
my $cur_rcvd_index = -1; # none found yet
my $result = '';
- foreach my $hdr (split("\n", $self->get('ALL',''))) {
+ foreach my $hdr (split("\n", $self->get('ALL'))) {
if ($hdr =~ /^received: /i) {
$cur_rcvd_index++;
next if (defined $start_rcvd && !$include_start_rcvd &&
@@ -2451,7 +2452,7 @@
my @addrs;
# Resent- headers take priority, if present. see bug 672
- my $resent = $self->get('Resent-From');
+ my $resent = $self->get('Resent-From',undef);
if (defined $resent && $resent =~ /\S/) {
@addrs = $self->{main}->find_all_addrs_in_line ($resent);
}
@@ -2465,7 +2466,7 @@
# bug 3366: some addresses come in as 'foo@bar...', which is invalid.
# so deal with the multiple periods.
## no critic
- @addrs = map { tr/././s; $_ } grep { defined($_) && $_ ne '' }
+ @addrs = map { tr/././s; $_ } grep { $_ ne '' }
($self->get('From:addr'), # std
$self->get('Envelope-Sender:addr'), # qmail: new-inject(1)
$self->get('Resent-Sender:addr'), # procmailrc manpage
@@ -2491,8 +2492,7 @@
my @addrs;
# Resent- headers take priority, if present. see bug 672
- my $resent = join('', grep {defined} ($self->get('Resent-To'),
- $self->get('Resent-Cc')));
+ my $resent = join('', $self->get('Resent-To'), $self->get('Resent-Cc'));
if ($resent =~ /\S/) {
@addrs = $self->{main}->find_all_addrs_in_line($resent);
} else {
@@ -2501,7 +2501,7 @@
# since it does not add a helpful header like exim, qmail
# or Postfix do.
#
- my $rcvd = $self->get('Received','');
+ my $rcvd = $self->get('Received');
$rcvd =~ s/\n[ \t]+/ /gs;
$rcvd =~ s/\n+/\n/gs;
@@ -2512,7 +2512,7 @@
}
@addrs = $self->{main}->find_all_addrs_in_line (
- join('', grep { defined($_) && $_ ne '' } (
+ join('',
join(" ", @rcvdaddrs)."\n",
$self->get('To'), # std
$self->get('Apparently-To'), # sendmail, from envelope
@@ -2525,7 +2525,7 @@
$self->get('X-Original-To'), # procmail quick start
$self->get('X-Rcpt-To'), # procmail quick start
$self->get('X-Real-To'), # procmail quick start
- $self->get('Cc')))); # std
+ $self->get('Cc'))); # std
# those are taken from various sources; thanks to Nancy McGough, who
# noted some in <http://www.ii.com/internet/robots/procmail/qs/#envelope>
}
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/AWL.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/AWL.pm?rev=689835&r1=689834&r2=689835&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/AWL.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/AWL.pm Thu Aug 28 07:28:02 2008
@@ -339,7 +339,7 @@
my $timer = $self->{main}->time_method("total_awl");
my $from = lc $pms->get('From:addr');
- return 0 unless defined $from && $from =~ /\S/;
+ return 0 unless $from =~ /\S/;
# find the earliest usable "originating IP". ignore private nets
my $origip;
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Check.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Check.pm?rev=689835&r1=689834&r2=689835&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Check.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Check.pm Thu Aug 28 07:28:02 2008
@@ -545,8 +545,8 @@
while(my($k,$v) = each %ordered) {
my($hdrname, $def) = split(/\t/, $k, 2);
$self->add_evalstr ('
- $hval = $self->get(q{'.$hdrname.'}' .
- (!defined($def) ? '' : ', q{'.$def.'}') . ');
+ $hval = $self->get(q{'.$hdrname.'}, ' .
+ (!defined($def) ? 'undef' : 'q{'.$def.'}') . ');
');
foreach my $rulename (@{$v}) {
if ($self->{main}->{use_rule_subs}) {
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DCC.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DCC.pm?rev=689835&r1=689834&r2=689835&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DCC.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DCC.pm Thu Aug 28 07:28:02 2008
@@ -401,7 +401,7 @@
# short-circuit if there's already a X-DCC header with value of
# "bulk" from an upstream DCC check
- if ($permsgstatus->get('ALL','') =~
+ if ($permsgstatus->get('ALL') =~
/^(X-DCC-([^:]{1,80})?-?Metrics:.*bulk.*)$/m) {
$permsgstatus->{dcc_response} = $1;
return;
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DKIM.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DKIM.pm?rev=689835&r1=689834&r2=689835&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DKIM.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DKIM.pm Thu Aug 28 07:28:02 2008
@@ -322,7 +322,7 @@
$scan->{dkim_valid_author_sig} = 0;
$scan->{dkim_key_testing} = 0;
$scan->{dkim_author_address} =
- $scan->get('from:addr') if !defined $scan->{dkim_author_address};
+ $scan->get('from:addr',undef) if !defined $scan->{dkim_author_address};
# my $verifier = Mail::DKIM::Verifier->new(); # per new docs
my $verifier = Mail::DKIM::Verifier->new_object(); # old style???
@@ -456,7 +456,7 @@
$scan->{dkim_signall} = 0;
$scan->{dkim_policy_testing} = 0;
$scan->{dkim_author_address} =
- $scan->get('from:addr') if !defined $scan->{dkim_author_address};
+ $scan->get('from:addr',undef) if !defined $scan->{dkim_author_address};
return unless $self->_dkim_load_modules();
@@ -532,7 +532,7 @@
my $author = $scan->{dkim_author_address};
if (!defined $author) {
- $scan->{dkim_author_address} = $author = $scan->get('from:addr');
+ $scan->{dkim_author_address} = $author = $scan->get('from:addr',undef);
}
if (!defined $author || $author eq '') {
dbg("dkim: check_dkim_whitelist: could not find author address");
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DNSEval.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DNSEval.pm?rev=689835&r1=689834&r2=689835&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DNSEval.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DNSEval.pm Thu Aug 28 07:28:02 2008
@@ -116,11 +116,11 @@
my ($self, $pms) = @_;
my %acctags;
- if ($pms->get('EnvelopeFrom:addr','') =~ /[@.]a--([a-z0-9]{3,})\./i) {
+ if ($pms->get('EnvelopeFrom:addr') =~ /[@.]a--([a-z0-9]{3,})\./i) {
(my $tag = $1) =~ tr/A-Z/a-z/;
$acctags{$tag} = -1;
}
- my $accreditor_field = $pms->get('Accreditor');
+ my $accreditor_field = $pms->get('Accreditor',undef);
if (defined $accreditor_field) {
my @accreditors = split(/,/, $accreditor_field);
foreach my $accreditor (@accreditors) {
@@ -170,7 +170,7 @@
my $IP_ADDRESS = IP_ADDRESS;
my @originating;
for my $header ('X-Yahoo-Post-IP', 'X-Originating-IP', 'X-Apparently-From', 'X-SenderIP') {
- my $str = $pms->get($header);
+ my $str = $pms->get($header,undef);
next unless defined $str && $str ne '';
push (@originating, ($str =~ m/($IP_ADDRESS)/g));
}
@@ -299,7 +299,7 @@
# 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 {
- _check_rbl_addresses(@_, $_[1]->get('EnvelopeFrom:addr'));
+ _check_rbl_addresses(@_, $_[1]->get('EnvelopeFrom:addr',undef));
}
sub _check_rbl_addresses {
@@ -334,7 +334,7 @@
my ($self, $pms, $rule) = @_;
my $host;
- for my $from ($pms->get('EnvelopeFrom:addr')) {
+ for my $from ($pms->get('EnvelopeFrom:addr',undef)) {
next unless defined $from;
$from =~ tr/././s; # bug 3366
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/HTMLEval.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/HTMLEval.pm?rev=689835&r1=689834&r2=689835&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/HTMLEval.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/HTMLEval.pm Thu Aug 28 07:28:02 2008
@@ -148,7 +148,7 @@
my ($self, $pms, undef, $ratio) = @_;
my $subject = $pms->get('Subject');
- if (!defined $subject || $subject eq '') {
+ if ($subject eq '') {
return 0;
}
my $max = 0;
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/HeaderEval.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/HeaderEval.pm?rev=689835&r1=689834&r2=689835&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/HeaderEval.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/HeaderEval.pm Thu Aug 28 07:28:02 2008
@@ -85,7 +85,7 @@
my ($self, $pms) = @_;
local ($_);
- $_ = $pms->get('Received','');
+ $_ = $pms->get('Received');
s/\s/ /gs;
# this is the hostname format used by AOL for their relays. Spammers love
@@ -139,7 +139,7 @@
sub check_for_unique_subject_id {
my ($self, $pms) = @_;
local ($_);
- $_ = lc $pms->get('Subject','');
+ $_ = lc $pms->get('Subject');
study;
my $id = 0;
@@ -266,7 +266,7 @@
$header .= ":raw" unless ($header eq "ALL" || $header =~ /:raw$/);
my $str = $pms->get($header);
- return 0 unless defined $str && $str ne '';
+ return 0 unless $str ne '';
# avoid overlap between tests
if ($header eq "ALL") {
@@ -294,10 +294,10 @@
sub gated_through_received_hdr_remover {
my ($self, $pms) = @_;
- my $txt = $pms->get("Mailing-List");
+ my $txt = $pms->get("Mailing-List",undef);
if (defined $txt && $txt =~ /^contact \S+\@\S+\; run by ezmlm$/) {
- my $dlto = $pms->get("Delivered-To",'');
- my $rcvd = $pms->get("Received",'');
+ my $dlto = $pms->get("Delivered-To");
+ my $rcvd = $pms->get("Received");
# ensure we have other indicative headers too
if ($dlto =~ /^mailing list \S+\@\S+/ &&
@@ -307,8 +307,8 @@
}
}
- my $rcvd = $pms->get("Received");
- if (!defined $rcvd || $rcvd !~ /\S/) {
+ my $rcvd = $pms->get("Received",undef);
+ if (!defined $rcvd) {
# we have no Received headers! These tests cannot run in that case
return 1;
}
@@ -330,7 +330,7 @@
$pms->{hotmail_addr_with_forged_hotmail_received} = 0;
$pms->{hotmail_addr_but_no_hotmail_received} = 0;
- my $rcvd = $pms->get('Received','');
+ my $rcvd = $pms->get('Received');
$rcvd =~ s/\s+/ /gs; # just spaces, simplify the regexp
return if ($rcvd =~
@@ -339,7 +339,7 @@
# Microsoft passes Hotmail mail directly to MSN Group servers.
return if $self->check_for_msn_groups_headers($pms);
- my $ip = $pms->get('X-Originating-Ip');
+ my $ip = $pms->get('X-Originating-Ip',undef);
my $IP_ADDRESS = IP_ADDRESS;
if (defined $ip && $ip =~ /$IP_ADDRESS/) { $ip = 1; } else { $ip = 0; }
@@ -365,7 +365,7 @@
} else {
# check to see if From claimed to be @hotmail.com
my $from = $pms->get('From:addr');
- if (!defined $from || $from !~ /\bhotmail\.com$/i) { return; }
+ if ($from !~ /\bhotmail\.com$/i) { return; }
$pms->{hotmail_addr_but_no_hotmail_received} = 1;
}
}
@@ -389,21 +389,21 @@
my ($self, $pms) = @_;
my $to = $pms->get('To');
- return 0 unless defined $to && $to =~ /<(\S+)\@groups\.msn\.com>/i;
+ return 0 unless $to =~ /<(\S+)\@groups\.msn\.com>/i;
my $listname = $1;
# from Theo Van Dinter, see bug 591
# Updated by DOS, based on messages from Bob Menschel, bug 4301
- return 0 unless $pms->get('Received','') =~
+ return 0 unless $pms->get('Received') =~
/from mail pickup service by ((?:p\d\d\.)groups\.msn\.com)\b/;
my $server = $1;
if ($listname =~ /^notifications$/) {
- return 0 unless $pms->get('Message-Id','') =~ /^<\S+\@$server>/;
+ return 0 unless $pms->get('Message-Id') =~ /^<\S+\@$server>/;
} else {
- return 0 unless $pms->get('Message-Id','') =~ /^<$listname-\S+\@groups\.msn\.com>/;
- return 0 unless $pms->get('EnvelopeFrom:addr','') =~ /$listname-bounce\@groups\.msn\.com/;
+ return 0 unless $pms->get('Message-Id') =~ /^<$listname-\S+\@groups\.msn\.com>/;
+ return 0 unless $pms->get('EnvelopeFrom:addr') =~ /$listname-bounce\@groups\.msn\.com/;
}
return 1;
@@ -456,12 +456,12 @@
my ($self, $pms) = @_;
my $from = $pms->get('From:addr');
- if (!defined $from || $from !~ /\beudoramail\.com$/i) { return 0; }
+ if ($from !~ /\beudoramail\.com$/i) { return 0; }
- my $rcvd = $pms->get('Received','');
+ my $rcvd = $pms->get('Received');
$rcvd =~ s/\s+/ /gs; # just spaces, simplify the regexp
- my $ip = $pms->get('X-Sender-Ip');
+ my $ip = $pms->get('X-Sender-Ip',undef);
my $IP_ADDRESS = IP_ADDRESS;
if (defined $ip && $ip =~ /$IP_ADDRESS/) { $ip = 1; } else { $ip = 0; }
@@ -486,13 +486,13 @@
my ($self, $pms) = @_;
my $from = $pms->get('From:addr');
- if (!defined $from || $from !~ /\byahoo\.com$/i) { return 0; }
+ if ($from !~ /\byahoo\.com$/i) { return 0; }
- my $rcvd = $pms->get('Received','');
+ my $rcvd = $pms->get('Received');
- if ($pms->get("Resent-From",'') ne '' && $pms->get("Resent-To",'') ne '') {
+ if ($pms->get("Resent-From") ne '' && $pms->get("Resent-To") ne '') {
my $xrcvd = $pms->get("X-Received");
- $rcvd = $xrcvd if defined $xrcvd && $xrcvd ne '';
+ $rcvd = $xrcvd if $xrcvd ne '';
}
$rcvd =~ s/\s+/ /gs; # just spaces, simplify the regexp
@@ -543,16 +543,16 @@
my ($self, $pms) = @_;
my $from = $pms->get('From:addr');
- if(!defined $from || $from !~ /\bjuno\.com$/i) { return 0; }
+ if ($from !~ /\bjuno\.com$/i) { return 0; }
- if($self->gated_through_received_hdr_remover($pms)) { return 0; }
+ if ($self->gated_through_received_hdr_remover($pms)) { return 0; }
my $xorig = $pms->get('X-Originating-IP');
- my $xmailer = $pms->get('X-Mailer','');
- my $rcvd = $pms->get('Received','');
+ my $xmailer = $pms->get('X-Mailer');
+ my $rcvd = $pms->get('Received');
my $IP_ADDRESS = IP_ADDRESS;
- if (defined $xorig && $xorig ne '') {
+ if ($xorig ne '') {
# 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; }
@@ -574,7 +574,7 @@
sub check_for_matching_env_and_hdr_from {
my ($self, $pms) =@_;
# two blank headers match so don't bother checking
- return (lc $pms->get('EnvelopeFrom:addr','') eq lc $pms->get('From:addr',''));
+ return (lc $pms->get('EnvelopeFrom:addr') eq lc $pms->get('From:addr'));
}
sub sorted_recipients {
@@ -608,7 +608,7 @@
# ToCc: pseudo-header works best, but sometimes Bcc: is better
for ('ToCc', 'Bcc') {
- my $to = $pms->get($_,''); # get recipients
+ my $to = $pms->get($_); # get recipients
$to =~ s/\(.*?\)//g; # strip out the (comments)
push(@inputs, ($to =~ m/([\w.=-]+\@\w+(?:[\w.-]+\.)+\w+)/g));
last if scalar(@inputs) >= TOCC_SIMILAR_COUNT;
@@ -652,8 +652,8 @@
my ($self, $pms) = @_;
my $hdr = $pms->get('To');
- $hdr = $pms->get('Apparently-To') if !defined $hdr || $hdr eq '';
- return 1 if !defined $hdr || $hdr eq '';
+ $hdr = $pms->get('Apparently-To') if $hdr eq '';
+ return 1 if $hdr eq '';
return 0;
}
@@ -662,7 +662,7 @@
my ($self, $pms) = @_;
local ($_);
- my $rcv = $pms->get('Received','');
+ my $rcv = $pms->get('Received');
# e.g.
# Received: from mail3.icytundra.com by gw05 with ESMTP; Thu, 21 Jun 2001 02:28:32 -0400
@@ -741,7 +741,7 @@
my (@received);
my $received = $pms->get('Received');
- if (defined $received && $received ne '') {
+ if ($received ne '') {
@received = grep {$_ =~ m/\S/} (split(/\n/,$received));
}
# if we have no Received: headers, chances are we're archived mail
@@ -890,7 +890,7 @@
sub subject_is_all_caps {
my ($self, $pms) = @_;
- my $subject = $pms->get('Subject','');
+ my $subject = $pms->get('Subject');
$subject =~ s/^\s+//;
$subject =~ s/\s+$//;
@@ -901,7 +901,7 @@
# now, check to see if the subject is encoded using a non-ASCII charset.
# If so, punt on this test to avoid FPs. We just list the known charsets
# this test will FP on, here.
- my $subjraw = $pms->get('Subject:raw','');
+ my $subjraw = $pms->get('Subject:raw');
my $CLTFAC = Mail::SpamAssassin::Constants::CHARSETS_LIKELY_TO_FP_AS_CAPS;
if ($subjraw =~ /=\?${CLTFAC}\?/i) {
return 0;
@@ -914,9 +914,9 @@
my ($self, $pms, $test) = @_;
my $full_to = $pms->get('To:addr');
- return 0 unless defined $full_to && $full_to ne '';
+ return 0 unless $full_to ne '';
- my $subject = $pms->get('Subject','');
+ my $subject = $pms->get('Subject');
if ($test eq "address") {
return $subject =~ /\b\Q$full_to\E\b/i; # "user@domain.com"
@@ -943,8 +943,7 @@
local ($_);
my $id = $pms->get('MESSAGEID');
- return 0 if !defined $id ||
- $id !~ /^<[0-9a-f]{4}([0-9a-f]{8})\$[0-9a-f]{8}\$[0-9a-f]{8}\@/;
+ return 0 if $id !~ /^<[0-9a-f]{4}([0-9a-f]{8})\$[0-9a-f]{8}\$[0-9a-f]{8}\@/;
my $timetoken = hex($1);
my $x = 0.0023283064365387;
@@ -952,13 +951,13 @@
my $fudge = 250;
- $_ = $pms->get('Date','');
+ $_ = $pms->get('Date');
$_ = Mail::SpamAssassin::Util::parse_rfc822_date($_) || 0;
my $expected = int (($_ * $x) + $y);
my $diff = $timetoken - $expected;
return 0 if (abs($diff) < $fudge);
- $_ = $pms->get('Received','');
+ $_ = $pms->get('Received');
/(\s.?\d+ \S\S\S \d+ \d+:\d+:\d+ \S+).*?$/;
$_ = Mail::SpamAssassin::Util::parse_rfc822_date($_) || 0;
$expected = int(($_ * $x) + $y);
@@ -972,14 +971,14 @@
local ($_);
# Lyris eats message-ids. also some ezmlm, I think :(
- $_ = $pms->get("List-Unsubscribe",'');
+ $_ = $pms->get("List-Unsubscribe");
return 1 if (/<mailto:(?:leave-\S+|\S+-unsubscribe)\@\S+>$/);
# ezmlm again
if($self->gated_through_received_hdr_remover($pms)) { return 1; }
# Allen notes this as 'Wacky sendmail version?'
- $_ = $pms->get("Received",'');
+ $_ = $pms->get("Received");
return 1 if /\/CWT\/DCE\)/;
# Apr 2 2003 jm: iPlanet rewrites lots of stuff, including Message-IDs
@@ -999,7 +998,7 @@
sub check_unresolved_template {
my ($self, $pms) = @_;
- my $all = $pms->get('ALL',''); # cached access
+ my $all = $pms->get('ALL'); # cached access
$all =~ s/\n[ \t]+/ /gs; # fix continuation lines
for my $header (split(/\n/, $all)) {
@@ -1016,8 +1015,8 @@
sub check_ratware_name_id {
my ($self, $pms) = @_;
- my $mid = $pms->get('MESSAGEID','');
- my $from = $pms->get('From','');
+ my $mid = $pms->get('MESSAGEID');
+ my $from = $pms->get('From');
if ($mid =~ m/<[A-Z]{28}\.([^>]+?)>/) {
if ($from =~ m/\"[^\"]+\"\s*<\Q$1\E>/) {
return 1;
@@ -1032,8 +1031,7 @@
my $to = $pms->get('To:addr');
my $from = $pms->get('EnvelopeFrom:addr');
- return 0 unless defined $from && $from ne '';
- return 0 unless defined $to && $to ne '';
+ return 0 if $from eq '' || $to eq '';
return 0 if $from =~ /^SRS\d=/;
if ($to =~ /^([^@]+)@(.+)$/) {
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/MIMEEval.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/MIMEEval.pm?rev=689835&r1=689834&r2=689835&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/MIMEEval.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/MIMEEval.pm Thu Aug 28 07:28:02 2008
@@ -69,7 +69,7 @@
sub check_for_faraway_charset {
my ($self, $pms, $body) = @_;
- my $type = $pms->get('Content-Type');
+ my $type = $pms->get('Content-Type',undef);
my @locales = Mail::SpamAssassin::Util::get_my_locales($self->{main}->{conf}->{ok_locales});
@@ -106,7 +106,7 @@
my ($self, $pms) = @_;
my $ctype = $pms->get('Content-Type');
- return 1 if (defined($ctype) && $ctype =~ m@^text/html@i);
+ return 1 if $ctype =~ m{^text/html}i;
$self->_check_attachments($pms) unless exists $pms->{mime_body_html_count};
return ($pms->{mime_body_html_count} > 0);
@@ -117,7 +117,7 @@
my ($self, $pms) = @_;
my $ctype = $pms->get('Content-Type');
- return 1 if (defined($ctype) && $ctype =~ m@^text/html@i);
+ return 1 if $ctype =~ m{^text/html}i;
$self->_check_attachments($pms) unless exists $pms->{mime_body_html_count};
return ($pms->{mime_body_html_count} > 0 &&
@@ -427,7 +427,7 @@
#
$self->_check_attachments($pms) unless exists $pms->{mime_checked_attachments};
my @charsets;
- my $type = $pms->get('Content-Type');
+ my $type = $pms->get('Content-Type',undef);
$type = get_charset_from_ct_line($type) if defined $type;
push (@charsets, $type) if defined $type;
if (defined $pms->{mime_html_charsets}) {
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/RelayEval.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/RelayEval.pm?rev=689835&r1=689834&r2=689835&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/RelayEval.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/RelayEval.pm Thu Aug 28 07:28:02 2008
@@ -111,9 +111,9 @@
sub sent_by_applemail {
my ($self, $pms) = @_;
- return 0 unless ($pms->get("MIME-Version",'') =~ /Apple Message framework/);
- return 0 unless ($pms->get("X-Mailer",'') =~ /^Apple Mail \(\d+\.\d+\)/);
- return 0 unless ($pms->get("Message-Id",'') =~
+ return 0 unless ($pms->get("MIME-Version") =~ /Apple Message framework/);
+ return 0 unless ($pms->get("X-Mailer") =~ /^Apple Mail \(\d+\.\d+\)/);
+ return 0 unless ($pms->get("Message-Id") =~
/^<[A-F0-9]+(?:-[A-F0-9]+){4}\@\S+.\S+>$/);
return 1;
}
@@ -209,7 +209,7 @@
}
my $from = $pms->get('From:addr');
- if (!defined $from || $from !~ /\b\Q$domain\E/i) {
+ if ($from !~ /\b\Q$domain\E/i) {
# '0e0' is Perl idiom for "true but zero":
$pms->{from_domain_in_received}->{$domain} = '0e0';
return 0;
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/SPF.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/SPF.pm?rev=689835&r1=689834&r2=689835&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/SPF.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/SPF.pm Thu Aug 28 07:28:02 2008
@@ -308,7 +308,7 @@
$scanner->{checked_for_received_spf_header} = 1;
dbg("spf: checking to see if the message has a Received-SPF header that we can use");
- my @internal_hdrs = split("\n", $scanner->get('ALL-INTERNAL',''));
+ my @internal_hdrs = split("\n", $scanner->get('ALL-INTERNAL'));
unless ($scanner->{conf}->{use_newest_received_spf_header}) {
# look for the LAST (earliest in time) header, it'll be the most accurate
@internal_hdrs = reverse(@internal_hdrs);
@@ -658,7 +658,7 @@
# from the Return-Path, X-Envelope-From, or whatever header.
# it's better to get it from Received though, as that is updated
# hop-by-hop.
- $sender = $scanner->get("EnvelopeFrom:addr",'');
+ $sender = $scanner->get("EnvelopeFrom:addr");
}
if (!$sender) {
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/WLBLEval.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/WLBLEval.pm?rev=689835&r1=689834&r2=689835&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/WLBLEval.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/WLBLEval.pm Thu Aug 28 07:28:02 2008
@@ -239,7 +239,7 @@
sub check_mailfrom_matches_rcvd {
my ($self, $pms) = @_;
my $sender = $pms->get("EnvelopeFrom:addr");
- return 0 if !defined $sender || $sender eq '';
+ return 0 if $sender eq '';
return $self->_check_addr_matches_rcvd($pms,$sender);
}
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/WhiteListSubject.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/WhiteListSubject.pm?rev=689835&r1=689834&r2=689835&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/WhiteListSubject.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/WhiteListSubject.pm Thu Aug 28 07:28:02 2008
@@ -112,7 +112,7 @@
my $subject = $permsgstatus->get('Subject');
- return 0 unless defined $subject && $subject ne '';
+ return 0 unless $subject ne '';
return $self->_check_subject($permsgstatus->{conf}->{whitelist_subject}, $subject);
}
@@ -122,7 +122,7 @@
my $subject = $permsgstatus->get('Subject');
- return 0 unless defined $subject && $subject ne '';
+ return 0 unless $subject ne '';
return $self->_check_subject($permsgstatus->{conf}->{blacklist_subject}, $subject);
}