diff options
| author | Wilmer van der Gaast <wilmer@gaast.net> | 2010-11-20 11:31:39 +0000 | 
|---|---|---|
| committer | Wilmer van der Gaast <wilmer@gaast.net> | 2010-11-20 11:31:39 +0000 | 
| commit | 4eb75b261750c4ecba83946aae83c914db938c9d (patch) | |
| tree | 9cd6ee17627ae58f515a14c710f99319da44f017 | |
| parent | 10685d3b5ff450123b22b0a665ededbf35a18e89 (diff) | |
Sometimes for whatever reasons MSN adds all contacts to both the allow-
and the block list. Working around this.
| -rw-r--r-- | protocols/msn/soap.c | 15 | 
1 files changed, 15 insertions, 0 deletions
| diff --git a/protocols/msn/soap.c b/protocols/msn/soap.c index 7024bbaa..026ac3b8 100644 --- a/protocols/msn/soap.c +++ b/protocols/msn/soap.c @@ -871,15 +871,30 @@ static const struct xt_handler_entry msn_soap_addressbook_parser[] = {  static int msn_soap_addressbook_handle_response( struct msn_soap_req_data *soap_req )  {  	GSList *l; +	int wtf = 0;  	for( l = soap_req->ic->bee->users; l; l = l->next )  	{  		struct bee_user *bu = l->data; +		struct msn_buddy_data *bd = bu->data;  		if( bu->ic == soap_req->ic )  			msn_buddy_ask( bu ); +		 +		if( ( bd->flags & ( MSN_BUDDY_AL | MSN_BUDDY_BL ) ) == +		                  ( MSN_BUDDY_AL | MSN_BUDDY_BL ) ) +		{ +			bd->flags &= ~MSN_BUDDY_BL; +			wtf++; +		}  	} +	if( wtf ) +		imcb_log( soap_req->ic, "Warning: %d contacts were in both your " +		          "block and your allow list. Assuming they're all " +		          "allowed. Use the official WLM client once to fix " +		          "this.", wtf ); +	  	msn_auth_got_contact_list( soap_req->ic );  	return MSN_SOAP_OK; | 
