From 7a2af5e3ad39eca44d0e6bed65609be6e23f086c Mon Sep 17 00:00:00 2001 From: Steffen Jaeckel Date: Tue, 8 Feb 2022 19:50:06 +0100 Subject: [PATCH] fix handling of connection errors When a `see-other-host` stream-error is received we try to re-connect to the other host. Erroneously this also started the `reconnect_timer`. This lead to the behavior that in cases where e.g. the login failed we try to reconnect instead of bailing out with an error. This commit fixes the wrong behavior by not starting the `reconnect_timer`. Fix 0e58509c161ae8409c9accabb9606e0c7006b880 Signed-off-by: Steffen Jaeckel --- src/xmpp/session.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/xmpp/session.c b/src/xmpp/session.c index ce3c557a..1dd5bdde 100644 --- a/src/xmpp/session.c +++ b/src/xmpp/session.c @@ -549,8 +549,6 @@ session_reconnect(gchar* altdomain, unsigned short altport) { reconnect.altdomain = altdomain; reconnect.altport = altport; - assert(reconnect_timer == NULL); - reconnect_timer = g_timer_new(); } static void @@ -583,7 +581,8 @@ _session_reconnect(void) connection_connect(jid, saved_account.passwd, server, port, account->tls_policy, account->auth_policy); free(jid); account_free(account); - g_timer_start(reconnect_timer); + if (reconnect_timer) + g_timer_start(reconnect_timer); } static void