]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
auth: Auth request handler no longer keeps struct auth pointer.
authorTimo Sirainen <tss@iki.fi>
Sat, 13 Mar 2010 15:35:21 +0000 (17:35 +0200)
committerTimo Sirainen <tss@iki.fi>
Sat, 13 Mar 2010 15:35:21 +0000 (17:35 +0200)
--HG--
branch : HEAD

src/auth/auth-client-connection.c
src/auth/auth-request-handler.c
src/auth/auth-request-handler.h

index 77a94b7ded7ef704ad95133cf89274a61386d01c..b815ef8e204c06d1dd9c67e02fe0efbd2a939fdc 100644 (file)
@@ -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) {
index b828dea419adfd1519b17aad7514372c4ebc9ac0..dfd50cfab49da7f735f4a5ceac2cfc7b094fe098 100644 (file)
@@ -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;
index b580677b476671e5d7a1c37c73f2bee7c4a65189..f020c028b65cbfef0f92d01290b7b94fb41794dd 100644 (file)
@@ -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);