diff mcabber/src/jab_iq.c @ 1134:995dde656033

Response to XMPP Ping (XEP-0199)
author misc@mandriva.org
date Sat, 03 Feb 2007 18:31:55 +0100
parents c0d44a9a99bc
children c30c315dc447
line wrap: on
line diff
--- a/mcabber/src/jab_iq.c	Sat Feb 03 18:06:34 2007 +0100
+++ b/mcabber/src/jab_iq.c	Sat Feb 03 18:31:55 2007 +0100
@@ -820,7 +820,17 @@
                      "var", NS_TIME);
   xmlnode_put_attrib(xmlnode_insert_tag(myquery, "feature"),
                      "var", NS_VERSION);
+  xmlnode_put_attrib(xmlnode_insert_tag(myquery, "feature"),
+                     "var", NS_PING);
+  jab_send(jc, x);
+  xmlnode_free(x);
+}
 
+static void handle_iq_ping(jconn conn, char *from, const char *id,
+                           xmlnode xmldata)
+{
+  xmlnode x;
+  x = jutil_iqresult(xmldata);
   jab_send(jc, x);
   xmlnode_free(x);
 }
@@ -918,6 +928,13 @@
     return;
   }
 
+  x = xmlnode_get_tag(xmldata, "ping");
+  ns = xmlnode_get_attrib(x, "xmlns");
+  if (ns && !strcmp(ns, NS_PING)) {
+    handle_iq_ping(conn, from, id, xmldata);
+    return;
+  }
+
   x = xmlnode_get_tag(xmldata, "query");
   ns = xmlnode_get_attrib(x, "xmlns");
   if (ns && !strcmp(ns, NS_DISCO_INFO)) {