From bc680b654b4593a9e96a61c115b865cfec18f8a1 Mon Sep 17 00:00:00 2001 From: Stephan Bosch Date: Tue, 14 Feb 2023 02:26:42 +0100 Subject: [PATCH] imap-urlauth: imap-urlauth-client - Connect worker client last in client_create(). In later commit the worker client will depend on full unitialization of main client struct. --- src/imap-urlauth/imap-urlauth-client.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/imap-urlauth/imap-urlauth-client.c b/src/imap-urlauth/imap-urlauth-client.c index 9f90b529d4..d8b556a439 100644 --- a/src/imap-urlauth/imap-urlauth-client.c +++ b/src/imap-urlauth/imap-urlauth-client.c @@ -59,13 +59,6 @@ int client_create(const char *service, const char *username, event_set_append_log_prefix(client->event, t_strdup_printf( "user %s: ", username)); - client->worker_client = imap_urlauth_worker_client_init(client); - if (imap_urlauth_worker_client_connect(client->worker_client) < 0) { - event_unref(&client->event); - i_free(client); - return -1; - } - /* determine user's special privileges */ i_array_init(&client->access_apps, 4); if (username != NULL) { @@ -93,6 +86,12 @@ int client_create(const char *service, const char *username, imap_urlauth_client_count++; DLLIST_PREPEND(&imap_urlauth_clients, client); + client->worker_client = imap_urlauth_worker_client_init(client); + if (imap_urlauth_worker_client_connect(client->worker_client) < 0) { + client_destroy(client, "Failed to connect to worker"); + return -1; + } + imap_urlauth_refresh_proctitle(); *client_r = client; return 0; -- 2.47.3