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 2009/08/06 18:54:12 UTC

svn commit: r801714 - in /spamassassin/trunk/lib/Mail/SpamAssassin: Constants.pm Message.pm

Author: mmartinec
Date: Thu Aug  6 16:54:11 2009
New Revision: 801714

URL: http://svn.apache.org/viewvc?rev=801714&view=rev
Log:
Bug 5505: parsing of mbx format tidbits

Modified:
    spamassassin/trunk/lib/Mail/SpamAssassin/Constants.pm
    spamassassin/trunk/lib/Mail/SpamAssassin/Message.pm

Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Constants.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Constants.pm?rev=801714&r1=801713&r2=801714&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Constants.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Constants.pm Thu Aug  6 16:54:11 2009
@@ -346,7 +346,7 @@
 
 # regular expression that matches message separators in The University of
 # Washington's MBX mailbox format
-use constant MBX_SEPARATOR => qr/^([\s|\d]\d-[a-zA-Z]{3}-\d{4}\s\d{2}:\d{2}:\d{2}.*),(\d+);([\da-f]{12})-(\w{8})\r?$/;
+use constant MBX_SEPARATOR => qr/^([\s\d]\d-[a-zA-Z]{3}-\d{4}\s\d{2}:\d{2}:\d{2}.*),(\d+);([\da-f]{12})-(\w{8})\r?$/;
 # $1 = datestamp (str)
 # $2 = size of message in bytes (int)
 # $3 = message status - binary (hex)

Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Message.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Message.pm?rev=801714&r1=801713&r2=801714&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Message.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Message.pm Thu Aug  6 16:54:11 2009
@@ -171,7 +171,7 @@
     # de facto portability standard in SA's internals.  We need to
     # to this so that Mail::SpamAssassin::Util::parse_rfc822_date
     # can parse the date string...
-    if (/([\s|\d]\d)-([a-zA-Z]{3})-(\d{4})\s(\d{2}):(\d{2}):(\d{2})/) {
+    if (/([\s\d]\d)-([a-zA-Z]{3})-(\d{4})\s(\d{2}):(\d{2}):(\d{2})/) {
       # $1 = day of month
       # $2 = month (text)
       # $3 = year
@@ -181,10 +181,10 @@
       my @arr = localtime(timelocal($6,$5,$4,$1,$MONTH{lc($2)}-1,$3));
       my $address;
       foreach (@message) {
-  	if (/From:\s[^<]+<([^>]+)>/) {
+  	if (/^From:[^<]*<([^>]+)>/) {
   	    $address = $1;
   	    last;
-  	} elsif (/From:\s([^<^>]+)/) {
+  	} elsif (/^From:\s*([^<> ]+)/) {
   	    $address = $1;
   	    last;
   	}