changeset 22245:31863f2d7c3c

Our Yahoo! protocol has this crappy implementation where it tries to do something clever with the permit/deny setting. Here's how it works: * Yahoo! has only a "deny" list * libpurple keeps a copy of this "deny" list * If you change your permdeny setting to "allow all" or "permit only these users" then the Yahoo! PRPL unblocks everyone on your deny list * If you change your permdeny setting to "allow people in my buddylist" or "block this people below" then the Yahoo! PRPL re-blocks the people in your deny list. This commit changes that behavior slightly. If you set your permdeny setting to "permit only these users" or "block everyone" then the Yahoo! PRPL will now re-block the people in your deny list.
author Mark Doliner <mark@kingant.net>
date Fri, 01 Feb 2008 02:53:51 +0000
parents b4612f57003b
children ee80c4ab91ee 96934545f5be
files libpurple/protocols/yahoo/yahoo.c
diffstat 1 files changed, 2 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/libpurple/protocols/yahoo/yahoo.c	Fri Feb 01 02:41:35 2008 +0000
+++ b/libpurple/protocols/yahoo/yahoo.c	Fri Feb 01 02:53:51 2008 +0000
@@ -3950,20 +3950,17 @@
 	switch (account->perm_deny)
 	{
 		case PURPLE_PRIVACY_ALLOW_ALL:
-		case PURPLE_PRIVACY_ALLOW_USERS:
 			for (deny = account->deny; deny; deny = deny->next)
 				yahoo_rem_deny(gc, deny->data);
 			break;
 
 		case PURPLE_PRIVACY_ALLOW_BUDDYLIST:
+		case PURPLE_PRIVACY_ALLOW_USERS:
 		case PURPLE_PRIVACY_DENY_USERS:
+		case PURPLE_PRIVACY_DENY_ALL:
 			for (deny = account->deny; deny; deny = deny->next)
 				yahoo_add_deny(gc, deny->data);
 			break;
-
-		case PURPLE_PRIVACY_DENY_ALL:
-		default:
-			break;
 	}
 }