Viktor Dukhovni:
> On Tue, Aug 10, 2021 at 10:50:56AM -0400, Wietse Venema wrote:
> 
> > A reasonable person would agree that the parameter syntax of an
> > unimplemented command cannot be validated.
> 
> FWIW, the pedantically standards-compliant response to an unknown
> SMTP command is in fact 500, rather than 502:
> 
>       https://datatracker.ietf.org/doc/html/rfc5321#section-4.2.4
> 
> The 502 response is reserved for known, but not implemented or not
> enabled SMTP commands.  So IMHO the patch below is technically correct,
> but far from important.
> 
> --- a/src/smtpd/smtpd.c
> +++ b/src/smtpd/smtpd.c
> @@ -5730,7 +5730,7 @@ static void smtpd_proto(SMTPD_STATE *state)
>                   && (err = check_milter_reply(state, err)) != 0) {
>                   smtpd_chat_reply(state, "%s", err);
>               } else
> -                 smtpd_chat_reply(state, "502 5.5.2 Error: command not 
> recognized");
> +                 smtpd_chat_reply(state, "500 5.5.2 Error: command not 
> recognized");
>               state->error_mask |= MAIL_ERROR_PROTOCOL;
>               state->error_count++;
>               continue;

I see. We're splitting hairs the difference between 'not implemented'
versus 'not recognized'. In that light, the patch looks correct to me.

        Wietse

Reply via email to