aboutsummaryrefslogtreecommitdiffstats
path: root/protocols/msn/ns.c
diff options
context:
space:
mode:
authorWilmer van der Gaast <wilmer@gaast.net>2010-11-13 13:01:40 +0000
committerWilmer van der Gaast <wilmer@gaast.net>2010-11-13 13:01:40 +0000
commited0589ce0af33a8e199b6bc75f55e45904c85d1c (patch)
treeab1715fca6a3e01bcf0795fbcb3351d09adb03a5 /protocols/msn/ns.c
parent70d779590840164e3bda1c183ade00872d9786c2 (diff)
Fixed issue with logging in to unverified MSN accounts.
Diffstat (limited to 'protocols/msn/ns.c')
-rw-r--r--protocols/msn/ns.c17
1 files changed, 14 insertions, 3 deletions
diff --git a/protocols/msn/ns.c b/protocols/msn/ns.c
index dd9bff18..604e2f4e 100644
--- a/protocols/msn/ns.c
+++ b/protocols/msn/ns.c
@@ -277,6 +277,12 @@ static int msn_ns_command( struct msn_handler_data *handler, char **cmd, int num
}
else if( strcmp( cmd[2], "OK" ) == 0 )
{
+ /* If the number after the handle is 0, the e-mail
+ address is unverified, which means we can't change
+ the display name. */
+ if( cmd[4][0] == '0' )
+ md->flags |= MSN_EMAIL_UNVERIFIED;
+
imcb_log( ic, "Authenticated, getting buddy list" );
msn_soap_memlist_request( ic );
}
@@ -869,7 +875,12 @@ int msn_ns_finish_login( struct im_connection *ic )
md->flags |= MSN_DONE_ADL;
if( ( md->flags & MSN_DONE_ADL ) && ( md->flags & MSN_GOT_PROFILE ) )
- return msn_ns_set_display_name( ic, set_getstr( &ic->acc->set, "display_name" ) );
- else
- return 1;
+ {
+ if( md->flags & MSN_EMAIL_UNVERIFIED )
+ imcb_connected( ic );
+ else
+ return msn_ns_set_display_name( ic, set_getstr( &ic->acc->set, "display_name" ) );
+ }
+
+ return 1;
}