about summary refs log tree commit diff stats
path: root/src/xmpp/iq.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/xmpp/iq.c')
-rw-r--r--src/xmpp/iq.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/xmpp/iq.c b/src/xmpp/iq.c
index edbf3557..7f6b8de0 100644
--- a/src/xmpp/iq.c
+++ b/src/xmpp/iq.c
@@ -967,6 +967,15 @@ _autoping_timed_send(xmpp_conn_t *const conn, void *const userdata)
         return 1;
     }
 
+    if (connection_supports(STANZA_NS_PING) == FALSE) {
+        log_warning("Server doesn't advertise %s feature, disabling autoping.", STANZA_NS_PING);
+        prefs_set_autoping(0);
+        cons_show_error("Server ping not supported, autoping disabled.");
+        xmpp_conn_t *conn = connection_get_conn();
+        xmpp_timed_handler_delete(conn, _autoping_timed_send);
+        return 1;
+    }
+
     if (autoping_wait) {
         log_debug("Autoping: Existing ping already in progress, aborting");
         return 1;