# HG changeset patch # User Mikael Berthe # Date 1269095246 -3600 # Node ID d2747442918a550e9ea31e165f0f25759235d855 # Parent e73cd9377a4e91f9d7d4c4a81c7c3858c77af285 When displaying a server error, show the sender JID diff -r e73cd9377a4e -r d2747442918a mcabber/mcabber/xmpp.c --- a/mcabber/mcabber/xmpp.c Sat Mar 20 15:11:13 2010 +0100 +++ b/mcabber/mcabber/xmpp.c Sat Mar 20 15:27:26 2010 +0100 @@ -1258,7 +1258,7 @@ if (mstype == LM_MESSAGE_SUB_TYPE_ERROR) { x = lm_message_node_get_child(m->node, "error"); - display_server_error(x); + display_server_error(x, from); #if defined XEP0022 || defined XEP0085 // If the XEP85/22 support is probed, set it back to unknown so that // we probe it again. @@ -1299,7 +1299,8 @@ caps_add(ver); if (mstype == LM_MESSAGE_SUB_TYPE_ERROR) { - display_server_error(lm_message_node_get_child(m->node, "error")); + display_server_error(lm_message_node_get_child(m->node, "error"), + lm_message_get_from(m)); } else if (mstype == LM_MESSAGE_SUB_TYPE_RESULT) { LmMessageNode *info; LmMessageNode *query = lm_message_node_get_child(m->node, "query"); @@ -1355,7 +1356,7 @@ LmMessageNode *x; scr_LogPrint(LPRINT_LOGNORM, "Error presence packet from <%s>", bjid); x = lm_message_node_find_child(m->node, "error"); - display_server_error(x); + display_server_error(x, from); // Let's check it isn't a nickname conflict. // XXX Note: We should handle the string condition. if ((p = lm_message_node_get_attribute(x, "code")) != NULL) { @@ -1464,7 +1465,8 @@ LmMessageSubType mstype = lm_message_get_sub_type(m); if (mstype == LM_MESSAGE_SUB_TYPE_ERROR) { - display_server_error(lm_message_node_get_child(m->node, "error")); + display_server_error(lm_message_node_get_child(m->node, "error"), + lm_message_get_from(m)); return LM_HANDLER_RESULT_REMOVE_MESSAGE; } diff -r e73cd9377a4e -r d2747442918a mcabber/mcabber/xmpp_helper.c --- a/mcabber/mcabber/xmpp_helper.c Sat Mar 20 15:11:13 2010 +0100 +++ b/mcabber/mcabber/xmpp_helper.c Sat Mar 20 15:27:26 2010 +0100 @@ -344,9 +344,9 @@ // display_server_error(x) // Display the error to the user // x: error tag xmlnode pointer -void display_server_error(LmMessageNode *x) +void display_server_error(LmMessageNode *x, const char *from) { - const char *desc = NULL, *errname=NULL, *s; + const char *desc = NULL, *errname = NULL, *s; char *sdesc, *tmp; if (!x) return; @@ -359,8 +359,13 @@ */ if (x->children) errname = x->children->name; - scr_LogPrint(LPRINT_LOGNORM, "Received error packet [%s]", - (errname ? errname : "")); + + if (from) + scr_LogPrint(LPRINT_LOGNORM, "Received error packet [%s] from <%s>", + (errname ? errname : ""), from); + else + scr_LogPrint(LPRINT_LOGNORM, "Received error packet [%s]", + (errname ? errname : "")); // For backward compatibility if (!errname && ((s = lm_message_node_get_attribute(x, "code")) != NULL)) { diff -r e73cd9377a4e -r d2747442918a mcabber/mcabber/xmpp_helper.h --- a/mcabber/mcabber/xmpp_helper.h Sat Mar 20 15:11:13 2010 +0100 +++ b/mcabber/mcabber/xmpp_helper.h Sat Mar 20 15:27:26 2010 +0100 @@ -48,7 +48,7 @@ const gchar* lm_message_get_from(LmMessage *m); const gchar* lm_message_get_id(LmMessage *m); -void display_server_error(LmMessageNode *x); +void display_server_error(LmMessageNode *x, const char *from); /* XEP-0115 (Entity Capabilities) node */ const char *entity_version(enum imstatus status); diff -r e73cd9377a4e -r d2747442918a mcabber/mcabber/xmpp_iq.c --- a/mcabber/mcabber/xmpp_iq.c Sat Mar 20 15:11:13 2010 +0100 +++ b/mcabber/mcabber/xmpp_iq.c Sat Mar 20 15:27:26 2010 +0100 @@ -150,7 +150,8 @@ { LmMessageSubType mstype = lm_message_get_sub_type(m); if (mstype == LM_MESSAGE_SUB_TYPE_ERROR) { - display_server_error(lm_message_node_get_child(m->node, "error")); + display_server_error(lm_message_node_get_child(m->node, "error"), + lm_message_get_from(m)); } return LM_HANDLER_RESULT_REMOVE_MESSAGE; } diff -r e73cd9377a4e -r d2747442918a mcabber/mcabber/xmpp_iqrequest.c --- a/mcabber/mcabber/xmpp_iqrequest.c Sat Mar 20 15:11:13 2010 +0100 +++ b/mcabber/mcabber/xmpp_iqrequest.c Sat Mar 20 15:27:26 2010 +0100 @@ -112,7 +112,8 @@ break; case LM_MESSAGE_SUB_TYPE_ERROR: - display_server_error(lm_message_node_get_child(m->node, "error")); + display_server_error(lm_message_node_get_child(m->node, "error"), + fjid); mesg = g_strdup_printf("Ping to <%s> failed. " "Response time: %d second%s %d ms.", fjid, (int)dsec, dsec > 1 ? "s" : "", @@ -217,7 +218,7 @@ // Check for error message if (lm_message_get_sub_type(m) == LM_MESSAGE_SUB_TYPE_ERROR) { scr_LogPrint(LPRINT_LOGNORM, "Received error IQ message (%s)", bjid); - display_server_error(lm_message_node_get_child(m->node, "error")); + display_server_error(lm_message_node_get_child(m->node, "error"), NULL); return LM_HANDLER_RESULT_REMOVE_MESSAGE; } @@ -282,7 +283,7 @@ // Check for error message if (lm_message_get_sub_type(m) == LM_MESSAGE_SUB_TYPE_ERROR) { scr_LogPrint(LPRINT_LOGNORM, "Received error IQ message (%s)", bjid); - display_server_error(lm_message_node_get_child(m->node, "error")); + display_server_error(lm_message_node_get_child(m->node, "error"), NULL); return LM_HANDLER_RESULT_REMOVE_MESSAGE; } @@ -347,7 +348,7 @@ // Check for error message if (lm_message_get_sub_type(m) == LM_MESSAGE_SUB_TYPE_ERROR) { scr_LogPrint(LPRINT_LOGNORM, "Received error IQ message (%s)", bjid); - display_server_error(lm_message_node_get_child(m->node, "error")); + display_server_error(lm_message_node_get_child(m->node, "error"), NULL); return LM_HANDLER_RESULT_REMOVE_MESSAGE; } @@ -530,7 +531,7 @@ // Check for error message if (lm_message_get_sub_type(m) == LM_MESSAGE_SUB_TYPE_ERROR) { scr_LogPrint(LPRINT_LOGNORM, "Received error IQ message (%s)", bjid); - display_server_error(lm_message_node_get_child(m->node, "error")); + display_server_error(lm_message_node_get_child(m->node, "error"), NULL); return LM_HANDLER_RESULT_REMOVE_MESSAGE; }