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

Tue, 28 Apr 2009 01:04:14 +0000

author
Paul Aurich <darkrain42@pidgin.im>
date
Tue, 28 Apr 2009 01:04:14 +0000
changeset 26957
36f75a1d52a6
parent 26956
bcea44c3efa1
child 26958
a955bd42f529

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.

libpurple/protocols/jabber/pep.c file | annotate | diff | comparison | revisions
--- a/libpurple/protocols/jabber/pep.c	Mon Apr 27 23:08:29 2009 +0000
+++ b/libpurple/protocols/jabber/pep.c	Tue Apr 28 01:04:14 2009 +0000
@@ -98,7 +98,12 @@
 	/* 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;

mercurial