On Fri, Oct 01, 2021 at 12:47:29PM -0400, Viktor Dukhovni wrote:

> > -- basics --
> > Postfix: 3.5.6
> 
> Since you're using Postfix 3.5, which by default supports long SASL
> messages after the initial response, your client is in violation of the
> SMTP SASL specification, and needs to have a bug filed against its SASL
> GSSAPI implementation.  If that client is also Postfix, file that bug
> on this list.  If not, reach out on the relevant forum, or bug tracking
> system.

Note that I rather expect the broken client is not Postfix 3.4 or later,
since the Postfix SMTP client code since then reads in part:

    
https://github.com/vdukhovni/postfix/blob/master/postfix/src/smtp/smtp_sasl_glue.c#L366-L388

    /*-
     * Send the AUTH command and the optional initial client response.
     *
     * https://tools.ietf.org/html/rfc4954#page-4
     * Note that the AUTH command is still subject to the line length
     * limitations defined in [SMTP].  If use of the initial response argument
     * would cause the AUTH command to exceed this length, the client MUST NOT
     * use the initial response parameter...
     *
     * https://tools.ietf.org/html/rfc5321#section-4.5.3.1.4
     * The maximum total length of a command line including the command word
     * and the <CRLF> is 512 octets.
     *
     * Defer the initial response if the resulting command exceeds the limit.
     */
    if (LEN(session->sasl_reply) > 0
        && strlen(mechanism) + LEN(session->sasl_reply) + 8 <= 512) {
        smtp_chat_cmd(session, "AUTH %s %s", mechanism,
                      STR(session->sasl_reply));
        VSTRING_RESET(session->sasl_reply);     /* no deferred initial reply */
    } else {
        smtp_chat_cmd(session, "AUTH %s", mechanism);
    }

> You can accommodate broken clients by raising line_length_limit even
> on Postfix >= 3.4 systems where this should not otherwise be necessary
> in most cases.

So this is your short-term solution, as well as filing bugs against the
actual broken clients.

-- 
    Viktor.

Reply via email to