# HG changeset patch # User Mikael Berthe # Date 1343479250 -7200 # Node ID 87049d55e34f8bd88218a4175035adab65578be4 # Parent e9b6e168a45e12200f486929e5786ffd64ac143e Fix /request time /request time was still using Legacy Entity Time (XEP-90). This patch makes mcabber use XEP-202 for queries; mcabber still answers to both current and legacy queries. diff -r e9b6e168a45e -r 87049d55e34f mcabber/mcabber/xmpp.c --- a/mcabber/mcabber/xmpp.c Wed Jul 18 00:24:13 2012 +0200 +++ b/mcabber/mcabber/xmpp.c Sat Jul 28 14:40:50 2012 +0200 @@ -242,7 +242,7 @@ xmlns = NS_VERSION; strreqtype = "version"; } else if (reqtype == iqreq_time) { - xmlns = NS_TIME; + xmlns = NS_XMPP_TIME; strreqtype = "time"; } else if (reqtype == iqreq_last) { xmlns = NS_LAST; diff -r e9b6e168a45e -r 87049d55e34f mcabber/mcabber/xmpp_iqrequest.c --- a/mcabber/mcabber/xmpp_iqrequest.c Wed Jul 18 00:24:13 2012 +0200 +++ b/mcabber/mcabber/xmpp_iqrequest.c Sat Jul 28 14:40:50 2012 +0200 @@ -54,12 +54,12 @@ const gchar *querytag; LmHandleMessageFunction handler; } iq_request_handlers[] = { - {NS_ROSTER, "query", &cb_roster}, - {NS_VERSION,"query", &cb_version}, - {NS_TIME, "query", &cb_time}, - {NS_LAST, "query", &cb_last}, - {NS_PING, "ping", &cb_ping}, - {NS_VCARD, "vCard", &cb_vcard}, + {NS_ROSTER, "query", &cb_roster}, + {NS_VERSION, "query", &cb_version}, + {NS_XMPP_TIME,"time", &cb_time}, + {NS_LAST, "query", &cb_last}, + {NS_PING, "ping", &cb_ping}, + {NS_VCARD, "vCard", &cb_vcard}, {NULL, NULL, NULL} }; @@ -146,7 +146,8 @@ iq = lm_message_new_with_sub_type(fulljid, LM_MESSAGE_TYPE_IQ, LM_MESSAGE_SUB_TYPE_GET); - for (i = 0; strcmp(iq_request_handlers[i].xmlns, xmlns) != 0 ; ++i) + for (i = 0; iq_request_handlers[i].xmlns && + strcmp(iq_request_handlers[i].xmlns, xmlns) != 0 ; ++i) ; query = lm_message_node_add_child(iq->node, iq_request_handlers[i].querytag, @@ -288,7 +289,7 @@ } // Check message contents - ansqry = lm_message_node_get_child(m->node, "query"); + ansqry = lm_message_node_get_child(m->node, "time"); if (!ansqry) { scr_LogPrint(LPRINT_LOGNORM, "Invalid IQ:time result from <%s>!", bjid); return LM_HANDLER_RESULT_REMOVE_MESSAGE; @@ -312,7 +313,7 @@ 0, HBB_PREFIX_INFO | HBB_PREFIX_CONT, 0); g_free(buf); } - p = lm_message_node_get_child_value(ansqry, "tz"); + p = lm_message_node_get_child_value(ansqry, "tzo"); if (p && *p) { buf = g_strdup_printf("TZ: %s", p); scr_WriteIncomingMessage(bjid, buf,