diff libpurple/protocols/oscar/family_auth.c @ 23311:f1a0258b44f4

Added paramater to aim_send_login() to allow control over whether we want multiple logins or not per AIM connection. If TRUE, we have the current behavior, in which the AIM server prompts the user as to what to do. If FALSE, existing logins are disconnected as we connect. We pass OSCAR_DEFAULT_ALLOW_MULTIPLE_LOGINS, which is TRUE.
author Evan Schoenberg <evan.s@dreskin.net>
date Sat, 07 Jun 2008 15:41:05 +0000
parents 2fd32731ff57
children 9c0ee2491ed1
line wrap: on
line diff
--- a/libpurple/protocols/oscar/family_auth.c	Sat Jun 07 14:26:41 2008 +0000
+++ b/libpurple/protocols/oscar/family_auth.c	Sat Jun 07 15:41:05 2008 +0000
@@ -200,9 +200,13 @@
  *        usually happens for AOL accounts.  We are told that we
  *        should truncate it if the 0x0017/0x0007 SNAC contains
  *        a TLV of type 0x0026 with data 0x0000.
+ * @param allow_multiple_logins Allow multiple logins? If TRUE, the AIM
+ *        server will prompt the user when multiple logins occur. If
+ *        FALSE, existing connections (on other clients) will be
+ *        disconnected automatically as we connect.
  */
 int
-aim_send_login(OscarData *od, FlapConnection *conn, const char *sn, const char *password, gboolean truncate_pass, ClientInfo *ci, const char *key)
+aim_send_login(OscarData *od, FlapConnection *conn, const char *sn, const char *password, gboolean truncate_pass, ClientInfo *ci, const char *key, gboolean allow_multiple_logins)
 {
 	FlapFrame *frame;
 	GSList *tlvlist = NULL;
@@ -256,7 +260,7 @@
 	 * If set, old-fashioned buddy lists will not work. You will need
 	 * to use SSI.
 	 */
-	aim_tlvlist_add_8(&tlvlist, 0x004a, 0x01);
+	aim_tlvlist_add_8(&tlvlist, 0x004a, (allow_multiple_logins ? 0x01 : 0x02));
 
 	aim_tlvlist_write(&frame->data, &tlvlist);