From: Stephan Bosch Date: Sun, 10 Dec 2017 10:32:28 +0000 (+0100) Subject: lib-smtp: server: DATA command: Continue processing connection input once DATA reply... X-Git-Tag: 2.3.0.rc1~149 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=090abb1975e23dbaebf4b07ba6003a7e54097341;p=thirdparty%2Fdovecot%2Fcore.git lib-smtp: server: DATA command: Continue processing connection input once DATA reply is submitted. Fixes a potential connection hang. --- diff --git a/src/lib-smtp/smtp-server-cmd-data.c b/src/lib-smtp/smtp-server-cmd-data.c index c5511228f7..6d18872ae2 100644 --- a/src/lib-smtp/smtp-server-cmd-data.c +++ b/src/lib-smtp/smtp-server-cmd-data.c @@ -297,7 +297,9 @@ static void cmd_data_next(struct smtp_server_cmd_ctx *cmd) return; } - if (!smtp_server_command_is_replied(command)) { + if (smtp_server_command_is_replied(command)) { + smtp_server_command_input_unlock(cmd); + } else { if (data_cmd->client_input) { /* using input from client connection; capture I/O event */