Mailing List Archive

svn commit: r498650 - /spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DKIM.pm
Author: jm
Date: Mon Jan 22 07:29:12 2007
New Revision: 498650

URL: http://svn.apache.org/viewvc?view=rev&rev=498650
Log:
bug 5300: DKIM signature verification would fail to verify if a message contained DOS-style line endings. fix from Jason Long <jlong at messiah.edu>

Modified:
spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DKIM.pm

Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DKIM.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DKIM.pm?view=diff&rev=498650&r1=498649&r2=498650
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DKIM.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/DKIM.pm Mon Jan 22 07:29:12 2007
@@ -244,26 +244,17 @@
$scan->{dkim_testing} = 0;
$scan->{dkim_signall} = 0;

- my $header = $scan->{msg}->get_pristine_header();
- my $body = $scan->{msg}->get_body();
-
my $message = Mail::DKIM::Verifier->new_object();
if (!$message) {
dbg("dkim: cannot create Mail::DKIM::Verifier");
return;
}

- # headers, line-by-line with \r\n endings, as per Mail::DKIM API
- foreach my $line (split(/\r?\n/s, $header)) { # split lines, deleting endings and final empty line
- $line =~ s/$/\r\n/s; # add back a standard \r\n ending
- $message->PRINT($line);
- }
- $message->PRINT("\r\n");
-
- # body, line-by-line with \r\n endings.
+ # feed content of message into verifier, using \r\n endings,
+ # required by Mail::DKIM API (see bug 5300)
eval {
- foreach my $line (@{$body}) {
- $line =~ s/\r?\n$/\r\n/s; # ensure \r\n ending
+ foreach my $line (split(/\n/s, $scan->{msg}->get_pristine)) {
+ $line =~ s/\r?$/\r\n/s; # ensure \r\n ending
$message->PRINT($line);
}
};