aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordequis <dx@dxzone.com.ar>2014-11-17 02:57:22 -0300
committerdequis <dx@dxzone.com.ar>2014-11-17 02:57:22 -0300
commitaa6bcd8adcf640ee4c910150d6a3034531fd087d (patch)
treefb92e5ae5c8cf9ed790a7594fd8ad80a2c912235
parent3325df779173020b789f7d4006ae109a75a2b9d2 (diff)
msn: add 'allow' role if contact has neither block nor allow
This workarounds the problems of showing as offline to other contacts, by sending ADL with role 3 (FL+AL) instead of just 1 (FL, no AL or BL)
-rw-r--r--protocols/msn/soap.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/protocols/msn/soap.c b/protocols/msn/soap.c
index b994172b..35299b28 100644
--- a/protocols/msn/soap.c
+++ b/protocols/msn/soap.c
@@ -759,9 +759,17 @@ static int msn_soap_addressbook_handle_response( struct msn_soap_req_data *soap_
if( ( bd->flags & ( MSN_BUDDY_AL | MSN_BUDDY_BL ) ) ==
( MSN_BUDDY_AL | MSN_BUDDY_BL ) )
{
+ /* both allow and block, delete block, add wtf */
bd->flags &= ~MSN_BUDDY_BL;
wtf++;
}
+
+
+ if( ( bd->flags & ( MSN_BUDDY_AL | MSN_BUDDY_BL ) ) == 0 )
+ {
+ /* neither allow or block, add allow */
+ bd->flags |= MSN_BUDDY_AL;
+ }
}
}