comparison libpurple/protocols/msn/notification.c @ 25111: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
comparison
equal deleted inserted replaced
25110:b096f7fb6899 25111:9398f0f2cdc6
620 if (!(user->list_op & MSN_LIST_OP_MASK)) 620 if (!(user->list_op & MSN_LIST_OP_MASK))
621 continue; 621 continue;
622 622
623 if (user->passport && !strcmp(user->passport, "messenger@microsoft.com")) 623 if (user->passport && !strcmp(user->passport, "messenger@microsoft.com"))
624 continue; 624 continue;
625
626 if ((user->list_op & MSN_LIST_OP_MASK) == (MSN_LIST_AL_OP | MSN_LIST_BL_OP)) {
627 /* The server will complain if we send it a user on both the
628 Allow and Block lists. So assume they're on the Block list
629 and remove them from the Allow list in the membership lists to
630 stop this from happening again. */
631 purple_debug_warning("msn",
632 "User %s is on both Allow and Block list,"
633 "removing from Allow list.\n",
634 user->passport);
635 msn_userlist_rem_buddy_from_list(session->userlist, user->passport, MSN_LIST_AL);
636 }
625 637
626 msn_add_contact_xml(session, adl_node, user->passport, 638 msn_add_contact_xml(session, adl_node, user->passport,
627 user->list_op & MSN_LIST_OP_MASK, user->networkid); 639 user->list_op & MSN_LIST_OP_MASK, user->networkid);
628 640
629 /* each ADL command may contain up to 150 contacts */ 641 /* each ADL command may contain up to 150 contacts */