libpurple/protocols/jabber/message.c

branch
soc.2007.xmpp
changeset 17823
2ca25e7e65dd
parent 17822
1a183f3fa9d7
child 17824
52683dfc1f7d
--- a/libpurple/protocols/jabber/message.c	Fri Jun 29 21:44:42 2007 +0000
+++ b/libpurple/protocols/jabber/message.c	Tue Jul 03 11:04:50 2007 +0000
@@ -284,14 +284,19 @@
 	PurpleConversation *c;
 	char *username, *str;
 	
+	/* Delayed buzz MUST NOT be accepted */
+	if(jm->delayed)
+		return;
+	
 	account = purple_connection_get_account(jm->js->gc);
-	c = purple_conversation_new(PURPLE_CONV_TYPE_IM, account, jm->from);
 	
 	if ((buddy = purple_find_buddy(account, jm->from)) != NULL)
 		username = g_markup_escape_text(purple_buddy_get_alias(buddy), -1);
 	else
-		username = g_markup_escape_text(jm->from, -1);
-	
+		return; /* Do not accept buzzes from unknown people */
+
+	c = purple_conversation_new(PURPLE_CONV_TYPE_IM, account, jm->from);
+
 	str = g_strdup_printf(_("%s just sent you a Buzz!"), username);
 	
 	purple_conversation_write(c, NULL, str, PURPLE_MESSAGE_SYSTEM|PURPLE_MESSAGE_NOTIFY, time(NULL));
@@ -384,7 +389,7 @@
 			jm->type = JABBER_MESSAGE_EVENT;
 			for(items = xmlnode_get_child(child,"items"); items; items = items->next)
 				jm->eventitems = g_list_append(jm->eventitems, items);
-		} else if(!strcmp(child->name, "buzz") && !strcmp(xmlns,"http://pidgin.im/xmpp/buzz")) {
+		} else if(!strcmp(child->name, "attention") && !strcmp(xmlns,"http://pidgin.im/libpurple/xmpp/attention")) {
 			jm->hasBuzz = TRUE;
 		} else if(!strcmp(child->name, "error")) {
 			const char *code = xmlnode_get_attrib(child, "code");

mercurial