From: Stephan Bosch Date: Fri, 18 Jun 2021 14:43:55 +0000 (+0200) Subject: submission-login: client-authenticate - Restructure composition of master_prefix. X-Git-Tag: 2.3.17~284 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0c90556d3f1aa6fe8e39071b26394aabb682fd5d;p=thirdparty%2Fdovecot%2Fcore.git submission-login: client-authenticate - Restructure composition of master_prefix. Needed for later commit. --- diff --git a/src/submission-login/client-authenticate.c b/src/submission-login/client-authenticate.c index 0648f54093..1e55918b12 100644 --- a/src/submission-login/client-authenticate.c +++ b/src/submission-login/client-authenticate.c @@ -268,20 +268,22 @@ int cmd_auth(void *conn_ctx, struct smtp_server_cmd_ctx *cmd, struct submission_client *subm_client = conn_ctx; struct client *client = &subm_client->common; struct smtp_server_helo_data *helo; - const char *prefix = ""; 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 */ helo = smtp_server_connection_get_helo_data(subm_client->conn); if (helo->domain_valid) { i_assert(helo->domain != NULL); - prefix = helo->domain; + buffer_append(buf, helo->domain, strlen(helo->domain)); } + buffer_append_c(buf, '\0'); - /* pass ehlo parameter to post-login service upon successful login */ i_free(client->master_data_prefix); - client->master_data_prefix = (void *)i_strdup(prefix); - client->master_data_prefix_len = strlen(prefix) + 1; + client->master_data_prefix_len = buf->used; + client->master_data_prefix = buffer_free_without_data(&buf); subm_client->pending_auth = cmd;