Mercurial > dovecot > core-2.2
changeset 22836:78673e865a93
lib-imap-client: Fix IO after enabling SSL
io_add_istream() needs to be used with the SSL istream, otherwise it can
cause hangs.
author | Timo Sirainen <timo.sirainen@dovecot.fi> |
---|---|
date | Thu, 08 Feb 2018 02:28:54 +0200 |
parents | a21208a433c1 |
children | 08535865104c |
files | src/lib-imap-client/imapc-connection.c |
diffstat | 1 files changed, 2 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-imap-client/imapc-connection.c Fri Dec 22 11:25:06 2017 +0200 +++ b/src/lib-imap-client/imapc-connection.c Thu Feb 08 02:28:54 2018 +0200 @@ -1657,6 +1657,7 @@ conn->output = conn->raw_output; } + io_remove(&conn->io); if (io_stream_create_ssl_client(conn->client->ssl_ctx, conn->client->set.host, &ssl_set, &conn->input, &conn->output, @@ -1665,6 +1666,7 @@ conn->name, error); return -1; } + conn->io = io_add_istream(conn->input, imapc_connection_input, conn); ssl_iostream_set_handshake_callback(conn->ssl_iostream, imapc_connection_ssl_handshaked, conn);