changeset 1712:2bc5207deb0e HEAD

fixes
author Timo Sirainen <tss@iki.fi>
date Fri, 22 Aug 2003 09:51:15 +0300
parents 293ec0d24009
children 6a1586f04640
files src/auth/auth-master-connection.c src/auth/mech.c src/auth/mech.h
diffstat 3 files changed, 10 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- a/src/auth/auth-master-connection.c	Fri Aug 22 09:44:33 2003 +0300
+++ b/src/auth/auth-master-connection.c	Fri Aug 22 09:51:15 2003 +0300
@@ -153,7 +153,7 @@
 			       master_request);
 
 		/* the auth request is finished, we don't need it anymore */
-		mech_request_free(client_conn, auth_request, request->id);
+		mech_request_free(auth_request, request->id);
 	}
 }
 
--- a/src/auth/mech.c	Fri Aug 22 09:44:33 2003 +0300
+++ b/src/auth/mech.c	Fri Aug 22 09:51:15 2003 +0300
@@ -120,15 +120,17 @@
 	} else {
 		if (!auth_request->auth_continue(auth_request,
 						 request, data, callback))
-			mech_request_free(conn, auth_request, request->id);
+			mech_request_free(auth_request, request->id);
 	}
 }
 
-void mech_request_free(struct auth_client_connection *conn,
-		       struct auth_request *auth_request, unsigned int id)
+void mech_request_free(struct auth_request *auth_request, unsigned int id)
 {
+	if (auth_request->conn != NULL) {
+		hash_remove(auth_request->conn->auth_requests,
+			    POINTER_CAST(id));
+	}
 	auth_request_unref(auth_request);
-	hash_remove(conn->auth_requests, POINTER_CAST(id));
 }
 
 void mech_init_auth_client_reply(struct auth_client_request_reply *reply)
@@ -182,10 +184,8 @@
 
 	auth_request->callback(&reply, reply_data, auth_request->conn);
 
-	if (!success) {
-		mech_request_free(auth_request->conn, auth_request,
-				  auth_request->id);
-	}
+	if (!success)
+		mech_request_free(auth_request, auth_request->id);
 }
 
 int mech_is_valid_username(const char *username)
--- a/src/auth/mech.h	Fri Aug 22 09:44:33 2003 +0300
+++ b/src/auth/mech.h	Fri Aug 22 09:51:15 2003 +0300
@@ -54,8 +54,7 @@
 			   struct auth_client_request_continue *request,
 			   const unsigned char *data,
 			   mech_callback_t *callback);
-void mech_request_free(struct auth_client_connection *conn,
-		       struct auth_request *auth_request, unsigned int id);
+void mech_request_free(struct auth_request *auth_request, unsigned int id);
 
 void mech_init_auth_client_reply(struct auth_client_request_reply *reply);
 void *mech_auth_success(struct auth_client_request_reply *reply,