[dovecot-cvs] dovecot/src/pop3-login client-authenticate.c, 1.49.2.3, 1.49.2.4 client.c, 1.50.2.8, 1.50.2.9
tss at dovecot.org
tss at dovecot.org
Sun Nov 12 12:41:33 UTC 2006
Update of /var/lib/cvs/dovecot/src/pop3-login
In directory talvi:/tmp/cvs-serv14609/pop3-login
Modified Files:
Tag: branch_1_0
client-authenticate.c client.c
Log Message:
Fixed potential problems with client disconnecting while master was handling
the login.
Index: client-authenticate.c
===================================================================
RCS file: /var/lib/cvs/dovecot/src/pop3-login/client-authenticate.c,v
retrieving revision 1.49.2.3
retrieving revision 1.49.2.4
diff -u -d -r1.49.2.3 -r1.49.2.4
--- client-authenticate.c 7 Nov 2006 15:06:18 -0000 1.49.2.3
+++ client-authenticate.c 12 Nov 2006 12:41:29 -0000 1.49.2.4
@@ -156,7 +156,9 @@
const char *msg;
size_t data_len;
- i_assert(!client->destroyed || reply == SASL_SERVER_REPLY_CLIENT_ERROR);
+ i_assert(!client->destroyed ||
+ reply == SASL_SERVER_REPLY_CLIENT_ERROR ||
+ reply == SASL_SERVER_REPLY_MASTER_FAILED);
switch (reply) {
case SASL_SERVER_REPLY_SUCCESS:
Index: client.c
===================================================================
RCS file: /var/lib/cvs/dovecot/src/pop3-login/client.c,v
retrieving revision 1.50.2.8
retrieving revision 1.50.2.9
diff -u -d -r1.50.2.8 -r1.50.2.9
--- client.c 7 Nov 2006 15:19:30 -0000 1.50.2.8
+++ client.c 12 Nov 2006 12:41:29 -0000 1.50.2.9
@@ -359,6 +359,9 @@
if (client->output != NULL)
o_stream_close(client->output);
+ if (client->common.master_tag != 0)
+ master_request_abort(&client->common);
+
if (client->common.auth_request != NULL) {
i_assert(client->common.authenticating);
sasl_server_auth_client_error(&client->common, NULL);
@@ -366,9 +369,6 @@
i_assert(!client->common.authenticating);
}
- if (client->common.master_tag != 0)
- master_request_abort(&client->common);
-
if (client->io != NULL)
io_remove(&client->io);
@@ -392,8 +392,10 @@
client->proxy = NULL;
}
- if (client->common.proxy != NULL)
+ if (client->common.proxy != NULL) {
ssl_proxy_free(client->common.proxy);
+ client->common.proxy = NULL;
+ }
client_unref(client);
main_listen_start();
More information about the dovecot-cvs
mailing list