From: Stephan Bosch Date: Fri, 9 Feb 2018 22:56:55 +0000 (+0100) Subject: lib-http: client: Recreate connection IO after streams change. X-Git-Tag: 2.3.1~148 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=eb35204a8437870a70cb0110e01ef809bb54ccee;p=thirdparty%2Fdovecot%2Fcore.git lib-http: client: Recreate connection IO after streams change. --- diff --git a/src/lib-http/http-client-connection.c b/src/lib-http/http-client-connection.c index bd30926a6e..4b5ba96fd1 100644 --- a/src/lib-http/http-client-connection.c +++ b/src/lib-http/http-client-connection.c @@ -1377,6 +1377,7 @@ http_client_connection_ssl_init(struct http_client_connection *conn, e_debug(conn->event, "Starting SSL handshake"); + connection_input_halt(&conn->conn); if (io_stream_create_ssl_client(ssl_ctx, pshared->addr.a.tcp.https_name, &ssl_set, &conn->conn.input, &conn->conn.output, @@ -1386,6 +1387,7 @@ http_client_connection_ssl_init(struct http_client_connection *conn, conn->conn.name, error); return -1; } + connection_input_resume(&conn->conn); ssl_iostream_set_handshake_callback(conn->ssl_iostream, http_client_connection_ssl_handshaked, conn); if (ssl_iostream_handshake(conn->ssl_iostream) < 0) {