Strange error with MSMilter

Mark Sapiro mark at msapiro.net
Wed Nov 21 20:33:25 UTC 2018


On 11/21/18 1:42 AM, Shawn Iverson via MailScanner wrote:
> https://github.com/MailScanner/v5/pull/306
> 
> On Tue, Nov 20, 2018 at 10:15 PM Mark Sapiro <mark at msapiro.net
> <mailto:mark at msapiro.net>> wrote:
> 
>     On 11/20/18 4:26 PM, Shawn Iverson via MailScanner wrote:
>     > Mark,
>     >
>     > https://github.com/MailScanner/v5/pull/305


I have done some testing. I started by building MailScanner from the
HEAD of the GitHub master branch (up to the commit e9773ffe4).

With that MSMilter I can see the issue where sending two messages in the
same SMTP session results in the first line of the header being lost.

I then applied the patch at
<https://github.com/MailScanner/v5/pull/305.diff> to MSMilter. This
appears to fix the missing header line issue, but it introduces another
issue. This new issue is messages remain in the milterin queue and are
never processed by MailScanner.

The only case where a message is processed by MailScanner is the case
where two messages are sent in the same session. In this case, the first
of the two messages is processed and delivered, but the second remains
in milterin and is not processed. Likewise in cases where only one
message is sent in a session, that message remains in milterin and is
not processed.

I'm a bit hazy on how this works, but I notice the files that remain in
milterin all have a 'temp-' prefix and renaming them to drop the 'temp-'
allows the mail to be delivered. It seems that the 'move($file,
$file2);' statement is now in a new close_callback subroutine which is
not being executed.

I have added some comments to the PR.

-- 
Mark Sapiro <mark at msapiro.net>        The highway is for gamblers,
San Francisco Bay Area, California    better use your sense - B. Dylan



More information about the MailScanner mailing list