--- a/libpurple/protocols/myspace/myspace.c Wed Sep 19 16:38:33 2007 +0000
+++ b/libpurple/protocols/myspace/myspace.c Thu Sep 20 17:30:59 2007 +0000
@@ -291,7 +291,8 @@
/* Notify an error message also, because this is important! */
purple_notify_error(acct, g_strdup(_("MySpaceIM Error")), str, NULL);
- purple_connection_error(gc, str);
+ purple_connection_error_reason (gc, + PURPLE_REASON_AUTHENTICATION_FAILED, str); @@ -314,7 +315,8 @@
if (!purple_proxy_connect(gc, acct, host, port, msim_connect_cb, gc)) {
/* TODO: try other ports if in auto mode, then save
* working port and try that first next time. */
- purple_connection_error(gc, _("Couldn't create socket"));
+ purple_connection_error_reason (gc, PURPLE_REASON_NETWORK_ERROR, + _("Couldn't create socket")); @@ -351,7 +353,8 @@
if (nc_len != MSIM_AUTH_CHALLENGE_LENGTH) {
purple_debug_info("msim", "bad nc length: %x != 0x%x\n", nc_len, MSIM_AUTH_CHALLENGE_LENGTH);
- purple_connection_error(session->gc, _("Unexpected challenge length from server"));
+ purple_connection_error_reason (session->gc, PURPLE_REASON_NETWORK_ERROR, + _("Unexpected challenge length from server")); @@ -1277,7 +1280,8 @@
purple_debug_info("msim", "msim_check_alive: %s > interval of %d, presumed dead\n",
errmsg, MSIM_KEEPALIVE_INTERVAL);
- purple_connection_error(session->gc, errmsg);
+ purple_connection_error_reason (session->gc, + PURPLE_REASON_NETWORK_ERROR, errmsg); purple_notify_error(session->gc, NULL, errmsg, NULL);
@@ -1546,7 +1550,8 @@
purple_notify_error(session->account,
_("Please go to http://editprofile.myspace.com/index.cfm?fuseaction=profile.username and choose a username and try to login again."), NULL);
- purple_connection_error(session->gc, _("No username set"));
+ session->gc->wants_to_die = TRUE; + purple_connection_error_reason (session->gc, PURPLE_REASON_AUTHENTICATION_FAILED, _("No username set")); @@ -1782,14 +1787,16 @@
/* Destroy session if fatal. */
if (msim_msg_get(msg, "fatal")) {
+ PurpleDisconnectReason reason = PURPLE_REASON_NETWORK_ERROR; purple_debug_info("msim", "fatal error, closing\n");
session->gc->wants_to_die = TRUE;
+ reason = PURPLE_REASON_AUTHENTICATION_FAILED; if (!purple_account_get_remember_password(session->account))
purple_account_set_password(session->account, NULL);
- purple_connection_error(session->gc, full_errmsg);
+ purple_connection_error_reason (session->gc, reason, full_errmsg); purple_notify_error(session->account, g_strdup(_("MySpaceIM Error")),
@@ -2305,7 +2312,8 @@
/* libpurple/eventloop.h only defines these two */
if (cond != PURPLE_INPUT_READ && cond != PURPLE_INPUT_WRITE) {
purple_debug_info("msim_input_cb", "unknown condition=%d\n", cond);
- purple_connection_error(gc, _("Invalid input condition"));
+ purple_connection_error_reason (gc, PURPLE_REASON_NETWORK_ERROR, + _("Invalid input condition")); @@ -2323,7 +2331,8 @@
purple_debug_error("msim",
"msim_input_cb: %d-byte read buffer full! rxoff=%d\n",
MSIM_READ_BUF_SIZE, session->rxoff);
- purple_connection_error(gc, _("Read buffer full"));
+ purple_connection_error_reason (gc, PURPLE_REASON_NETWORK_ERROR, + _("Read buffer full")); @@ -2342,11 +2351,13 @@
purple_debug_error("msim", "msim_input_cb: read error, ret=%d, "
"error=%s, source=%d, fd=%d (%X))\n",
n, strerror(errno), source, session->fd, session->fd);
- purple_connection_error(gc, _("Read error"));
+ purple_connection_error_reason (gc, PURPLE_REASON_NETWORK_ERROR, purple_debug_info("msim", "msim_input_cb: server disconnected\n");
- purple_connection_error(gc, _("Server has disconnected"));
+ purple_connection_error_reason (gc, PURPLE_REASON_NETWORK_ERROR, + _("Server has disconnected")); @@ -2354,7 +2365,8 @@
purple_debug_info("msim_input_cb", "received %d bytes, pushing rxoff to %d, over buffer size of %d\n",
n, n + session->rxoff, MSIM_READ_BUF_SIZE);
/* TODO: g_realloc like msn, yahoo, irc, jabber? */
- purple_connection_error(gc, _("Read buffer full"));
+ purple_connection_error_reason (gc, PURPLE_REASON_NETWORK_ERROR, + _("Read buffer full")); @@ -2369,7 +2381,8 @@
purple_debug_info("msim", "msim_input_cb: strlen=%d, but read %d bytes"
"--null byte encountered?\n",
strlen(session->rxbuf + session->rxoff), n);
- //purple_connection_error(gc, "Invalid message - null byte on input");
+ /*purple_connection_error_reason (gc, PURPLE_REASON_NETWORK_ERROR, + "Invalid message - null byte on input"); */ @@ -2392,7 +2405,8 @@
msg = msim_parse(g_strdup(session->rxbuf));
purple_debug_info("msim", "msim_input_cb: couldn't parse rxbuf\n");
- purple_connection_error(gc, _("Unparseable message"));
+ purple_connection_error_reason (gc, PURPLE_REASON_NETWORK_ERROR, + _("Unparseable message")); /* Process message and then free it (processing function should
* clone message if it wants to keep it afterwards.) */
@@ -2459,9 +2473,8 @@
session = (MsimSession *)gc->proto_data;
- purple_connection_error(gc, _("Couldn't connect to host"));
- purple_connection_error(gc, g_strdup_printf(
- _("Couldn't connect to host: %s (%d)"),
+ purple_connection_error_reason (gc, PURPLE_REASON_NETWORK_ERROR, + g_strdup_printf(_("Couldn't connect to host: %s (%d)"), error_message ? error_message : "no message given",