Mercurial > hg
changeset 1698:e67bdd863638
Handle IQ responses with no "from"
(No from means our own JID -- thanks waqas)
author | Mikael Berthe <mikael@lilotux.net> |
---|---|
date | Sun, 07 Feb 2010 17:10:29 +0100 |
parents | d080e7cda46c |
children | 527c965b45c5 |
files | mcabber/mcabber/xmpp_iqrequest.c |
diffstat | 1 files changed, 24 insertions(+), 20 deletions(-) [+] |
line wrap: on
line diff
--- a/mcabber/mcabber/xmpp_iqrequest.c Sun Feb 07 16:41:12 2010 +0100 +++ b/mcabber/mcabber/xmpp_iqrequest.c Sun Feb 07 17:10:29 2010 +0100 @@ -135,12 +135,13 @@ } // Display IQ result sender... - p = lm_message_get_from(m); - if (!p) { + bjid = lm_message_get_from(m); + if (!bjid) + bjid = lm_connection_get_jid(lconnection); + if (!bjid) { scr_LogPrint(LPRINT_LOGNORM, "Invalid IQ:version result (no sender name)."); - return LM_HANDLER_RESULT_ALLOW_MORE_HANDLERS; + return LM_HANDLER_RESULT_REMOVE_MESSAGE; } - bjid = p; buf = g_strdup_printf("Received IQ:version result from <%s>", bjid); scr_LogPrint(LPRINT_LOGNORM, "%s", buf); @@ -191,12 +192,13 @@ return LM_HANDLER_RESULT_ALLOW_MORE_HANDLERS; } // Display IQ result sender... - p = lm_message_get_from(m); - if (!p) { - scr_LogPrint(LPRINT_LOGNORM, "Invalid IQ:time result (no sender name)."); - return LM_HANDLER_RESULT_ALLOW_MORE_HANDLERS; + bjid = lm_message_get_from(m); + if (!bjid) + bjid = lm_connection_get_jid(lconnection); + if (!bjid) { + scr_LogPrint(LPRINT_LOGNORM, "Invalid IQ:version result (no sender name)."); + return LM_HANDLER_RESULT_REMOVE_MESSAGE; } - bjid = p; buf = g_strdup_printf("Received IQ:time result from <%s>", bjid); scr_LogPrint(LPRINT_LOGNORM, "%s", buf); @@ -246,12 +248,13 @@ return LM_HANDLER_RESULT_ALLOW_MORE_HANDLERS; } // Display IQ result sender... - p = lm_message_get_from(m); - if (!p) { - scr_LogPrint(LPRINT_LOGNORM, "Invalid IQ:last result (no sender name)."); - return LM_HANDLER_RESULT_ALLOW_MORE_HANDLERS; + bjid = lm_message_get_from(m); + if (!bjid) + bjid = lm_connection_get_jid(lconnection); + if (!bjid) { + scr_LogPrint(LPRINT_LOGNORM, "Invalid IQ:version result (no sender name)."); + return LM_HANDLER_RESULT_REMOVE_MESSAGE; } - bjid = p; buf = g_strdup_printf("Received IQ:last result from <%s>", bjid); scr_LogPrint(LPRINT_LOGNORM, "%s", buf); @@ -409,16 +412,17 @@ LmMessage *m, gpointer user_data) { LmMessageNode *ansqry; - const char *p, *bjid; + const char *bjid; char *buf, *tmp; // Display IQ result sender... - p = lm_message_get_from(m); - if (!p) { - scr_LogPrint(LPRINT_LOGNORM, "Invalid IQ:vCard result (no sender name)."); - return LM_HANDLER_RESULT_ALLOW_MORE_HANDLERS; + bjid = lm_message_get_from(m); + if (!bjid) + bjid = lm_connection_get_jid(lconnection); + if (!bjid) { + scr_LogPrint(LPRINT_LOGNORM, "Invalid IQ:version result (no sender name)."); + return LM_HANDLER_RESULT_REMOVE_MESSAGE; } - bjid = p; buf = g_strdup_printf("Received IQ:vCard result from <%s>", bjid); scr_LogPrint(LPRINT_LOGNORM, "%s", buf);