]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-smtp: server: Protect smpt_server_connection_start() from being called multiple...
authorStephan Bosch <stephan.bosch@dovecot.fi>
Wed, 27 Dec 2017 15:22:22 +0000 (16:22 +0100)
committerAki Tuomi <aki.tuomi@open-xchange.com>
Thu, 28 Dec 2017 18:43:39 +0000 (20:43 +0200)
src/lib-smtp/smtp-server-connection.c
src/lib-smtp/smtp-server-private.h

index 57cd8b547c4d8010e739c79ac9993d35921ead6a..8e565b0099f6df2ee8721d4c031425ca04a76343 100644 (file)
@@ -1145,6 +1145,9 @@ void smtp_server_connection_login(struct smtp_server_connection *conn,
 
 void smtp_server_connection_start(struct smtp_server_connection *conn)
 {
+       i_assert(!conn->started);
+       conn->started = TRUE;
+
        conn->raw_input = conn->conn.input;
        conn->raw_output = conn->conn.output;
 
index 37a1edc64b597c0495008498cbbd66c09d23b7d3..ff96a2a2754d4444733b64f7f609be46dad8efb1 100644 (file)
@@ -149,6 +149,7 @@ struct smtp_server_connection {
 
        struct smtp_server_stats stats;
 
+       bool started:1;
        bool ssl_start:1;
        bool ssl_secured:1;
        bool authenticated:1;