Mercurial > pidgin
diff libpurple/protocols/msn/notification.c @ 25477:9398f0f2cdc6
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.
author | Elliott Sales de Andrade <qulogic@pidgin.im> |
---|---|
date | Tue, 17 Feb 2009 03:07:10 +0000 |
parents | 11458e8584c2 |
children | fd5eedf131b4 |
line wrap: on
line diff
--- a/libpurple/protocols/msn/notification.c Tue Feb 17 00:27:34 2009 +0000 +++ b/libpurple/protocols/msn/notification.c Tue Feb 17 03:07:10 2009 +0000 @@ -623,6 +623,18 @@ 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)) { + /* 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);