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.9~2296 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=47c89f8a25d625ccb8d6988149771bdb0c21ac53;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 54212ada11..259c153c05 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) {