]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-master: Simplify auth-master connection code
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Wed, 11 Dec 2019 12:10:12 +0000 (14:10 +0200)
committeraki.tuomi <aki.tuomi@open-xchange.com>
Wed, 8 Jan 2020 07:40:00 +0000 (07:40 +0000)
For UNIX sockets the client_connected callback is always called immediately
after successful connection_client_connect(). So we might as well directly
add auth->connected=TRUE after it succeeds without having to go through the
callback.

If the callback had been called later, the current code would have been
broken because it already assumed that auth->connected=TRUE is set
immediately after returning from master_login_auth_connect(). So this
change just makes it clearer what happens and what is required.

src/lib-master/master-login-auth.c

index e5fa6b60edcc38972ad251fbe56cf9771c4ac045..596cc0af10599a9cfd5ce492a29fde3ca734b086 100644 (file)
@@ -70,7 +70,6 @@ struct master_login_auth {
        bool request_auth_token:1;
 };
 
-static void master_login_auth_connected(struct connection *_conn, bool success);
 static int
 master_login_auth_input_args(struct connection *_conn, const char *const *args);
 static int
@@ -84,7 +83,6 @@ static const struct connection_vfuncs master_login_auth_vfuncs = {
        .destroy = master_login_auth_destroy,
        .handshake_line = master_login_auth_handshake_line,
        .input_args = master_login_auth_input_args,
-       .client_connected = master_login_auth_connected,
 };
 
 static const struct connection_settings master_login_auth_set = {
@@ -488,17 +486,6 @@ master_login_auth_input_args(struct connection *_conn, const char *const *args)
        return 1;
 }
 
-static void master_login_auth_connected(struct connection *_conn, bool success)
-{
-       struct master_login_auth *auth =
-               container_of(_conn, struct master_login_auth, conn);
-
-       /* Cannot get here unless connect() was successful */
-       i_assert(success);
-
-       auth->connected = TRUE;
-}
-
 static int
 master_login_auth_connect(struct master_login_auth *auth)
 {
@@ -517,6 +504,7 @@ master_login_auth_connect(struct master_login_auth *auth)
        }
        io_loop_time_refresh();
        auth->connect_time = ioloop_timeval;
+       auth->connected = TRUE;
        return 0;
 }