From: Martijn van Duren Subject: smtpd: remove WIZ plumbing To: tech@openbsd.org Date: Fri, 2 Jan 2026 17:15:32 +0100 "support" for WIZ was added back in 2014 by eric@ in smtp_session.c r1.195. The commit message doesn't have an OK, I couldn't find any discussion, and the commit message states: "Add support for DSN and Enhanced Status Code" Considering the history of the command I assume this was added as a joke, but especially with "support" in filters I think the joke might have gone a bit too far. This effectively turns: 500 5.5.1 Invalid command: this feature is not supported yet ;-) into 500 5.5.1 Invalid command: Command unrecognized OK? martijn@ diff b9146a17035f22954d6f1be04af1b32218d3b317 845c02cb5174e0f0f1fc6cbef0aacc3c0fa4b0ae commit - b9146a17035f22954d6f1be04af1b32218d3b317 commit + 845c02cb5174e0f0f1fc6cbef0aacc3c0fa4b0ae blob - b9c5d55c15f9052bc726f1a09484f0e32f75e2f3 blob + 4d17433265157de0285f5857437ad4c25454bc06 --- usr.sbin/smtpd/lka_filter.c +++ usr.sbin/smtpd/lka_filter.c @@ -94,7 +94,6 @@ static struct filter_exec { { FILTER_QUIT, "quit", filter_builtins_notimpl }, { FILTER_NOOP, "noop", filter_builtins_notimpl }, { FILTER_HELP, "help", filter_builtins_notimpl }, - { FILTER_WIZ, "wiz", filter_builtins_notimpl }, { FILTER_COMMIT, "commit", filter_builtins_commit }, }; @@ -1632,9 +1631,6 @@ lka_report_smtp_filter_response(const char *direction, case FILTER_HELP: phase_name = "help"; break; - case FILTER_WIZ: - phase_name = "wiz"; - break; case FILTER_COMMIT: phase_name = "commit"; break; blob - 195e75ec10fb05d4d30390a53c5ce5729b931505 blob + 3c4b0e3fa0dbb5c8a9ecf25cac1e21e3c3870acc --- usr.sbin/smtpd/smtp_session.c +++ usr.sbin/smtpd/smtp_session.c @@ -82,7 +82,6 @@ enum smtp_command { CMD_RSET, CMD_QUIT, CMD_HELP, - CMD_WIZ, CMD_NOOP, CMD_COMMIT, }; @@ -228,7 +227,6 @@ static void smtp_proceed_rcpt_to(struct smtp_session * static void smtp_proceed_data(struct smtp_session *, const char *); static void smtp_proceed_noop(struct smtp_session *, const char *); static void smtp_proceed_help(struct smtp_session *, const char *); -static void smtp_proceed_wiz(struct smtp_session *, const char *); static void smtp_proceed_quit(struct smtp_session *, const char *); static void smtp_proceed_commit(struct smtp_session *, const char *); static void smtp_proceed_rollback(struct smtp_session *, const char *); @@ -279,7 +277,6 @@ static struct { { CMD_QUIT, FILTER_QUIT, "QUIT", smtp_check_noparam, smtp_proceed_quit }, { CMD_NOOP, FILTER_NOOP, "NOOP", smtp_check_noop, smtp_proceed_noop }, { CMD_HELP, FILTER_HELP, "HELP", smtp_check_noparam, smtp_proceed_help }, - { CMD_WIZ, FILTER_WIZ, "WIZ", smtp_check_noparam, smtp_proceed_wiz }, { CMD_COMMIT, FILTER_COMMIT, ".", smtp_check_noparam, smtp_proceed_commit }, { -1, 0, NULL, NULL }, }; @@ -1358,12 +1355,6 @@ smtp_command(struct smtp_session *s, char *line) smtp_proceed_help(s, NULL); break; - case CMD_WIZ: - if (!smtp_check_noparam(s, args)) - break; - smtp_proceed_wiz(s, NULL); - break; - default: smtp_reply(s, "500 %s %s: Command unrecognized", esc_code(ESC_STATUS_PERMFAIL, ESC_INVALID_COMMAND), @@ -1901,14 +1892,6 @@ smtp_proceed_help(struct smtp_session *s, const char * } static void -smtp_proceed_wiz(struct smtp_session *s, const char *args) -{ - smtp_reply(s, "500 %s %s: this feature is not supported yet ;-)", - esc_code(ESC_STATUS_PERMFAIL, ESC_INVALID_COMMAND), - esc_description(ESC_INVALID_COMMAND)); -} - -static void smtp_proceed_commit(struct smtp_session *s, const char *args) { smtp_message_end(s->tx); blob - e93ece542bca1130f7facaff0ff2df2b06c1ad50 blob + c7dcbc1a24d01cdd75356badfe9508eea07ef4a8 --- usr.sbin/smtpd/smtpd.h +++ usr.sbin/smtpd/smtpd.h @@ -418,7 +418,6 @@ enum filter_phase { FILTER_QUIT, FILTER_NOOP, FILTER_HELP, - FILTER_WIZ, FILTER_COMMIT, FILTER_PHASES_COUNT /* must be last */ };