Mercurial > dovecot > original-hg > dovecot-1.2
diff src/imap-login/client-authenticate.c @ 1714:96dab004a87a HEAD
fixes. maybe it works now.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Fri, 22 Aug 2003 21:56:59 +0300 |
parents | 43815588dd6b |
children | cc0690f92d96 |
line wrap: on
line diff
--- a/src/imap-login/client-authenticate.c Fri Aug 22 18:40:12 2003 +0300 +++ b/src/imap-login/client-authenticate.c Fri Aug 22 21:56:59 2003 +0300 @@ -80,6 +80,8 @@ io_remove(client->common.io); client->common.io = client->common.fd == -1 ? NULL : io_add(client->common.fd, IO_READ, client_input, client); + + client_unref(client); } static void master_callback(struct client *_client, int success) @@ -146,6 +148,7 @@ disconnect the client. */ client->authenticating = FALSE; client_send_tagline(client, "OK Logged in."); + client_unref(client); } } @@ -181,6 +184,7 @@ buffer_append_c(client->plain_login, '\0'); buffer_append(client->plain_login, pass, strlen(pass)); + client_ref(client); client->common.auth_request = auth_client_request_new(auth_client, AUTH_MECH_PLAIN, AUTH_PROTOCOL_IMAP, login_callback, @@ -188,6 +192,7 @@ if (client->common.auth_request == NULL) { client_send_tagline(client, t_strconcat( "NO Login failed: ", error, NULL)); + client_unref(client); return TRUE; } @@ -224,6 +229,7 @@ disconnect the client. */ client->authenticating = FALSE; client_send_tagline(client, "OK Logged in."); + client_unref(client); } } @@ -304,6 +310,7 @@ return TRUE; } + client_ref(client); client->common.auth_request = auth_client_request_new(auth_client, mech->mech, AUTH_PROTOCOL_IMAP, @@ -319,6 +326,7 @@ } else { client_send_tagline(client, t_strconcat( "NO Authentication failed: ", error, NULL)); + client_unref(client); } return TRUE;