adium.1-4: 5c274208: AIM SSL race condition fix:
evands at pidgin.im
evands at pidgin.im
Sat Oct 30 15:56:16 EDT 2010
----------------------------------------------------------------------
Revision: 5c274208ba916bb2448a0bb65903bcaf7812c71b
Parent: ccaede6e1d7fe663a7b8e12a5107f1ff62cf8c0f
Author: evands at pidgin.im
Date: 10/30/10 15:50:38
Branch: im.pidgin.adium.1-4
URL: http://d.pidgin.im/viewmtn/revision/info/5c274208ba916bb2448a0bb65903bcaf7812c71b
Changelog:
AIM SSL race condition fix:
applied changes from 9484d318c55139eed1c1919a2e793af4bab3b9e5
through 904144db35079f8cc320a0380de5c1a1df95a436
applied changes from 526b69963df47630549fb41e56520c7824587f15
through bc9c4bb89eb6d36c548b61d8b1e6b8952b9c4c0e
Changes against parent ccaede6e1d7fe663a7b8e12a5107f1ff62cf8c0f
patched libpurple/protocols/oscar/flap_connection.c
-------------- next part --------------
============================================================
--- libpurple/protocols/oscar/flap_connection.c 19e7d70825751cca88fab282dd601e81835d4146
+++ libpurple/protocols/oscar/flap_connection.c c1ba7e90208c155db31626d769058f83160fbd04
@@ -364,6 +364,12 @@ flap_connection_close(OscarData *od, Fla
conn->connect_data = NULL;
}
+ if (conn->gsc != NULL && conn->gsc->connect_data != NULL)
+ {
+ purple_ssl_close(conn->gsc);
+ conn->gsc = NULL;
+ }
+
if (conn->new_conn_data != NULL)
{
if (conn->type == SNAC_FAMILY_CHAT)
@@ -429,11 +435,16 @@ flap_connection_destroy_cb(gpointer data
aim_rxcallback_t userfunc;
conn = data;
+ /* Explicitly added for debugging #5927. Don't re-order this, only
+ * consider removing it.
+ */
+ purple_debug_info("oscar", "Destroying FLAP connection %p\n", conn);
+
od = conn->od;
account = purple_connection_get_account(od->gc);
- purple_debug_info("oscar", "Destroying oscar connection of "
- "type 0x%04hx. Disconnect reason is %d\n",
+ purple_debug_info("oscar", "Destroying oscar connection (%p) of "
+ "type 0x%04hx. Disconnect reason is %d\n", conn,
conn->type, conn->disconnect_reason);
od->oscar_connections = g_slist_remove(od->oscar_connections, conn);
@@ -569,7 +580,7 @@ flap_connection_schedule_destroy(FlapCon
return;
purple_debug_info("oscar", "Scheduling destruction of FLAP "
- "connection of type 0x%04hx\n", conn->type);
+ "connection %p of type 0x%04hx\n", conn, conn->type);
conn->disconnect_reason = reason;
g_free(conn->error_message);
conn->error_message = g_strdup(error_message);
More information about the Commits
mailing list