From: Timo Sirainen Date: Fri, 18 Aug 2017 08:09:41 +0000 (+0300) Subject: director: Fix rapid reconnection on failed outgoing connections X-Git-Tag: 2.2.32.rc2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=48f0cec1780a1a32c43605d7d6bae60f5591eaa0;p=thirdparty%2Fdovecot%2Fcore.git director: Fix rapid reconnection on failed outgoing connections last_network_failure wasn't set, which caused a failed outgoing connection to immediately reconnect to it. This resulted in rapid logging of connect() errors. --- diff --git a/src/director/director-connection.c b/src/director/director-connection.c index 72856b27ce..ac48f944bd 100644 --- a/src/director/director-connection.c +++ b/src/director/director-connection.c @@ -2167,7 +2167,8 @@ static void director_connection_disconnected(struct director_connection **_conn, struct director_connection *conn = *_conn; struct director *dir = conn->dir; - if (conn->connected_time.tv_sec + DIRECTOR_SUCCESS_MIN_CONNECT_SECS > ioloop_time && + if ((conn->connected_time.tv_sec == 0 || + conn->connected_time.tv_sec + DIRECTOR_SUCCESS_MIN_CONNECT_SECS > ioloop_time) && conn->host != NULL) { /* connection didn't exist for very long, assume it has a network problem */