You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by do...@apache.org on 2006/07/25 04:00:17 UTC

svn commit: r425255 - in /spamassassin/trunk: lib/Mail/SpamAssassin/PerMsgStatus.pm t/get_headers.t

Author: dos
Date: Mon Jul 24 19:00:16 2006
New Revision: 425255

URL: http://svn.apache.org/viewvc?rev=425255&view=rev
Log:
bug 3979: better handling of quoted text when stripping email addresses

Modified:
    spamassassin/trunk/lib/Mail/SpamAssassin/PerMsgStatus.pm
    spamassassin/trunk/t/get_headers.t

Modified: spamassassin/trunk/lib/Mail/SpamAssassin/PerMsgStatus.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/PerMsgStatus.pm?rev=425255&r1=425254&r2=425255&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/PerMsgStatus.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/PerMsgStatus.pm Mon Jul 24 19:00:16 2006
@@ -1642,7 +1642,9 @@
       #
       # strip out the (comments)
       $result =~ s/\s*\(.*?\)//g;
-      # "Foo Blah" <jm...@xxx> or <jm...@xxx>
+      # strip out the "quoted text"
+      $result =~ s/(?<!<)"[^"]*"(?!@)//g;
+      # Foo Blah <jm...@xxx> or <jm...@xxx>
       $result =~ s/^[^<]*?<(.*?)>.*$/$1/;
       # multiple addresses on one line? remove all but first
       $result =~ s/,.*$//;

Modified: spamassassin/trunk/t/get_headers.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/get_headers.t?rev=425255&r1=425254&r2=425255&view=diff
==============================================================================
--- spamassassin/trunk/t/get_headers.t (original)
+++ spamassassin/trunk/t/get_headers.t Mon Jul 24 19:00:16 2006
@@ -21,7 +21,7 @@
 
 use Mail::SpamAssassin;
 
-plan tests => 10;
+plan tests => 11;
 
 ##############################################
 
@@ -80,7 +80,7 @@
 ok(try('To6:addr', 'jm@foo'));
 ok(try('To7:addr', 'jm@foo'));
 ok(try('To8:addr', 'jm@foo'));
-#ok(try('To9:addr', 'jm@foo'));
+ok(try('To9:addr', 'jm@foo'));
 ok(try('To10:addr', '"Some User"@foo'));
 ok(try('To11:addr', '"Some User"@foo'));