changeset 26816:c26c6d25142d

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.
author Paul Aurich <paul@darkrain42.org>
date Tue, 28 Apr 2009 01:04:14 +0000
parents 6543ecbb0717
children 3912f55a1633
files libpurple/protocols/jabber/pep.c
diffstat 1 files changed, 6 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- 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;