How does this eval work? -> MIME_MISSING_BOUNDARY
Mariano Absatz
mailscanner at LISTS.COM.AR
Thu May 13 19:38:20 IST 2004
Chase,
are you using SpamAssassin within MailScanner by chance? I've seen you in
MailScanner list also...
I just hit that wall these days...
Find in your MailScanner.conf the setting:
Max SpamAssassin Size =
FPs hitting MIME_MISSING_BOUNDARY are probably larger than this size (the
full message, not the attachment).
In order to shorten SA processing, MailScanner truncates messages to the size
in that setting before handling them to SA... when a message is a MIME
Multipart _and_ is larger than that (a condition likely to happen) SA says it
missed a MIME boundary because it did... the ending boundary was never read
by SA.
I think you can set this to 0 to avoid using it.
If this thread continues, it should do so in MailScanner list, not in
SpamAssassin's.
Regards.
El 11 May 2004 a las 14:11, Matt Kettler escribió:
> At 01:48 PM 5/11/2004, Casanova, Chase wrote:
> >I've been getting a few FP's from Outlook generated, usually forwarded,
> >emails due to MIME_MISSING_BOUNDARY. What is it looking for and not finding?
>
> From looking at the code, it will detect emails which contain a particular
> mime boundary, but fails to contain a one, and only one, matching
> terminating boundary ending in a double-dash. (note: if there are multiple
> sections with the same boundary, there should still only be one terminating
> boundary)
>
> From EvalTests.Pm this is where "state" is determined for each boundary.
> It seems to set it to 1 each time it finds a start, and decrements it each
> time it finds a terminator.
>
> foreach my $boundary (@boundary) {
> if (/^--$boundary$/) {
> $state{$boundary} = 1;
> $ctype = $cte = $cd = $charset = $name = 0;
> $where = 1;
> }
> if (/^--$boundary--$/) {
> $state{$boundary}--;
> $where = 0;
> }
> }
>
> And then later in the same function it checks to make sure each detected
> boundary has a state of 0. If it finds one with a non-zero state, it sets
> mime_missing_boundary to 1.
>
> foreach my $str (keys %state) {
> if ($state{$str} != 0) {
> $self->{mime_missing_boundary} = 1;
> last;
> }
--
Mariano Absatz
El Baby
----------------------------------------------------------
Too much of a good thing can be wonderful.
-- Mae West
-------------------------- MailScanner list ----------------------
To leave, send leave mailscanner to jiscmail at jiscmail.ac.uk
Before posting, please see the Most Asked Questions at
http://www.mailscanner.biz/maq/ and the archives at
http://www.jiscmail.ac.uk/lists/mailscanner.html
More information about the MailScanner
mailing list