Re: Weird bounces with Postfix, LMTP and Cyrus

From: Wietse Venema (no email)
Date: Thu Dec 01 2005 - 09:13:35 EST

  • Next message: Michael Katz: "Re: Another SPAM doubt"

    Wietse Venema:
    > Christian Theune:
    > > Ok, I increased the log level and here is what I got for one of the
    > > error messages:
    > >
    > > Dec 1 13:00:41 uter postfix/lmtp[4407]: deliver_message: from
    > >
    > > Dec 1 13:00:41 uter postfix/lmtp[4407]: >
    > > /var/imap/socket/lmtp[/var/imap/socket/lmtp]: RSET
    > > Dec 1 13:00:41 uter postfix/lmtp[4407]: <
    > > /var/imap/socket/lmtp[/var/imap/socket/lmtp]: 500 5.5.2 Syntax error
    > > Dec 1 13:00:41 uter postfix/lmtp[4407]: deliver_message: reusing
    >
    > Cyrus is screwed up. Postfix sends a valid RESET command.
    >
    > > (count 3) session with: /var/imap/socket/lmtp

    Surprise: the LMTP client reuses the session after 5xx error reply.
    The Postfix SMTP client would never do that.

    You can work around this with lmtp_cache_connection=no.

    > > Dec 1 13:00:41 uter postfix/lmtp[4407]: >
    > > /var/imap/socket/lmtp[/var/imap/socket/lmtp]: MAIL
    > > FROM:<> SIZE=4246
    > > Dec 1 13:00:41 uter postfix/lmtp[4407]: <
    > > /var/imap/socket/lmtp[/var/imap/socket/lmtp]: 500 5.5.2 Syntax error
    >
    > Cyrus is screwed up. Same reply as RSET.

    Now, what may be happening here is that server and client have
    somehow gotten out of step.

    For example (I am not saying that this is the cause!), if Cyrus
    "detects" end-of-data too early it will spit out a gazillion "500
    5.5.2 Syntax error" responses for every line of email content that
    follows. Postfix won't flush the input buffers, and will read
    these replies as if they are replies to commands sent after the
    real end-of-data.

    The 2.3 Postfix has a "purge" primitive for streams that discards
    whatever is buffered in Postfix itself. This could be used to clear
    the input buffer before sending RSET. However, this primitive does
    not discard data that's still buffered in the kernel, and would
    have to be extended to handle that.

    But all this is academic. The LMTP client should not reuse the
    session after a 5XX reply. Worse it's not even my own bug.

            Wietse


  • Next message: Michael Katz: "Re: Another SPAM doubt"





    Hosted Email Solutions

    Invaluement Anti-Spam DNSBLs



    Powered By FreeBSD   Powered By FreeBSD