Victor Duchovni:
> On Fri, Nov 26, 2010 at 11:03:58PM -0800, Michael J Wise wrote:
>
> > I do not know how fast (or even if) this can be addressed, it's so
> > not my department, but I will do my best to present the issue to the
> > right people and assert its importance and annoyance factor to the rest
> > of the community, but ... it's not gonna be fixed Monday morning. It
> > may take quite some time.
>
> Yes, we'll wait. It took a while before PIPELINING of
>
> [message-content]<CRLF>
> .<CRLF>
> QUIT<CRLF>
>
> was fixed, but it did get fixed eventually.
>
> http://archives.neohapsis.com/archives/postfix/2003-02/0469.html
>
> http://support.microsoft.com/default.aspx?scid=kb;EN-US;813050
>
> Postfix is perhaps more modular than Exchange, and with just two or so
> developers looking at the code, reports of a similar bug in the Postfix
> smtpd(8) probably would result in a fix by Monday. :-)
And it would take years before people can use it, because many
distributions only do security updates. Open source lag times
can be as bad as that of any closed-source product.
I think it would be helpful if someone could produce a short and
precise writeup of the problem, how to reproduce, what part of RFC
2920 is violated, and pointers to Microsoft bugfixes that solve
other problems in this area. Then I can put it on a postfix.org
webpage and help people who want to report this bug to Microsoft.
It would also be helpful if this note made clear that this is not
a Postfix address verification problem. That would encourage MS to
just fix the mail-rcpt-rset-quit case and not the underlying problem.
On the Postfix side, the workaround for Microsoft's Frontbridge
would be a regular expression map that matches /^220.+Microsoft/
and that turns on workarounds such as disable_esmtp, delay_dotcrlf,
delay_quit and more as new bugs come to light. Then, in three years
time it will be standard in the binary distributions.
I don't have time to implement the above immediately. I was going
to work on non-Postfix, but someone else did not deliver, so I used
the time to implement the (DNSXL) address pattern matcher instead.
Wietse