changeset 9161:af28db3176cf HEAD

auth: Keep master connection referenced during USER lookups. Fixes a crash when master disconnected before USER lookup was finished.
author Timo Sirainen <tss@iki.fi>
date Thu, 25 Jun 2009 13:26:10 -0400
parents d639063977cc
children 8a2c85c418a1
files src/auth/auth-master-connection.c
diffstat 1 files changed, 2 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/auth/auth-master-connection.c	Wed Jun 24 16:54:41 2009 -0400
+++ b/src/auth/auth-master-connection.c	Thu Jun 25 13:26:10 2009 -0400
@@ -111,6 +111,7 @@
 	str_append_c(str, '\n');
 	(void)o_stream_send(conn->output, str_data(str), str_len(str));
 	auth_request_unref(&auth_request);
+	auth_master_connection_unref(&conn);
 }
 
 static bool
@@ -129,6 +130,7 @@
 	auth_request = auth_request_new_dummy(conn->listener->auth);
 	auth_request->id = (unsigned int)strtoul(list[0], NULL, 10);
 	auth_request->context = conn;
+	auth_master_connection_ref(conn);
 
 	if (!auth_request_set_username(auth_request, list[1], &error)) {
                 auth_request_log_info(auth_request, "userdb", "%s", error);