pidgin: fbb4fe5d: Don't try to process PEP events if it's ...

darkrain42 at pidgin.im darkrain42 at pidgin.im
Tue Apr 28 17:22:16 EDT 2009


-----------------------------------------------------------------
Revision: fbb4fe5da444943eecc76bdcd6c8ba967790b6c8
Ancestor: a2f9670f976809bcdbf2ae07d587858efb4717c2
Author: darkrain42 at pidgin.im
Date: 2009-04-28T01:04:14
Branch: im.pidgin.pidgin
URL: http://d.pidgin.im/viewmtn/revision/info/fbb4fe5da444943eecc76bdcd6c8ba967790b6c8

Modified files:
        libpurple/protocols/jabber/pep.c

ChangeLog: 

Don't try to process PEP events if it's not <message type='event'/>

I don't know why, but my personal account was receiving about 15
error responses from my Google Talk account's previously connected
resources (service-unavailable errors) and Pidgin was treating those as
legitimate notifications of events from the remote end, which is wrong.

-------------- next part --------------
============================================================
--- libpurple/protocols/jabber/pep.c	7b9ecacdebc791d858fbc853cd4f0dde37760ffa
+++ libpurple/protocols/jabber/pep.c	86a8ca1adfb683a03d8cb17fe764d75a128bfe67
@@ -98,8 +98,13 @@ void jabber_handle_event(JabberMessage *
 	/* this may be called even when the own server doesn't support pep! */
 	JabberPEPHandler *jph;
 	GList *itemslist;
-	char *jid = jabber_get_bare_jid(jm->from);
+	char *jid;
 
+	if (jm->type != JABBER_MESSAGE_EVENT)
+		return;
+
+	jid = jabber_get_bare_jid(jm->from);
+
 	for(itemslist = jm->eventitems; itemslist; itemslist = itemslist->next) {
 		xmlnode *items = (xmlnode*)itemslist->data;
 		const char *nodename = xmlnode_get_attrib(items,"node");


More information about the Commits mailing list