I'm using SpamAssassin 2.60 with Exim 4.24 on FreeBSD, compiled
from ports. Perl is 5.6.1 (I have the same problem with 5.8.1).

Large messages don't make it through to spamd completely, instead
I get a log entry from spamd like this:

bad protocol: header error: (Content-Length mismatch:
    Expected 983080 bytes, got 89944 bytes)

Everything I have found about that messages refers to problems
with locale settings (UTF-8 conversion changing the length of
the data) with Perl 5.8. But this is something else.

The _expected_ size varies, of course, but the size that 
spamd _gets_ is almost always 89944 bytes. Of several thousand
incoming messages, about a hundred show this error, and only 
one of them hasn't 89944 bytes there.

Additionally, exim does all that three to four times, that is,
I get all the log lines (both from exim and from spamd) several
times, with different PIDs.

A little more technical:

Exim sends data in chunks of 32600 bytes. The first two
are send()ed successfully, the third appears to be truncated,
send() returns 24744, errno is 0.

At the same time, spamd reads the request line by line, until
there is no more data to be read (after reading 89944 bytes).

So, spamd can't read more, because there is no more data, and
Exim can't send more, for reasons unknown.

-- 
Christian Ullrich                  Registrierter Linux-User #125183

"There's nothing we can't face -- except for Bun-bun..."


-------------------------------------------------------
This SF.Net email sponsored by: ApacheCon 2003,
16-19 November in Las Vegas. Learn firsthand the latest
developments in Apache, PHP, Perl, XML, Java, MySQL,
WebDAV, and more! http://www.apachecon.com/
_______________________________________________
Spamassassin-talk mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/spamassassin-talk

Reply via email to