comparison libpurple/protocols/oscar/flap_connection.c @ 28872:4575d8daba12

oscar: Fix 'Allow multiple simultaenous logins' with clientLogin.
author Paul Aurich <paul@darkrain42.org>
date Wed, 04 Nov 2009 05:09:04 +0000
parents 45583f271c02
children 89bece95a522
comparison
equal deleted inserted replaced
28871:4549c3b5a0b3 28872:4575d8daba12
71 71
72 flap_connection_send(conn, frame); 72 flap_connection_send(conn, frame);
73 } 73 }
74 74
75 void 75 void
76 flap_connection_send_version_with_cookie_and_clientinfo(OscarData *od, FlapConnection *conn, guint16 length, const guint8 *chipsahoy, ClientInfo *ci) 76 flap_connection_send_version_with_cookie_and_clientinfo(OscarData *od, FlapConnection *conn, guint16 length, const guint8 *chipsahoy, ClientInfo *ci, gboolean allow_multiple_logins)
77 { 77 {
78 FlapFrame *frame; 78 FlapFrame *frame;
79 GSList *tlvlist = NULL; 79 GSList *tlvlist = NULL;
80 80
81 frame = flap_frame_new(od, 0x01, 1152 + length); 81 frame = flap_frame_new(od, 0x01, 1152 + length);
92 } 92 }
93 aim_tlvlist_add_16(&tlvlist, 0x0017, (guint16)ci->major); 93 aim_tlvlist_add_16(&tlvlist, 0x0017, (guint16)ci->major);
94 aim_tlvlist_add_16(&tlvlist, 0x0018, (guint16)ci->minor); 94 aim_tlvlist_add_16(&tlvlist, 0x0018, (guint16)ci->minor);
95 aim_tlvlist_add_16(&tlvlist, 0x0019, (guint16)ci->point); 95 aim_tlvlist_add_16(&tlvlist, 0x0019, (guint16)ci->point);
96 aim_tlvlist_add_16(&tlvlist, 0x001a, (guint16)ci->build); 96 aim_tlvlist_add_16(&tlvlist, 0x001a, (guint16)ci->build);
97 aim_tlvlist_add_8(&tlvlist, 0x004a, 0x01); 97 aim_tlvlist_add_8(&tlvlist, 0x004a, (allow_multiple_logins ? 0x01 : 0x03));
98 98
99 aim_tlvlist_write(&frame->data, &tlvlist); 99 aim_tlvlist_write(&frame->data, &tlvlist);
100 100
101 aim_tlvlist_free(tlvlist); 101 aim_tlvlist_free(tlvlist);
102 102