aboutsummaryrefslogtreecommitdiffstats
path: root/protocols/msn
diff options
context:
space:
mode:
authorWilmer van der Gaast <wilmer@gaast.net>2012-11-11 23:32:47 +0000
committerWilmer van der Gaast <wilmer@gaast.net>2012-11-11 23:32:47 +0000
commite132b60e77f395463cf95dc4ee09e96e9658ae35 (patch)
tree24a387ad64eaee17589b61cabaded508477b598f /protocols/msn
parentdd672e2c4d0dcf73a30be3d8f7fc2ec38cb6450e (diff)
Extend keepalive code to time out connections when pings don't get
acknowledged, using this for Twitter streams and MSN so far.
Diffstat (limited to 'protocols/msn')
-rw-r--r--protocols/msn/msn.c1
-rw-r--r--protocols/msn/ns.c4
2 files changed, 5 insertions, 0 deletions
diff --git a/protocols/msn/msn.c b/protocols/msn/msn.c
index 71570ce0..845f9cf8 100644
--- a/protocols/msn/msn.c
+++ b/protocols/msn/msn.c
@@ -52,6 +52,7 @@ static void msn_login( account_t *acc )
struct msn_data *md = g_new0( struct msn_data, 1 );
ic->proto_data = md;
+ ic->flags |= OPT_PONGS | OPT_PONGED;
if( strchr( acc->user, '@' ) == NULL )
{
diff --git a/protocols/msn/ns.c b/protocols/msn/ns.c
index d9a558f9..7acf4654 100644
--- a/protocols/msn/ns.c
+++ b/protocols/msn/ns.c
@@ -576,6 +576,10 @@ static int msn_ns_command( struct msn_handler_data *handler, char **cmd, int num
if( num_parts >= 7 )
handler->msglen = atoi( cmd[6] );
}
+ else if( strcmp( cmd[0], "QNG" ) == 0 )
+ {
+ ic->flags |= OPT_PONGED;
+ }
else if( isdigit( cmd[0][0] ) )
{
int num = atoi( cmd[0] );