pidgin: c532f1f3: Buddies on both the Allow and Block list...

qulogic at pidgin.im qulogic at pidgin.im
Mon Feb 16 22:10:29 EST 2009


-----------------------------------------------------------------
Revision: c532f1f33308f836950c2354a240bdf0ee0cb820
Ancestor: 5c834052e4d753f55797221444e28137a96ea3b9
Author: qulogic at pidgin.im
Date: 2009-02-17T03:07:10
Branch: im.pidgin.pidgin
URL: http://d.pidgin.im/viewmtn/revision/info/c532f1f33308f836950c2354a240bdf0ee0cb820

Modified files:
        ChangeLog libpurple/protocols/msn/notification.c

ChangeLog: 

Buddies on both the Allow and Block list are now automatically removed from
the Allow list. Users with this problem will now no longer receive an ADL
241 error. The problematic buddy should now appear on the buddy list and
can be removed or unblocked as desired.

Fixes #6702.

-------------- next part --------------
============================================================
--- ChangeLog	5ceb500c365855c737d586a7a95e2fa984d48ce4
+++ ChangeLog	b78503cb75e7dafd8306dfb6ee654034a5d02e51
@@ -47,6 +47,10 @@ version 2.5.5 (??/??/????):
 	* We no longer try to send empty messages.  This could happen when a
 	  message contained only formatting and that formatting was not supported
 	  on MSN.
+	* Buddies on both the Allow and Block list are now automatically
+	  removed from the Allow list.  Users with this problem will now no
+	  longer receive an ADL 241 error.  The problematic buddy should now
+	  appear on the buddy list and can be removed or unblocked as desired.
 
 	XMPP:
 	* Resources using __HOSTNAME__ substitution will now grab only the short
============================================================
--- libpurple/protocols/msn/notification.c	639afb195018bf76bd684d56c17bdcc178c922bb
+++ libpurple/protocols/msn/notification.c	a74a1c4d67ffdb2b7074d9600fe0563176c2fb4e
@@ -623,6 +623,18 @@ msn_notification_dump_contact(MsnSession
 		if (user->passport && !strcmp(user->passport, "messenger at microsoft.com"))
 			continue;
 
+		if ((user->list_op & MSN_LIST_OP_MASK) == (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,"
+			                     "removing from Allow list.\n",
+			                     user->passport);
+			msn_userlist_rem_buddy_from_list(session->userlist, user->passport, MSN_LIST_AL);
+		}
+
 		msn_add_contact_xml(session, adl_node, user->passport,
 			user->list_op & MSN_LIST_OP_MASK, user->networkid);
 


More information about the Commits mailing list