]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-imap-client: Fix infinite reconnection loop on some connect/certificate failures
authorKarl Fleischmann <karl.fleischmann@open-xchange.com>
Tue, 26 Mar 2024 13:18:24 +0000 (14:18 +0100)
committerAki Tuomi <aki.tuomi@open-xchange.com>
Fri, 17 Jan 2025 08:39:59 +0000 (10:39 +0200)
src/lib-imap-client/imapc-connection.c

index fc12e5180d070f4d1e8e881a45b36767f5443d98..0a5f2a6baded8dce62dbbe36eda58e67600ed0a5 100644 (file)
@@ -575,6 +575,7 @@ void imapc_connection_try_reconnect(struct imapc_connection *conn,
                imapc_connection_disconnect(conn);
        } else {
                conn->reconnecting = TRUE;
+               conn->reconnect_count++;
                e_warning(conn->event, "%s - reconnecting (delay %u ms)",
                          errstr, delay_msecs);
                if (delay_msecs == 0)
@@ -582,7 +583,6 @@ void imapc_connection_try_reconnect(struct imapc_connection *conn,
                else {
                        imapc_connection_disconnect_full(conn, TRUE);
                        conn->to = timeout_add(delay_msecs, imapc_connection_reconnect, conn);
-                       conn->reconnect_count++;
                        conn->reconnect_waiting = TRUE;
                }
        }