]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
submission: Split off closing the relay connection in a separate function.
authorStephan Bosch <stephan.bosch@dovecot.fi>
Sun, 2 Sep 2018 13:10:08 +0000 (15:10 +0200)
committerVille Savolainen <ville.savolainen@dovecot.fi>
Tue, 12 Feb 2019 13:40:41 +0000 (15:40 +0200)
src/submission/submission-client.c

index d8744596041dc8b4c2af2b5b0284d7ac5a458c77..4cd04612e2d3c20527941a3767bcf323735fc6e7 100644 (file)
@@ -163,6 +163,12 @@ static void client_proxy_create(struct client *client,
                set->submission_relay_port, ssl_mode, &smtp_set);
 }
 
+static void client_proxy_destroy(struct client *client)
+{
+       if (client->proxy_conn != NULL)
+               smtp_client_connection_close(&client->proxy_conn);
+}
+
 static void client_init_urlauth(struct client *client)
 {
        static const char *access_apps[] = { "submit+", NULL };
@@ -281,8 +287,7 @@ void client_destroy(struct client *client, const char *prefix,
        submission_client_count--;
        DLLIST_REMOVE(&submission_clients, client);
 
-       if (client->proxy_conn != NULL)
-               smtp_client_connection_close(&client->proxy_conn);
+       client_proxy_destroy(client);
 
        if (client->anvil_sent) {
                master_service_anvil_send(master_service, t_strconcat(
@@ -395,8 +400,7 @@ void client_disconnect(struct client *client, const char *enh_code,
        client->disconnected = TRUE;
 
        timeout_remove(&client->to_quit);
-       if (client->proxy_conn != NULL)
-               smtp_client_connection_close(&client->proxy_conn);
+       client_proxy_destroy(client);
 
        if (client->conn != NULL) {
                const struct smtp_server_stats *stats =