From: Timo Sirainen Date: Sat, 13 Mar 2010 15:35:21 +0000 (+0200) Subject: auth: Auth request handler no longer keeps struct auth pointer. X-Git-Tag: 2.0.beta4~74 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9be4e6701d086c009f3db1913a148139ea180420;p=thirdparty%2Fdovecot%2Fcore.git auth: Auth request handler no longer keeps struct auth pointer. --HG-- branch : HEAD --- diff --git a/src/auth/auth-client-connection.c b/src/auth/auth-client-connection.c index 77a94b7ded..b815ef8e20 100644 --- a/src/auth/auth-client-connection.c +++ b/src/auth/auth-client-connection.c @@ -114,8 +114,8 @@ auth_client_input_cpid(struct auth_client_connection *conn, const char *args) /* handshake complete, we can now actually start serving requests */ conn->refcount++; conn->request_handler = - auth_request_handler_create(conn->auth, - auth_callback, conn, auth_master_request_callback); + auth_request_handler_create(auth_callback, conn, + auth_master_request_callback); auth_request_handler_set(conn->request_handler, conn->connect_uid, pid); conn->pid = pid; @@ -173,7 +173,8 @@ auth_client_handle_line(struct auth_client_connection *conn, const char *line) conn->auth->set->debug_passwords ? line : auth_line_hide_pass(line)); } - return auth_request_handler_auth_begin(conn->request_handler, + return auth_request_handler_auth_begin(conn->auth, + conn->request_handler, line + 5); } if (strncmp(line, "CONT\t", 5) == 0) { diff --git a/src/auth/auth-request-handler.c b/src/auth/auth-request-handler.c index b828dea419..dfd50cfab4 100644 --- a/src/auth/auth-request-handler.c +++ b/src/auth/auth-request-handler.c @@ -22,7 +22,6 @@ struct auth_request_handler { pool_t pool; struct hash_table *requests; - struct auth *auth; unsigned int connect_uid, client_pid; auth_request_callback_t *callback; @@ -39,8 +38,7 @@ static void auth_failure_timeout(void *context); #undef auth_request_handler_create struct auth_request_handler * -auth_request_handler_create(struct auth *auth, - auth_request_callback_t *callback, void *context, +auth_request_handler_create(auth_request_callback_t *callback, void *context, auth_request_callback_t *master_callback) { struct auth_request_handler *handler; @@ -52,7 +50,6 @@ auth_request_handler_create(struct auth *auth, handler->refcount = 1; handler->pool = pool; handler->requests = hash_table_create(default_pool, pool, 0, NULL, NULL); - handler->auth = auth; handler->callback = callback; handler->context = context; handler->master_callback = master_callback; @@ -305,7 +302,8 @@ auth_penalty_callback(unsigned int penalty, struct auth_request *request) } } -bool auth_request_handler_auth_begin(struct auth_request_handler *handler, +bool auth_request_handler_auth_begin(struct auth *auth, + struct auth_request_handler *handler, const char *args) { const struct mech_module *mech; @@ -334,7 +332,7 @@ bool auth_request_handler_auth_begin(struct auth_request_handler *handler, return FALSE; } - request = auth_request_new(handler->auth, mech, auth_callback, handler); + request = auth_request_new(auth, mech, auth_callback, handler); request->handler = handler; request->connect_uid = handler->connect_uid; request->client_pid = handler->client_pid; diff --git a/src/auth/auth-request-handler.h b/src/auth/auth-request-handler.h index b580677b47..f020c028b6 100644 --- a/src/auth/auth-request-handler.h +++ b/src/auth/auth-request-handler.h @@ -9,18 +9,17 @@ typedef void auth_request_callback_t(struct auth_stream_reply *reply, void *context); struct auth_request_handler * -auth_request_handler_create(struct auth *auth, - auth_request_callback_t *callback, void *context, +auth_request_handler_create(auth_request_callback_t *callback, void *context, auth_request_callback_t *master_callback); #ifdef CONTEXT_TYPE_SAFETY -# define auth_request_handler_create(auth, callback, context, master_callback)\ +# define auth_request_handler_create(callback, context, master_callback)\ ({(void)(1 ? 0 : callback((struct auth_stream_reply *)NULL, context)); \ - auth_request_handler_create(auth, \ + auth_request_handler_create( \ (auth_request_callback_t *)callback, context, \ master_callback); }) #else -# define auth_request_handler_create(auth, callback, context, master_callback)\ - auth_request_handler_create(auth, \ +# define auth_request_handler_create(callback, context, master_callback)\ + auth_request_handler_create( \ (auth_request_callback_t *)callback, context, \ master_callback) #endif @@ -30,7 +29,8 @@ void auth_request_handler_set(struct auth_request_handler *handler, unsigned int connect_uid, unsigned int client_pid); -bool auth_request_handler_auth_begin(struct auth_request_handler *handler, +bool auth_request_handler_auth_begin(struct auth *auth, + struct auth_request_handler *handler, const char *args); bool auth_request_handler_auth_continue(struct auth_request_handler *handler, const char *args);