# HG changeset patch # User Mikael Berthe # Date 1271497822 -7200 # Node ID 9a3d7a7dada2392d76d0743f3359df601877de81 # Parent 75a0a22bbf7872930d94ab8eb3eb2607701553af Fix looping issue spotted by isbear when sending manual IQ messages The IQ handlers should not be triggered for unexpected IQ result messages diff -r 75a0a22bbf78 -r 9a3d7a7dada2 mcabber/mcabber/xmpp.c --- a/mcabber/mcabber/xmpp.c Sat Apr 17 11:21:04 2010 +0200 +++ b/mcabber/mcabber/xmpp.c Sat Apr 17 11:50:22 2010 +0200 @@ -1483,6 +1483,14 @@ return LM_HANDLER_RESULT_REMOVE_MESSAGE; } + if (mstype == LM_MESSAGE_SUB_TYPE_RESULT) { + scr_LogPrint(LPRINT_DEBUG, "Unhandled IQ result? %s", lm_message_node_to_string(m->node)); // TODO check + + scr_LogPrint(LPRINT_NORMAL, "Received unhandled IQ result from <%s>.", + lm_message_get_from(m)); + return LM_HANDLER_RESULT_ALLOW_MORE_HANDLERS; + } + for (x = m->node->children; x; x=x->next) { xmlns = lm_message_node_get_attribute(x, "xmlns"); if (xmlns) @@ -1498,10 +1506,8 @@ scr_LogPrint(LPRINT_DEBUG, "Unhandled IQ: %s", lm_message_node_to_string(m->node)); - if (mstype != LM_MESSAGE_SUB_TYPE_RESULT) { - scr_LogPrint(LPRINT_NORMAL, "Received unhandled IQ request from <%s>.", - lm_message_get_from(m)); - } + scr_LogPrint(LPRINT_NORMAL, "Received unhandled IQ request from <%s>.", + lm_message_get_from(m)); return LM_HANDLER_RESULT_REMOVE_MESSAGE; }