From 574ad02a47b5d3de50c0a6e61c750d9e84b32e5f Mon Sep 17 00:00:00 2001 From: Siavash Tavakoli Date: Thu, 7 Oct 2021 22:52:47 +0100 Subject: [PATCH] login-common: Start proxying after client fields are set Allows adding more event fields in login_proxy_new(). --- src/login-common/client-common-auth.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/login-common/client-common-auth.c b/src/login-common/client-common-auth.c index eac9d48621..d776083c2b 100644 --- a/src/login-common/client-common-auth.c +++ b/src/login-common/client-common-auth.c @@ -508,13 +508,6 @@ static int proxy_start(struct client *client, "proxy(%s,%s:%u): ", client->virtual_user, net_ip2addr(&proxy_set.ip), proxy_set.port)); - if (login_proxy_new(client, event, &proxy_set, proxy_input, - client->v.proxy_failed) < 0) { - event_unref(&event); - return -1; - } - event_unref(&event); - client->proxy_mech = sasl_mech; client->proxy_user = i_strdup(reply->destuser); client->proxy_master_user = i_strdup(reply->master_user); @@ -523,6 +516,13 @@ static int proxy_start(struct client *client, client->proxy_nopipelining = reply->proxy_nopipelining; client->proxy_not_trusted = reply->proxy_not_trusted; + if (login_proxy_new(client, event, &proxy_set, proxy_input, + client->v.proxy_failed) < 0) { + event_unref(&event); + return -1; + } + event_unref(&event); + /* disable input until authentication is finished */ io_remove(&client->io); return 0; -- 2.47.3