> On Thu, 29 Jan 2009, Tony Hansen wrote:
> >
> > Section:
> >    4.2 Result of the STARTTLS Command
> >
> > Old text:
> >    The server MUST discard any knowledge obtained from the client, such
> >    as the argument to the EHLO command, which was not obtained from the
> >    TLS negotiation itself.
> >
> > New text:
> >    The server MUST discard any knowledge obtained from the client that
> >    was not obtained from the TLS negotiation itself. The server state
> >    is otherwise as if the connection had just been opened.

> I prefer Alexey's suggested "MUST NOT trust" text.

> Note that my comment about AUTH information applies to the client as well
> as the server.

> Also note that AUTH means this trust issue applies to more than just SMTP
> commands, arguments, and replies - it applies to SASL exchanges as well.

> > Section:
> >    4.2 Result of the STARTTLS Command
> >
> > Old text:
> >    The client SHOULD send an EHLO command as the
> >    first command after a successful TLS negotiation.
> >
> > New text:
> >    The client MUST send either an EHLO command or a HELO command as the
> >    first command after a successful TLS negotiation.

> That's incorrect. It's OK to QUIT at this point, for example. Rather than
> paraphrasing 2821/5321, perhaps it would be better to quote verbatim.

> I suggest that this paragraph should read:

>    Upon completion of the TLS handshake, the SMTP protocol is reset to
>    the initial state (the state in SMTP after a server issues a 220
>    service ready greeting).  The requirement in [RFC5321] that "a client
>    MUST issue HELO or EHLO before starting a mail transaction" also
>    applies to this fresh state.

>    The server MUST NOT trust any knowledge obtained from the client before
>    the TLS negotiation itself.  The client MUST NOT trust any knowledge
>    obtained from the server before the TLS negotiation itself.  This
>    includes all commands, arguments, replies, and extended exchanges
>    (though in typical use there is little more than the client's EHLO
>    command and the server's reply).

This definitely works for me.

> >    Because the server state machine is reset to an initial connection
> >    state after negotiating TLS, and any modifications to the server
> >    state will be lost, the client SHOULD NOT issue any MAIL
> >    FROM or RCPT TO commands prior to using the STARTTLS command.

> I think this is unnecessary. I doubt anyone has been confused enough to
> implement software that would violate this requirement. I only mentioned
> it for sake of argument.

Agreed.

                                Ned

Reply via email to