mcabber/mcabber/xmpp_iq.c
changeset 2290 71ec41732035
parent 2283 6e1ead98930d
child 2291 0d350e979bde
equal deleted inserted replaced
2289:a63814f2e4c8 2290:71ec41732035
   583   guint roster_type;
   583   guint roster_type;
   584 
   584 
   585   const gchar *from = lm_message_get_from(m);
   585   const gchar *from = lm_message_get_from(m);
   586 
   586 
   587   if (from) {
   587   if (from) {
   588     gchar *self_bjid = jidtodisp(lm_connection_get_jid(c));
   588     const gchar *self_jid = lm_connection_get_jid(c);
   589     gchar *servername = get_servername(self_bjid, "");
   589     gchar *servername = get_servername(self_jid, "");
   590     if ((!jid_equal(self_bjid, from)) &&
   590     if ((!jid_equal(self_jid, from)) &&
   591        (!servername || strcasecmp(from, servername))) {
   591        (!servername || strcasecmp(from, servername))) {
   592       scr_LogPrint(LPRINT_LOGNORM, "Received invalid roster IQ request");
   592       scr_LogPrint(LPRINT_LOGNORM, "Received invalid roster IQ request");
   593       g_free(self_bjid);
   593       g_free(servername);
   594       return LM_HANDLER_RESULT_REMOVE_MESSAGE;
   594       return LM_HANDLER_RESULT_REMOVE_MESSAGE;
   595     }
   595     }
   596     g_free(self_bjid);
   596     g_free(servername);
   597   }
   597   }
   598 
   598 
   599   y = lm_message_node_find_child(lm_message_node_find_xmlns(m->node, NS_ROSTER),
   599   y = lm_message_node_find_child(lm_message_node_find_xmlns(m->node, NS_ROSTER),
   600                                  "item");
   600                                  "item");
   601   for ( ; y; y = y->next) {
   601   for ( ; y; y = y->next) {