pidgin: 06b53ea8: oscar: Fix 'Allow multiple simultaenous ...

darkrain42 at pidgin.im darkrain42 at pidgin.im
Wed Nov 4 00:10:55 EST 2009


-----------------------------------------------------------------
Revision: 06b53ea832679e0dfb2e6d5d0c1b69e61f1bd38b
Ancestor: 8fabd9a1bc4e9b709c6854c06ec1526cc8fcb6f9
Author: darkrain42 at pidgin.im
Date: 2009-11-04T05:09:04
Branch: im.pidgin.pidgin
URL: http://d.pidgin.im/viewmtn/revision/info/06b53ea832679e0dfb2e6d5d0c1b69e61f1bd38b

Modified files:
        ChangeLog libpurple/protocols/oscar/flap_connection.c
        libpurple/protocols/oscar/oscar.c
        libpurple/protocols/oscar/oscar.h

ChangeLog: 

oscar: Fix 'Allow multiple simultaenous logins' with clientLogin.

-------------- next part --------------
============================================================
--- ChangeLog	2e23f99e9c3381fbee07b9b12e4504a6bcf7d7f4
+++ ChangeLog	ba34bb06211a5799a43cb14dbbff213624b8e25e
@@ -14,6 +14,8 @@ version 2.6.4 (??/??/20??):
 	AIM and ICQ:
 	* Better rate limit calculations and other improvements.  (Aman Gupta)
 	* More detailed error messages when messages fail to send.  (Aman Gupta)
+	* The simultaneous login account option is respected when using
+	  the clientLogin authentication method.
 
 	MSN:
 	* Don't forget display names for buddies.
============================================================
--- libpurple/protocols/oscar/flap_connection.c	697f15a4cb37bfad606470d2deb95875ffb98488
+++ libpurple/protocols/oscar/flap_connection.c	80e6cd2d0f781321a2371d6e7d32d8db5ce43404
@@ -73,7 +73,7 @@ void
 }
 
 void
-flap_connection_send_version_with_cookie_and_clientinfo(OscarData *od, FlapConnection *conn, guint16 length, const guint8 *chipsahoy, ClientInfo *ci)
+flap_connection_send_version_with_cookie_and_clientinfo(OscarData *od, FlapConnection *conn, guint16 length, const guint8 *chipsahoy, ClientInfo *ci, gboolean allow_multiple_logins)
 {
 	FlapFrame *frame;
 	GSList *tlvlist = NULL;
@@ -94,7 +94,7 @@ flap_connection_send_version_with_cookie
 	aim_tlvlist_add_16(&tlvlist, 0x0018, (guint16)ci->minor);
 	aim_tlvlist_add_16(&tlvlist, 0x0019, (guint16)ci->point);
 	aim_tlvlist_add_16(&tlvlist, 0x001a, (guint16)ci->build);
-	aim_tlvlist_add_8(&tlvlist, 0x004a, 0x01);
+	aim_tlvlist_add_8(&tlvlist, 0x004a, (allow_multiple_logins ? 0x01 : 0x03));
 
 	aim_tlvlist_write(&frame->data, &tlvlist);
 
============================================================
--- libpurple/protocols/oscar/oscar.c	309aed81ec9a1f50cc93a88061bd2d715a56e924
+++ libpurple/protocols/oscar/oscar.c	74e9ab37a96ec209cbe34457b99295a02cd5fd78
@@ -1188,7 +1188,8 @@ connection_common_established_cb(FlapCon
 			ClientInfo icqinfo = CLIENTINFO_PURPLE_ICQ;
 			flap_connection_send_version_with_cookie_and_clientinfo(od,
 					conn, conn->cookielen, conn->cookie,
-					od->icq ? &icqinfo : &aiminfo);
+					od->icq ? &icqinfo : &aiminfo,
+					purple_account_get_bool(account, "allow_multiple_logins", OSCAR_DEFAULT_ALLOW_MULTIPLE_LOGINS));
 		} else {
 			flap_connection_send_version_with_cookie(od, conn,
 					conn->cookielen, conn->cookie);
============================================================
--- libpurple/protocols/oscar/oscar.h	2a0281f7f7f03445e21af8d4f6e66c05edfffe42
+++ libpurple/protocols/oscar/oscar.h	2b4285381bda76591a103336f703d7dce40b43ec
@@ -661,7 +661,7 @@ void flap_connection_send_version_with_c
 void flap_connection_send(FlapConnection *conn, FlapFrame *frame);
 void flap_connection_send_version(OscarData *od, FlapConnection *conn);
 void flap_connection_send_version_with_cookie(OscarData *od, FlapConnection *conn, guint16 length, const guint8 *chipsahoy);
-void flap_connection_send_version_with_cookie_and_clientinfo(OscarData *od, FlapConnection *conn, guint16 length, const guint8 *chipsahoy, ClientInfo *ci);
+void flap_connection_send_version_with_cookie_and_clientinfo(OscarData *od, FlapConnection *conn, guint16 length, const guint8 *chipsahoy, ClientInfo *ci, gboolean allow_multiple_login);
 void flap_connection_send_snac(OscarData *od, FlapConnection *conn, guint16 family, const guint16 subtype, guint16 flags, aim_snacid_t snacid, ByteStream *data);
 void flap_connection_send_snac_with_priority(OscarData *od, FlapConnection *conn, guint16 family, const guint16 subtype, guint16 flags, aim_snacid_t snacid, ByteStream *data, gboolean high_priority);
 void flap_connection_send_keepalive(OscarData *od, FlapConnection *conn);


More information about the Commits mailing list