changeset 22846:5f45d733a483

lib-http: client: Recreate connection IO after streams change.
author Stephan Bosch <stephan.bosch@dovecot.fi>
date Fri, 09 Feb 2018 23:56:55 +0100
parents c743f623a8fb
children 3338a8e5976d
files src/lib-http/http-client-connection.c
diffstat 1 files changed, 2 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-http/http-client-connection.c	Sat Feb 10 10:29:44 2018 +0100
+++ b/src/lib-http/http-client-connection.c	Fri Feb 09 23:56:55 2018 +0100
@@ -1243,6 +1243,7 @@
 	if (conn->client->set.debug)
 		http_client_connection_debug(conn, "Starting SSL handshake");
 
+	connection_input_halt(&conn->conn);
 	if (io_stream_create_ssl_client(conn->client->ssl_ctx,
 					conn->peer->addr.a.tcp.https_name, &ssl_set,
 					&conn->conn.input, &conn->conn.output,
@@ -1252,6 +1253,7 @@
 			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) {