# HG changeset patch # User Mark Doliner # Date 1144623636 0 # Node ID 57e5d1455ad7f33d9b8884abcee7293387b38b5a # Parent 009a1e60841926ceda8a56b286343e2263e52646 [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 diff -r 009a1e608419 -r 57e5d1455ad7 src/protocols/oscar/flap_connection.c --- 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); diff -r 009a1e608419 -r 57e5d1455ad7 src/protocols/oscar/oscar.c --- 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);