dovecot-1.2: auth: Keep master connection referenced during USER...
dovecot at dovecot.org
dovecot at dovecot.org
Thu Jun 25 20:26:15 EEST 2009
details: http://hg.dovecot.org/dovecot-1.2/rev/af28db3176cf
changeset: 9161:af28db3176cf
user: Timo Sirainen <tss at iki.fi>
date: Thu Jun 25 13:26:10 2009 -0400
description:
auth: Keep master connection referenced during USER lookups.
Fixes a crash when master disconnected before USER lookup was finished.
diffstat:
1 file changed, 2 insertions(+)
src/auth/auth-master-connection.c | 2 ++
diffs (19 lines):
diff -r d639063977cc -r af28db3176cf src/auth/auth-master-connection.c
--- 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 @@ user_callback(enum userdb_result result,
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 @@ master_input_user(struct auth_master_con
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);
More information about the dovecot-cvs
mailing list