You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by fe...@apache.org on 2004/01/13 02:39:30 UTC
svn commit: rev 6147 - in incubator/spamassassin/trunk/lib/Mail/SpamAssassin: . MIME
Author: felicity
Date: Mon Jan 12 17:39:29 2004
New Revision: 6147
Modified:
incubator/spamassassin/trunk/lib/Mail/SpamAssassin/MIME.pm
incubator/spamassassin/trunk/lib/Mail/SpamAssassin/MIME/Parser.pm
Log:
more fixing of the parser
Modified: incubator/spamassassin/trunk/lib/Mail/SpamAssassin/MIME.pm
==============================================================================
--- incubator/spamassassin/trunk/lib/Mail/SpamAssassin/MIME.pm (original)
+++ incubator/spamassassin/trunk/lib/Mail/SpamAssassin/MIME.pm Mon Jan 12 17:39:29 2004
@@ -149,6 +149,8 @@
$part->{$k} = $v;
}
+ dbg("added part, type: $type");
+
# Add the part to body_parts
push @{ $self->{body_parts} }, $part;
}
Modified: incubator/spamassassin/trunk/lib/Mail/SpamAssassin/MIME/Parser.pm
==============================================================================
--- incubator/spamassassin/trunk/lib/Mail/SpamAssassin/MIME/Parser.pm (original)
+++ incubator/spamassassin/trunk/lib/Mail/SpamAssassin/MIME/Parser.pm Mon Jan 12 17:39:29 2004
@@ -86,6 +86,13 @@
$msg->header('content-type') =~ /boundary\s*=\s*["']?([^"';]+)["']?/i;
$self->_parse_body( $msg, $msg, $boundary, \@message, 1 );
+ unless ( $msg->{'type'} ) {
+ $msg->{'type'} = $msg->header('content-type');
+ $msg->{'type'} ||= 'text/plain';
+ $msg->{'type'} =~ s/;.*$//; # strip everything after first semi-colon
+ $msg->{'type'} =~ s/[^a-zA-Z\/]//g; # strip inappropriate chars
+ }
+
return $msg;
}
@@ -112,12 +119,11 @@
elsif ( $type =~ /^multipart\/alternative/i ) {
dbg("Parse multipart/alternative");
if ( $initial ) {
- $self->_parse_multipart_mixed( $msg, $_msg, $boundary, $body );
+ $self->_parse_multipart_alternate( $msg, $_msg, $boundary, $body );
}
else {
- my $part_msg = Mail::SpamAssassin::MIME->new();
- $self->_parse_multipart_alternate( $part_msg, $_msg, $boundary, $body );
- $msg->add_body_part( $type, { "mime-parts" => $part_msg, } );
+ $self->_parse_multipart_alternate( $_msg, $_msg, $boundary, $body );
+ $msg->add_body_part( $type, $_msg );
}
}
elsif ( $type =~ /^multipart\//i ) {
@@ -126,9 +132,8 @@
$self->_parse_multipart_mixed( $msg, $_msg, $boundary, $body );
}
else {
- my $part_msg = Mail::SpamAssassin::MIME->new();
- $self->_parse_multipart_mixed( $part_msg, $_msg, $boundary, $body );
- $msg->add_body_part( $type, { "mime-parts" => $part_msg, } );
+ $self->_parse_multipart_mixed( $_msg, $_msg, $boundary, $body );
+ $msg->add_body_part( $type, $_msg );
}
}
else {