about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-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..4a44e05f 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_jid_for_feature(STANZA_NS_PING) == NULL) {
+        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;