dovecot-2.0: auth: Keep master connection referenced during USER...
dovecot at dovecot.org
dovecot at dovecot.org
Thu Jun 25 20:25:53 EEST 2009
details: http://hg.dovecot.org/dovecot-2.0/rev/270c07cf45b6
changeset: 9529:270c07cf45b6
user: Timo Sirainen <tss at iki.fi>
date: Thu Jun 25 13:25:46 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 d8556f68f6a7 -r 270c07cf45b6 src/auth/auth-master-connection.c
--- a/src/auth/auth-master-connection.c Wed Jun 24 16:54:06 2009 -0400
+++ b/src/auth/auth-master-connection.c Thu Jun 25 13:25:46 2009 -0400
@@ -125,6 +125,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
@@ -143,6 +144,7 @@ master_input_user(struct auth_master_con
auth_request = auth_request_new_dummy(conn->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