From f61c5da816f31c5d6daa0adb5bedbd5dfdf4a82d Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Wed, 29 Apr 2020 12:51:52 +0300 Subject: [PATCH] login-proxy: Support reconnecting also when connect() immediately fails This can happen when connecting to localhost. --- src/login-common/login-proxy.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/login-common/login-proxy.c b/src/login-common/login-proxy.c index 4377883a99..67af767e6c 100644 --- a/src/login-common/login-proxy.c +++ b/src/login-common/login-proxy.c @@ -334,12 +334,10 @@ static int login_proxy_connect(struct login_proxy *proxy) proxy->source_ip.family == 0 ? NULL : &proxy->source_ip); if (proxy->server_fd == -1) { - string_t *str = t_str_new(128); - proxy_connect_error_append(proxy, FALSE, str); - login_proxy_failed(proxy, proxy->event, - LOGIN_PROXY_FAILURE_TYPE_CONNECT, - str_c(str)); - return -1; + if (!proxy_connect_failed(proxy)) + return -1; + /* trying to reconnect later */ + return 0; } proxy->server_io = io_add(proxy->server_fd, IO_WRITE, proxy_wait_connect, proxy); -- 2.47.3