From: Timo Sirainen Date: Tue, 19 Apr 2022 08:39:35 +0000 (+0300) Subject: auth: Add connection parameter to auth_worker_callback_t X-Git-Tag: 2.3.19~10 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f89c9e587e92a42494150edea03d3ba014ffb72b;p=thirdparty%2Fdovecot%2Fcore.git auth: Add connection parameter to auth_worker_callback_t --- diff --git a/src/auth/auth-worker-server.c b/src/auth/auth-worker-server.c index 58d6345708..1661752828 100644 --- a/src/auth/auth-worker-server.c +++ b/src/auth/auth-worker-server.c @@ -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); diff --git a/src/auth/auth-worker-server.h b/src/auth/auth-worker-server.h index a46b332eba..6b1b241446 100644 --- a/src/auth/auth-worker-server.h +++ b/src/auth/auth-worker-server.h @@ -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, diff --git a/src/auth/passdb-blocking.c b/src/auth/passdb-blocking.c index a030e8f4ef..6b7030c327 100644 --- a/src/auth/passdb-blocking.c +++ b/src/auth/passdb-blocking.c @@ -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; diff --git a/src/auth/passdb-cache.c b/src/auth/passdb-cache.c index 6ffaf9b6eb..2e731349d6 100644 --- a/src/auth/passdb-cache.c +++ b/src/auth/passdb-cache.c @@ -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; diff --git a/src/auth/userdb-blocking.c b/src/auth/userdb-blocking.c index 4163259118..0cd2d23502 100644 --- a/src/auth/userdb-blocking.c +++ b/src/auth/userdb-blocking.c @@ -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;