--- a/libpurple/protocols/jabber/jabber.c Mon Jul 06 04:38:08 2009 +0000 +++ b/libpurple/protocols/jabber/jabber.c Sun Jul 12 04:41:56 2009 +0000 @@ -102,7 +102,7 @@ if(js->unregistration) jabber_unregister_account_cb(js); } else { - purple_connection_error_reason (js->gc, + purple_connection_error_reason(js->gc, PURPLE_CONNECTION_ERROR_NETWORK_ERROR, ("Error initializing session")); } @@ -135,9 +135,9 @@ JabberBuddy *my_jb = NULL; jabber_id_free(js->user); if(!(js->user = jabber_id_new(full_jid))) { - purple_connection_error_reason (js->gc, + purple_connection_error_reason(js->gc, PURPLE_CONNECTION_ERROR_NETWORK_ERROR, - _("Invalid response from server.")); + _("Invalid response from server")); } if((my_jb = jabber_buddy_find(js, full_jid, TRUE))) my_jb->subscription |= JABBER_SUB_BOTH; @@ -149,7 +149,7 @@ } else { PurpleConnectionError reason = PURPLE_CONNECTION_ERROR_NETWORK_ERROR; char *msg = jabber_parse_error(js, packet, &reason); - purple_connection_error_reason (js->gc, reason, msg); + purple_connection_error_reason(js->gc, reason, msg); g_free(msg); } @@ -196,7 +196,7 @@ return; } else if(purple_account_get_bool(js->gc->account, "require_tls", FALSE) && !jabber_stream_is_ssl(js)) { - purple_connection_error_reason (js->gc, + purple_connection_error_reason(js->gc, PURPLE_CONNECTION_ERROR_ENCRYPTION_ERROR, _("You require encryption, but it is not available on this server.")); return; @@ -238,7 +238,7 @@ PurpleConnectionError reason = PURPLE_CONNECTION_ERROR_NETWORK_ERROR; char *msg = jabber_parse_error(js, packet, &reason); - purple_connection_error_reason (js->gc, reason, msg); + purple_connection_error_reason(js->gc, reason, msg); g_free(msg); } @@ -320,9 +320,11 @@ if (ret < 0 && errno == EAGAIN) return; else if (ret <= 0) { - purple_connection_error_reason (js->gc, - PURPLE_CONNECTION_ERROR_NETWORK_ERROR, - _("Write error")); + gchar *tmp = g_strdup_printf(_("Lost connection with server: %s"), + g_strerror(errno)); + purple_connection_error_reason(js->gc, + PURPLE_CONNECTION_ERROR_NETWORK_ERROR, tmp); + g_free(tmp); return; } @@ -345,9 +347,11 @@ } if (ret < 0 && errno != EAGAIN) { - purple_connection_error_reason (js->gc, - PURPLE_CONNECTION_ERROR_NETWORK_ERROR, - _("Write error")); + gchar *tmp = g_strdup_printf(_("Lost connection with server: %s"), + g_strerror(errno)); + purple_connection_error_reason(js->gc, + PURPLE_CONNECTION_ERROR_NETWORK_ERROR, tmp); + g_free(tmp); success = FALSE; } else if (ret < len) { if (ret < 0) @@ -473,7 +477,7 @@ { JabberStream *js = gc->proto_data; purple_connection_error_reason(gc, PURPLE_CONNECTION_ERROR_NETWORK_ERROR, - _("Ping timeout")); + _("Ping timed out")); js->keepalive_timeout = 0; return FALSE; } @@ -516,13 +520,15 @@ if(len < 0 && errno == EAGAIN) return; else { + gchar *tmp; if (len == 0) - purple_debug_info("jabber", "Server closed the connection.\n"); + tmp = g_strdup_printf(_("Server closed the connection")); else - purple_debug_info("jabber", "Disconnected: %s\n", g_strerror(errno)); - purple_connection_error_reason (js->gc, - PURPLE_CONNECTION_ERROR_NETWORK_ERROR, - _("Read Error")); + tmp = g_strdup_printf(_("Lost connection with server: %s"), + g_strerror(errno)); + purple_connection_error_reason(js->gc, + PURPLE_CONNECTION_ERROR_NETWORK_ERROR, tmp); + g_free(tmp); } } @@ -561,13 +567,15 @@ } else if(len < 0 && errno == EAGAIN) { return; } else { + gchar *tmp; if (len == 0) - purple_debug_info("jabber", "Server closed the connection.\n"); + tmp = g_strdup_printf(_("Server closed the connection")); else - purple_debug_info("jabber", "Disconnected: %s\n", g_strerror(errno)); - purple_connection_error_reason (js->gc, - PURPLE_CONNECTION_ERROR_NETWORK_ERROR, - _("Read Error")); + tmp = g_strdup_printf(_("Lost connection with server: %s"), + g_strerror(errno)); + purple_connection_error_reason(js->gc, + PURPLE_CONNECTION_ERROR_NETWORK_ERROR, tmp); + g_free(tmp); } } @@ -603,11 +611,10 @@ js->srv_query_data = NULL; if (responses == NULL) { - gchar *tmp; - tmp = g_strdup_printf(_("Could not find alternative XMPP connection methods after failing to connect directly.\n")); - purple_connection_error_reason (js->gc, - PURPLE_CONNECTION_ERROR_NETWORK_ERROR, tmp); - g_free(tmp); + purple_connection_error_reason(js->gc, + PURPLE_CONNECTION_ERROR_NETWORK_ERROR, + _("Unable to find alternative XMPP connection " + "methods after failing to connect directly.")); return; } @@ -709,9 +716,9 @@ if (purple_proxy_connect(js->gc, js->gc->account, host, port, jabber_login_callback, js->gc) == NULL) { if (fatal_failure) { - purple_connection_error_reason (js->gc, + purple_connection_error_reason(js->gc, PURPLE_CONNECTION_ERROR_NETWORK_ERROR, - _("Unable to create socket")); + _("Unable to connect")); } return FALSE; @@ -796,14 +803,14 @@ js->idle = purple_presence_get_idle_time(presence); if(!js->user) { - purple_connection_error_reason (gc, + purple_connection_error_reason(gc, PURPLE_CONNECTION_ERROR_INVALID_SETTINGS, _("Invalid XMPP ID")); return; } if (!js->user->domain || *(js->user->domain) == '\0') { - purple_connection_error_reason (gc, + purple_connection_error_reason(gc, PURPLE_CONNECTION_ERROR_INVALID_SETTINGS, _("Invalid XMPP ID. Domain must be set.")); return; @@ -835,7 +842,7 @@ if (js->bosh) jabber_bosh_connection_connect(js->bosh); else { - purple_connection_error_reason (js->gc, + purple_connection_error_reason(js->gc, PURPLE_CONNECTION_ERROR_INVALID_SETTINGS, _("Malformed BOSH URL")); } @@ -853,12 +860,12 @@ purple_account_get_int(account, "port", 5223), jabber_login_callback_ssl, jabber_ssl_connect_failure, js->gc); if (!js->gsc) { - purple_connection_error_reason (js->gc, + purple_connection_error_reason(js->gc, PURPLE_CONNECTION_ERROR_NO_SSL_SUPPORT, _("Unable to establish SSL connection")); } } else { - purple_connection_error_reason (js->gc, + purple_connection_error_reason(js->gc, PURPLE_CONNECTION_ERROR_NO_SSL_SUPPORT, _("SSL support unavailable")); } @@ -1304,7 +1311,7 @@ js->keepalive_timeout = 0; if(!js->user) { - purple_connection_error_reason (gc, + purple_connection_error_reason(gc, PURPLE_CONNECTION_ERROR_INVALID_SETTINGS, _("Invalid XMPP ID")); return; @@ -1329,7 +1336,7 @@ js->use_bosh = TRUE; js->bosh = jabber_bosh_connection_init(js, connect_server); if (!js->bosh) { - purple_connection_error_reason (js->gc, + purple_connection_error_reason(js->gc, PURPLE_CONNECTION_ERROR_INVALID_SETTINGS, _("Malformed BOSH Connect Server")); return; @@ -1346,12 +1353,12 @@ purple_account_get_int(account, "port", 5222), jabber_login_callback_ssl, jabber_ssl_connect_failure, gc); if (!js->gsc) { - purple_connection_error_reason (js->gc, + purple_connection_error_reason(js->gc, PURPLE_CONNECTION_ERROR_NO_SSL_SUPPORT, _("Unable to establish SSL connection")); } } else { - purple_connection_error_reason (gc, + purple_connection_error_reason(gc, PURPLE_CONNECTION_ERROR_NO_SSL_SUPPORT, _("SSL support unavailable")); } @@ -1620,7 +1627,8 @@ break; case JABBER_STREAM_CONNECTED: - /* now we can alert the core that we're ready to send status */ + /* Send initial presence */ + jabber_presence_send(js, TRUE); purple_connection_set_state(js->gc, PURPLE_CONNECTED); break; } @@ -3364,6 +3372,7 @@ PURPLE_CMD_FLAG_ALLOW_WRONG_ARGS, "prpl-jabber", jabber_cmd_buzz, _("buzz: Buzz a user to get their attention"), NULL); + jabber_cmds = g_slist_prepend(jabber_cmds, GUINT_TO_POINTER(id)); } void jabber_unregister_commands(void)