From: Stephan Bosch Date: Mon, 17 Feb 2020 21:25:28 +0000 (+0100) Subject: lib-smtp: smtp-server-cmd-rcpt - Make sure state is advanced to "RCPT TO" once comman... X-Git-Tag: 2.3.11.2~584 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=083e8cfab94cace990c4d67f8e9962ecbc43c306;p=thirdparty%2Fdovecot%2Fcore.git lib-smtp: smtp-server-cmd-rcpt - Make sure state is advanced to "RCPT TO" once command completes. --- diff --git a/src/lib-smtp/smtp-server-cmd-rcpt.c b/src/lib-smtp/smtp-server-cmd-rcpt.c index 4024637b40..ebf9078ff3 100644 --- a/src/lib-smtp/smtp-server-cmd-rcpt.c +++ b/src/lib-smtp/smtp-server-cmd-rcpt.c @@ -56,6 +56,13 @@ cmd_rcpt_completed(struct smtp_server_cmd_ctx *cmd, i_assert(conn->state.pending_rcpt_cmds > 0); conn->state.pending_rcpt_cmds--; + if (conn->state.state < SMTP_SERVER_STATE_RCPT_TO) { + i_assert(conn->state.state == SMTP_SERVER_STATE_MAIL_FROM); + smtp_server_connection_set_state( + conn, SMTP_SERVER_STATE_RCPT_TO, + smtp_address_encode(data->rcpt->path)); + } + i_assert(smtp_server_command_is_replied(command)); if (!smtp_server_command_replied_success(command)) { conn->state.denied_rcpt_cmds++;