]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
submission-login: client-authenticate - Split off cmd_auth_set_master_data_prefix().
authorStephan Bosch <stephan.bosch@open-xchange.com>
Thu, 14 Oct 2021 10:47:23 +0000 (12:47 +0200)
committeraki.tuomi <aki.tuomi@open-xchange.com>
Fri, 5 Nov 2021 06:49:45 +0000 (06:49 +0000)
src/submission-login/client-authenticate.c

index cff7c5ba06ac697db58096a82bcb49c654b17f23..f51a5c91110ab0c0dea392130c59d901ab8a4420 100644 (file)
@@ -262,16 +262,13 @@ void submission_client_auth_send_challenge(struct client *client,
        smtp_server_cmd_auth_send_challenge(cmd, data);
 }
 
-int cmd_auth(void *conn_ctx, struct smtp_server_cmd_ctx *cmd,
-            struct smtp_server_cmd_auth *data)
+static void
+cmd_auth_set_master_data_prefix(struct submission_client *subm_client)
 {
-       struct submission_client *subm_client = conn_ctx;
        struct client *client = &subm_client->common;
        struct smtp_server_helo_data *helo;
        struct smtp_proxy_data proxy;
 
-       i_assert(subm_client->pending_auth == NULL);
-
        buffer_t *buf = buffer_create_dynamic(default_pool, 2048);
 
        /* pass ehlo parameter to post-login service upon successful login */
@@ -292,7 +289,17 @@ int cmd_auth(void *conn_ctx, struct smtp_server_cmd_ctx *cmd,
        i_free(client->master_data_prefix);
        client->master_data_prefix_len = buf->used;
        client->master_data_prefix = buffer_free_without_data(&buf);
+}
+
+int cmd_auth(void *conn_ctx, struct smtp_server_cmd_ctx *cmd,
+            struct smtp_server_cmd_auth *data)
+{
+       struct submission_client *subm_client = conn_ctx;
+       struct client *client = &subm_client->common;
+
+       cmd_auth_set_master_data_prefix(subm_client);
 
+       i_assert(subm_client->pending_auth == NULL);
        subm_client->pending_auth = cmd;
 
        (void)client_auth_begin(client, data->sasl_mech, data->initial_response);