changeset 1800:d2747442918a

When displaying a server error, show the sender JID
author Mikael Berthe <mikael@lilotux.net>
date Sat, 20 Mar 2010 15:27:26 +0100
parents e73cd9377a4e
children 07e73049f7c5
files mcabber/mcabber/xmpp.c mcabber/mcabber/xmpp_helper.c mcabber/mcabber/xmpp_helper.h mcabber/mcabber/xmpp_iq.c mcabber/mcabber/xmpp_iqrequest.c
diffstat 5 files changed, 24 insertions(+), 15 deletions(-) [+]
line wrap: on
line diff
--- 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;
   }