--- 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 <conflict/> 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;
}
--- 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)) {
--- 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);
--- 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;
}
--- 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;
}