]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
auth: Add connection parameter to auth_worker_callback_t
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Tue, 19 Apr 2022 08:39:35 +0000 (11:39 +0300)
committeraki.tuomi <aki.tuomi@open-xchange.com>
Thu, 21 Apr 2022 07:45:56 +0000 (07:45 +0000)
src/auth/auth-worker-server.c
src/auth/auth-worker-server.h
src/auth/passdb-blocking.c
src/auth/passdb-cache.c
src/auth/userdb-blocking.c

index 58d634570803db94351b782f19545f1c632f880d..16617528289d4fb1cecdeab7903ea36d6d1315a3 100644 (file)
@@ -99,7 +99,7 @@ static bool auth_worker_request_send(struct auth_worker_connection *conn,
                        "Aborting auth request that was queued for %d secs, "
                        "%d left in queue",
                        age_secs, aqueue_count(worker_request_queue));
-               request->callback(t_strdup_printf(
+               request->callback(conn, t_strdup_printf(
                        "FAIL\t%d", PASSDB_RESULT_INTERNAL_FAILURE),
                        request->context);
                return FALSE;
@@ -243,7 +243,7 @@ static void auth_worker_destroy(struct auth_worker_connection **_conn,
                e_error(conn->event, "Aborted %s request for %s: %s",
                        t_strcut(conn->request->data, '\t'),
                        conn->request->username, reason);
-               conn->request->callback(t_strdup_printf(
+               conn->request->callback(conn, t_strdup_printf(
                                "FAIL\t%d", PASSDB_RESULT_INTERNAL_FAILURE),
                                conn->request->context);
        }
@@ -304,7 +304,7 @@ static bool auth_worker_request_handle(struct auth_worker_connection *conn,
                idle_count++;
        }
 
-       if (!request->callback(line, request->context) && conn->io != NULL) {
+       if (!request->callback(conn, line, request->context) && conn->io != NULL) {
                conn->timeout_pending_resume = FALSE;
                timeout_remove(&conn->to);
                io_remove(&conn->io);
index a46b332eba04403a72d5c0fb80be88366c0ed2e2..6b1b2414462113f7b6ef154c23d63ee9885d1be7 100644 (file)
@@ -3,8 +3,10 @@
 
 struct auth_request;
 struct auth_stream_reply;
+struct auth_worker_connection;
 
-typedef bool auth_worker_callback_t(const char *reply, void *context);
+typedef bool auth_worker_callback_t(struct auth_worker_connection *conn,
+                                   const char *reply, void *context);
 
 struct auth_worker_connection * ATTR_NOWARN_UNUSED_RESULT
 auth_worker_call(pool_t pool, const char *username, const char *data,
index a030e8f4ef2e1c1fe48e26df15169ef7e0eb4c8c..6b7030c32700a0034b89e47ba395008f4755a465 100644 (file)
@@ -74,7 +74,8 @@ passdb_blocking_auth_worker_reply_parse(struct auth_request *request, const char
 }
 
 static bool
-verify_plain_callback(const char *reply, void *context)
+verify_plain_callback(struct auth_worker_connection *conn ATTR_UNUSED,
+                     const char *reply, void *context)
 {
        struct auth_request *request = context;
        enum passdb_result result;
@@ -100,7 +101,9 @@ void passdb_blocking_verify_plain(struct auth_request *request)
                         verify_plain_callback, request);
 }
 
-static bool lookup_credentials_callback(const char *reply, void *context)
+static bool
+lookup_credentials_callback(struct auth_worker_connection *conn ATTR_UNUSED,
+                           const char *reply, void *context)
 {
        struct auth_request *request = context;
        enum passdb_result result;
@@ -141,7 +144,8 @@ void passdb_blocking_lookup_credentials(struct auth_request *request)
 }
 
 static bool
-set_credentials_callback(const char *reply, void *context)
+set_credentials_callback(struct auth_worker_connection *conn ATTR_UNUSED,
+                        const char *reply, void *context)
 {
        struct auth_request *request = context;
        bool success;
index 6ffaf9b6ebb7ea9ff22b606e3a76833ce0a59404..2e731349d6af8d5f9373d2c6e9cda5d67eceb835 100644 (file)
@@ -56,7 +56,9 @@ passdb_cache_lookup(struct auth_request *request, const char *key,
        return TRUE;
 }
 
-static bool passdb_cache_verify_plain_callback(const char *reply, void *context)
+static bool
+passdb_cache_verify_plain_callback(struct auth_worker_connection *conn ATTR_UNUSED,
+                                  const char *reply, void *context)
 {
        struct auth_request *request = context;
        enum passdb_result result;
index 4163259118bb7a40c4f6ef6ef7904be3e329bca3..0cd2d2350269f00af819d5456028d67c71543ada 100644 (file)
@@ -14,7 +14,8 @@ struct blocking_userdb_iterate_context {
        bool destroyed;
 };
 
-static bool user_callback(const char *reply, void *context)
+static bool user_callback(struct auth_worker_connection *conn ATTR_UNUSED,
+                         const char *reply, void *context)
 {
        struct auth_request *request = context;
        enum userdb_result result;
@@ -70,7 +71,8 @@ void userdb_blocking_lookup(struct auth_request *request)
                         str_c(str), user_callback, request);
 }
 
-static bool iter_callback(const char *reply, void *context)
+static bool iter_callback(struct auth_worker_connection *conn ATTR_UNUSED,
+                         const char *reply, void *context)
 {
        struct blocking_userdb_iterate_context *ctx = context;