comparison libpurple/protocols/oscar/oscar.h @ 18608:a244c34ce59c

Call the AIM_CB_SPECIAL_CONNERR callback from flap_connection_destroy_cb() rather than parse_flap_ch4(). This ensures that the AIM_CB_SPECIAL_CONNERR callback function gets called even if AOL ends our FLAP connection without sending the customary channel 4 FLAP. Apparently you're not allowed to be in chat rooms from two locations. So when you sign on from a second location AOL severs the chat connections from your first location. It does this by sending a TCP RST rather than the expected channel 4 FLAP. This lead to a crash if you were in a chat room, then signed on from a second location. Fixes #1937.
author Mark Doliner <mark@kingant.net>
date Sun, 22 Jul 2007 08:18:27 +0000
parents 36ebcb33e2eb
children 43a331f88c68
comparison
equal deleted inserted replaced
18606:ac9f19a31051 18608:a244c34ce59c
376 gboolean connected; 376 gboolean connected;
377 time_t lastactivity; /**< Time of last transmit. */ 377 time_t lastactivity; /**< Time of last transmit. */
378 guint destroy_timeout; 378 guint destroy_timeout;
379 OscarDisconnectReason disconnect_reason; 379 OscarDisconnectReason disconnect_reason;
380 gchar *error_message; 380 gchar *error_message;
381 guint16 disconnect_code;
381 382
382 /* A few variables that are only used when connecting */ 383 /* A few variables that are only used when connecting */
383 PurpleProxyConnectData *connect_data; 384 PurpleProxyConnectData *connect_data;
384 guint16 cookielen; 385 guint16 cookielen;
385 guint8 *cookie; 386 guint8 *cookie;