aboutsummaryrefslogtreecommitdiffstats
path: root/protocols
diff options
context:
space:
mode:
authorWilmer van der Gaast <wilmer@gaast.net>2006-05-26 15:06:20 +0200
committerWilmer van der Gaast <wilmer@gaast.net>2006-05-26 15:06:20 +0200
commit60487448f3d0f3f7bb4710716e0ee257ee2edf16 (patch)
tree6a2f36025cd1f501587042b0a06b2b234ded0231 /protocols
parent7bfd574a6dc85b365f4a7a397ad5ca681faeb0e4 (diff)
Added SB_FATAL to MSN errorcode 911 so BitlBee won't disconnect from MSN
completely when a switchboard connection sends that error code.
Diffstat (limited to 'protocols')
-rw-r--r--protocols/msn/sb.c10
-rw-r--r--protocols/msn/tables.c2
2 files changed, 7 insertions, 5 deletions
diff --git a/protocols/msn/sb.c b/protocols/msn/sb.c
index 234be1d6..34b0a30a 100644
--- a/protocols/msn/sb.c
+++ b/protocols/msn/sb.c
@@ -522,14 +522,14 @@ static int msn_sb_command( gpointer data, char **cmd, int num_parts )
if( err->flags & STATUS_SB_FATAL )
{
msn_sb_destroy( sb );
- return( 0 );
+ return 0;
}
- if( err->flags & STATUS_FATAL )
+ else if( err->flags & STATUS_FATAL )
{
signoff( gc );
- return( 0 );
+ return 0;
}
- if( err->flags & STATUS_SB_IM_SPARE )
+ else if( err->flags & STATUS_SB_IM_SPARE )
{
if( sb->who )
{
@@ -552,6 +552,8 @@ static int msn_sb_command( gpointer data, char **cmd, int num_parts )
g_slist_free( sb->msgq );
sb->msgq = NULL;
}
+
+ /* Do NOT return 0 here, we want to keep this sb. */
}
}
else
diff --git a/protocols/msn/tables.c b/protocols/msn/tables.c
index f8e98350..5ba9ea73 100644
--- a/protocols/msn/tables.c
+++ b/protocols/msn/tables.c
@@ -126,7 +126,7 @@ const struct msn_status_code msn_status_code_list[] =
{ 800, "Changing too rapidly", 0 },
{ 910, "Server is busy", STATUS_FATAL },
- { 911, "Authentication failed", STATUS_FATAL },
+ { 911, "Authentication failed", STATUS_SB_FATAL | STATUS_FATAL },
{ 912, "Server is busy", STATUS_FATAL },
{ 913, "Not allowed when hiding", 0 },
{ 914, "Server is unavailable", STATUS_FATAL },