A server that supports enhanced status codes must use them for all replies. --- usr.sbin/smtpd/bounce.c | 2 +- usr.sbin/smtpd/lka_session.c | 4 ++-- usr.sbin/smtpd/smtp_session.c | 3 ++- 3 files changed, 5 insertions(+), 4 deletions(-)
diff --git usr.sbin/smtpd/bounce.c usr.sbin/smtpd/bounce.c index 5d0dad68698..0982be7e756 100644 --- usr.sbin/smtpd/bounce.c +++ usr.sbin/smtpd/bounce.c @@ -762,7 +762,7 @@ bounce_io(struct io *io, int evt, void *arg) break; default: - bounce_status(s, "442 i/o error %d", evt); + bounce_status(s, "442 4.3.0 i/o error %d", evt); bounce_free(s); break; } diff --git usr.sbin/smtpd/lka_session.c usr.sbin/smtpd/lka_session.c index cac9108349e..b390417440d 100644 --- usr.sbin/smtpd/lka_session.c +++ usr.sbin/smtpd/lka_session.c @@ -206,9 +206,9 @@ lka_resume(struct lka_session *lks) m_add_string(p_dispatcher, lks->errormsg); else { if (lks->error == LKA_PERMFAIL) - m_add_string(p_dispatcher, "550 Invalid recipient"); + m_add_string(p_dispatcher, "550 5.1.0 Invalid recipient"); else if (lks->error == LKA_TEMPFAIL) - m_add_string(p_dispatcher, "451 Temporary failure"); + m_add_string(p_dispatcher, "451 4.3.0 Temporary failure"); } m_close(p_dispatcher); diff --git usr.sbin/smtpd/smtp_session.c usr.sbin/smtpd/smtp_session.c index 13756932208..167834b9536 100644 --- usr.sbin/smtpd/smtp_session.c +++ usr.sbin/smtpd/smtp_session.c @@ -2834,7 +2834,8 @@ smtp_message_end(struct smtp_tx *tx) default: /* fatal? */ - smtp_reply(s, "421 Internal server error"); + smtp_reply(s, "421 %s Internal server error", + esc_code(ESC_STATUS_TEMPFAIL, ESC_OTHER_MAIL_SYSTEM_STATUS)); } smtp_tx_rollback(tx); -- Sincerely, Demi Marie Obenour (she/her/hers)
OpenPGP_0xB288B55FFF9C22C1.asc
Description: OpenPGP public key
OpenPGP_signature
Description: OpenPGP digital signature