"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;
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);
}
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);
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,
}
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;
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;
}
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;
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;
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;
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;