cpw.qulogic.msn: 06c99221: Allow forcing an MSN HTTP connection to ...

qulogic at pidgin.im qulogic at pidgin.im
Mon Jun 23 01:56:29 EDT 2008


-----------------------------------------------------------------
Revision: 06c99221eea58f02d027ad50a5439987d725997b
Ancestor: df907524b938456b63be195f20232872a1543a64
Author: qulogic at pidgin.im
Date: 2008-06-23T04:10:46
Branch: im.pidgin.cpw.qulogic.msn
URL: http://d.pidgin.im/viewmtn/revision/info/06c99221eea58f02d027ad50a5439987d725997b

Modified files:
        libpurple/protocols/msn/notification.c
        libpurple/protocols/msn/servconn.c
        libpurple/protocols/msn/servconn.h
        libpurple/protocols/msn/switchboard.c

ChangeLog: 

Allow forcing an MSN HTTP connection to connect to a new server. This 
is important for initial connections that receive an XFR for the NS, 
since it seems that happens all the time now.

Fixes #6107.

-------------- next part --------------
============================================================
--- libpurple/protocols/msn/notification.c	86cdf9539d9842b93ae731f363557adef3bdd5a2
+++ libpurple/protocols/msn/notification.c	9ced204d9c55731f2747c5314d7399b311333b30
@@ -132,7 +132,7 @@ msn_notification_connect(MsnNotification
 	servconn = notification->servconn;
 
 	msn_servconn_set_connect_cb(servconn, connect_cb);
-	notification->in_use = msn_servconn_connect(servconn, host, port);
+	notification->in_use = msn_servconn_connect(servconn, host, port, TRUE);
 
 	return notification->in_use;
 }
============================================================
--- libpurple/protocols/msn/servconn.c	9de2f803241bc801535bc91d915f6b739c7258e9
+++ libpurple/protocols/msn/servconn.c	213ba8ae343386025233c6055f5cc29edc93b087
@@ -203,7 +203,7 @@ gboolean
 }
 
 gboolean
-msn_servconn_connect(MsnServConn *servconn, const char *host, int port)
+msn_servconn_connect(MsnServConn *servconn, const char *host, int port, gboolean force)
 {
 	MsnSession *session;
 
@@ -223,7 +223,7 @@ msn_servconn_connect(MsnServConn *servco
 	{
 		/* HTTP Connection. */
 
-		if (!servconn->httpconn->connected)
+		if (!servconn->httpconn->connected || force)
 			if (!msn_httpconn_connect(servconn->httpconn, host, port))
 				return FALSE;
 
============================================================
--- libpurple/protocols/msn/servconn.h	c66a3b2303fdb8f755130d13132b33111e160f73
+++ libpurple/protocols/msn/servconn.h	ccee459310165a18eded24ac0c9d800380cac03b
@@ -115,8 +115,10 @@ void msn_servconn_destroy(MsnServConn *s
  * @param servconn The connection.
  * @param host The host.
  * @param port The port.
+ * @param force Force this servconn to connect to a new server.
  */
-gboolean msn_servconn_connect(MsnServConn *servconn, const char *host, int port);
+gboolean msn_servconn_connect(MsnServConn *servconn, const char *host, int port,
+                              gboolean force);
 
 /**
  * Disconnects.
============================================================
--- libpurple/protocols/msn/switchboard.c	6620958d1eb5640e6cfda4f8f074da91ea4a4c18
+++ libpurple/protocols/msn/switchboard.c	bbb567925c8db48b823cf3ca1fd595aab149b68b
@@ -1082,7 +1082,7 @@ msn_switchboard_connect(MsnSwitchBoard *
 	msn_servconn_set_connect_cb(swboard->servconn, connect_cb);
 	msn_servconn_set_disconnect_cb(swboard->servconn, disconnect_cb);
 
-	return msn_servconn_connect(swboard->servconn, host, port);
+	return msn_servconn_connect(swboard->servconn, host, port, FALSE);
 }
 
 void


More information about the Commits mailing list