]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-smtp: smtp-client-connection - Move auth cleanup to separate function.
authorStephan Bosch <stephan.bosch@open-xchange.com>
Fri, 21 Jan 2022 01:26:18 +0000 (02:26 +0100)
committerTimo Sirainen <timo.sirainen@open-xchange.com>
Fri, 28 Jan 2022 13:22:35 +0000 (14:22 +0100)
src/lib-smtp/smtp-client-connection.c

index 94f187cbcadf9f119ca70e9b3f29c3aeca4057b1..43ff5ce72e4d9c3a5be4df00691b42dc4f24bc54 100644 (file)
@@ -711,6 +711,12 @@ smtp_client_connection_clear_password(struct smtp_client_connection *conn)
        conn->password = NULL;
 }
 
+static void
+smtp_client_connection_auth_deinit(struct smtp_client_connection *conn)
+{
+       dsasl_client_free(&conn->sasl_client);
+}
+
 static void
 smtp_client_connection_auth_cb(const struct smtp_reply *reply,
                               struct smtp_client_connection *conn)
@@ -776,9 +782,9 @@ smtp_client_connection_auth_cb(const struct smtp_reply *reply,
        }
 
        smtp_client_connection_clear_password(conn);
+       smtp_client_connection_auth_deinit(conn);
 
        e_debug(conn->event, "Authenticated successfully");
-       dsasl_client_free(&conn->sasl_client);
 
        if (conn->to_connect != NULL)
                timeout_reset(conn->to_connect);
@@ -2007,7 +2013,7 @@ void smtp_client_connection_disconnect(struct smtp_client_connection *conn)
        ssl_iostream_destroy(&conn->ssl_iostream);
        if (conn->ssl_ctx != NULL)
                ssl_iostream_context_unref(&conn->ssl_ctx);
-       dsasl_client_free(&conn->sasl_client);
+       smtp_client_connection_auth_deinit(conn);
 
        o_stream_destroy(&conn->dot_output);