changeset 30040:0cc4f8651462

Don't bother sending a direct connection request if the other side doesn't support it. aMSN seems to say that they need MSNC1 to do direct connect.
author Elliott Sales de Andrade <qulogic@pidgin.im>
date Sat, 24 Apr 2010 06:52:06 +0000
parents a97d60c15e25
children 3affd3508612
files libpurple/protocols/msn/slp.c
diffstat 1 files changed, 10 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/libpurple/protocols/msn/slp.c	Sat Apr 24 06:41:52 2010 +0000
+++ b/libpurple/protocols/msn/slp.c	Sat Apr 24 06:52:06 2010 +0000
@@ -729,18 +729,25 @@
 		char *header;
 		MsnSlpMessage *msg;
 		MsnDirectConn *dc;
+		MsnUser *user;
 
 		if (slpcall->slplink->dc != NULL) {
-			/*
-			 * If we already have an established direct connection
+			/* If we already have an established direct connection
 			 * then just start the transfer.
 			 */
 			msn_slpcall_session_init(slpcall);
 			return;
 		}
 
+		user = msn_userlist_find_user(slpcall->slplink->session->userlist,
+		                              slpcall->slplink->remote_user);
+		if (!(user->clientid & 0xF0000000))	{
+			/* Just start a normal SB transfer. */
+			msn_slpcall_session_init(slpcall);
+			return;
+		}
+
 		/* Try direct file transfer by sending a second INVITE */
-
 		dc = msn_dc_new(slpcall);
 		slpcall->branch = rand_guid();