changeset 13602:57e5d1455ad7

[gaim-migrate @ 15988] This fixes logging in with an ICQ account. It's been broken since I committed my non-blocking I/O changes on Thursday. committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Sun, 09 Apr 2006 23:00:36 +0000
parents 009a1e608419
children 6fa38fadd4f8
files src/protocols/oscar/flap_connection.c src/protocols/oscar/oscar.c
diffstat 2 files changed, 12 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/protocols/oscar/flap_connection.c	Sun Apr 09 22:35:50 2006 +0000
+++ b/src/protocols/oscar/flap_connection.c	Sun Apr 09 23:00:36 2006 +0000
@@ -556,8 +556,7 @@
 		return;
 	}
 
-	/* Used only by the older login protocol */
-	/* XXX remove this special case? */
+	/* An ICQ account is logging in */
 	if (conn->type == SNAC_FAMILY_AUTH)
 	{
 		parse_fakesnac(od, conn, frame, 0x0017, 0x0003);
--- a/src/protocols/oscar/oscar.c	Sun Apr 09 22:35:50 2006 +0000
+++ b/src/protocols/oscar/oscar.c	Sun Apr 09 23:00:36 2006 +0000
@@ -941,6 +941,7 @@
 	NewFlapConnectionData *new_conn_data;
 	GaimConnection *gc;
 	OscarData *od;
+	GaimAccount *account;
 	FlapConnection *conn;
 
 	new_conn_data = data;
@@ -955,6 +956,7 @@
 	}
 
 	od = gc->proto_data;
+	account = gaim_connection_get_account(gc);
 	conn = new_conn_data->conn;
 	conn->fd = source;
 
@@ -977,7 +979,15 @@
 	conn->watcher_incoming = gaim_input_add(conn->fd,
 			GAIM_INPUT_READ, flap_connection_recv_cb, conn);
 	if (new_conn_data->cookie == NULL)
-		flap_connection_send_version(od, conn);
+	{
+		if (!(conn->type == SNAC_FAMILY_AUTH) && (!aim_sn_is_icq(od->sn)))
+			/*
+			 * We don't send this when authenticating an ICQ account
+			 * because for some reason ICQ is still using the
+			 * assy/insecure authentication procedure.
+			 */
+			flap_connection_send_version(od, conn);
+	}
 	else
 		flap_connection_send_version_with_cookie(od, conn,
 				new_conn_data->cookielen, new_conn_data->cookie);