Mercurial > pidgin
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);