]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
login-proxy: Fix hang in outgoing SSL connections
authorTimo Sirainen <timo.sirainen@dovecot.fi>
Wed, 22 Nov 2017 10:02:11 +0000 (12:02 +0200)
committerTimo Sirainen <timo.sirainen@dovecot.fi>
Wed, 22 Nov 2017 10:06:28 +0000 (12:06 +0200)
The handshaking needs to be started explicitly.

src/login-common/login-proxy.c

index 0d25844bfdb9aab4899b4d6afe65fcca9f716bbe..48c72ef3be36526b9c1dd1b1923424ef762fc303 100644 (file)
@@ -717,6 +717,12 @@ int login_proxy_starttls(struct login_proxy *proxy)
                return -1;
        }
        ssl_iostream_context_unref(&ssl_ctx);
+       if (ssl_iostream_handshake(proxy->server_ssl_iostream) < 0) {
+               client_log_err(proxy->client, t_strdup_printf(
+                       "proxy: Failed to start SSL handshake to %s:%u: %s",
+                       net_ip2addr(&proxy->ip), proxy->port, error));
+               return -1;
+       }
 
        proxy->server_io = io_add_istream(proxy->server_input,
                                          proxy_prelogin_input, proxy);