diff libpurple/protocols/msn/notification.c @ 25867:7ea04b53f553

Pluck the MSN bug fixes. *** Plucked rev e3608f6f (qulogic@pidgin.im): Ignore the Forward List status bit when checking if user is on the Allow and Block lists at the same time. References #6702. *** Plucked rev 99d00e33 (qulogic@pidgin.im): For federated buddies, we should set <Member>/<Type> to Email, and use an <Email> node instead of <PassportName>. Along with that, we shouldn't set any <Annotations> to specify it's a federated buddy either, since the MSN server will complain about it. Fixes #7939. *** Plucked rev bf71505b (qulogic@pidgin.im): Fix a faulty condition that would result in an attempt to add most of your email-only contacts to your buddy and/or privacy list. This was temporary, but resulted in a lot of extra traffic during login. References #8579.
author Sadrul Habib Chowdhury <imadil@gmail.com>
date Wed, 29 Apr 2009 18:24:34 +0000
parents d51b8647d43c
children 1a1765a87336
line wrap: on
line diff
--- a/libpurple/protocols/msn/notification.c	Wed Apr 29 18:19:22 2009 +0000
+++ b/libpurple/protocols/msn/notification.c	Wed Apr 29 18:24:34 2009 +0000
@@ -665,13 +665,14 @@
 		if (user->passport && !strcmp(user->passport, "messenger@microsoft.com"))
 			continue;
 
-		if ((user->list_op & MSN_LIST_OP_MASK) == (MSN_LIST_AL_OP | MSN_LIST_BL_OP)) {
+		if ((user->list_op & MSN_LIST_OP_MASK & ~MSN_LIST_FL_OP)
+		 == (MSN_LIST_AL_OP | MSN_LIST_BL_OP)) {
 			/* The server will complain if we send it a user on both the
 			   Allow and Block lists. So assume they're on the Block list
 			   and remove them from the Allow list in the membership lists to
 			   stop this from happening again. */
 			purple_debug_warning("msn",
-			                     "User %s is on both Allow and Block list,"
+			                     "User %s is on both Allow and Block list; "
 			                     "removing from Allow list.\n",
 			                     user->passport);
 			msn_userlist_rem_buddy_from_list(session->userlist, user->passport, MSN_LIST_AL);