Bug#879687: SA-Exim not compatible with CHUNKING

2019-05-05 Thread Magnus Holmgren
tisdag 24 oktober 2017 kl. 15:53:20 CEST skrev du:
> After the analysis by SpamAssassin an email can get a note between
> SAtempreject and SApermreject. The mail can pass through the antispam
> (according to the Greylisting phase) in which case it will include an
> additional header: "X-Spam-Report" (result of the analysis by SpamAssassin).
> 
> If Exim is configured with CHUNKING compatibility (RFC3030) in this case,
> the calculation on the length of the mail is not correct. The length of the
> mail does not take into account the length of the X-Spam-Report field. When
> routing emails to a third-party server that is compatible with RFC3030,
> attachments may be cut off by the remote server.

Sorry for not looking at this for so long.

There are issues, but I doubt that adding headers is what causes any problems. 
A local_scan plugin is supposed to be able to do that and it's done using the 
functions provided for the purpose, no length is stored in the spool files 
AFAIK, and I haven't noticed any truncation when I tested CHUNKING. Maybe it 
was a bug in Exim itself, perhaps since fixed?

The bugs I have reproduced and will fix are: 1) when more than one message is 
received over the same connection, the primary_hostname string gets 
overwritten, resulting garbage in the X-SA-Exim-Scanned header and possibly a 
broken spool file, but this can happen regardless of whether CHUNKING is in 
use; and 2) iff spool_wireformat is enabled, messages received using CHUNKING 
are stored with CRLF line endings and sent to SA that way, and SA will 
likewise return a message with CRLF line endings, but SA-Exim didn't handle 
that when scanning the header. Perhaps header lines with CR in them confuses/
confused Exim.

-- 
Magnus Holmgrenholmg...@debian.org
Debian Developer 

signature.asc
Description: This is a digitally signed message part.


Bug#879687: SA-Exim not compatible with CHUNKING

2017-10-24 Thread Jouan Marc
Package: sa-exim
Version: 4.2.1-16


After the analysis by SpamAssassin an email can get a note between
SAtempreject and SApermreject. The mail can pass through the antispam
(according to the Greylisting phase) in which case it will include an
additional header: "X-Spam-Report" (result of the analysis by SpamAssassin).

If Exim is configured with CHUNKING compatibility (RFC3030) in this case,
the calculation on the length of the mail is not correct. The length of the
mail does not take into account the length of the X-Spam-Report field. When
routing emails to a third-party server that is compatible with RFC3030,
attachments may be cut off by the remote server.

This bug exist with all version off Spamassassin, Exim and Sa-Exim.

Currently, to work around this problem, disable CHUNKING on Exim with empty
chunking_advertise_hosts and hosts_try_chunking.

Regards,
Marc