# HG changeset patch # User Sadrul Habib Chowdhury # Date 1271176112 0 # Node ID 0c764778c7651c3a118b217ec8062d49f190fcbf # Parent 0625cebc84d783dce733ff495f63ae10187324bf# Parent 0665d7eff0a3859db284bf1f0960d37399680496 merge of '2dffa8ba1bee1171684d1f2eda5b5ba307787274' and '7f87d4b5d3cc6e2b720d52df157f2e5d9ebe39ca' diff -r 0625cebc84d7 -r 0c764778c765 ChangeLog --- a/ChangeLog Tue Apr 13 16:27:01 2010 +0000 +++ b/ChangeLog Tue Apr 13 16:28:32 2010 +0000 @@ -54,13 +54,17 @@ Klinikowski for the work and testing put in here!) * Minimum requirement for external libgadu is now also 1.9.0-rc2. - ICQ: + AIM and ICQ: * X-Status (Custom ICQ status icon) support. Since most of the icons available reflect moods, this is labeled "Set Mood" on the Accounts->ICQ Account menu. (Andrew Ivanov, Tomáš Kebert, Yuriy Yevgrafov, and trac users bob007, salieff, and nops) - * Allow setting and displaying icons between 1x1 and 100x100 pixels. - Previously only icons between 48x48 and 52x64 were allowed. + * Allow setting and displaying icons between 1x1 and 100x100 pixels for + ICQ. Previously only icons between 48x48 and 52x64 were allowed. + * When using the clientLogin authentication method, prompt for a + password on reconnect when "Remember Password" is not checked and + authentication fails due to an incorrect password. (This is the same + behavior as the legacy authentication method) MSN: * Support for version 9 of the MSN protocol has been removed. This diff -r 0625cebc84d7 -r 0c764778c765 libpurple/protocols/bonjour/jabber.c --- a/libpurple/protocols/bonjour/jabber.c Tue Apr 13 16:27:01 2010 +0000 +++ b/libpurple/protocols/bonjour/jabber.c Tue Apr 13 16:28:32 2010 +0000 @@ -683,7 +683,7 @@ g_slist_free(buddies); if (mbba->matched_buddies == NULL) { - purple_debug_info("bonjour", "We don't like invisible buddies, this is not a superheros comic\n"); + purple_debug_info("bonjour", "We don't like invisible buddies, this is not a superheroes comic\n"); g_free(mbba); close(client_socket); return; diff -r 0625cebc84d7 -r 0c764778c765 libpurple/protocols/gg/gg.c --- a/libpurple/protocols/gg/gg.c Tue Apr 13 16:27:01 2010 +0000 +++ b/libpurple/protocols/gg/gg.c Tue Apr 13 16:28:32 2010 +0000 @@ -1000,7 +1000,6 @@ int status, const char *descr) { gchar *from; - gchar *msg; const char *st; gchar *avatarurl; PurpleUtilFetchUrlData *url_data; @@ -1048,11 +1047,14 @@ purple_debug_info("gg", "st = %s\n", st); //msg = charset_convert(descr, "CP1250", "UTF-8"); - msg = g_strdup_printf("%s", descr); - purple_prpl_got_user_status(purple_connection_get_account(gc), - from, st, "message", msg, NULL); + if (descr == NULL) { + purple_prpl_got_user_status(purple_connection_get_account(gc), + from, st, NULL); + } else { + purple_prpl_got_user_status(purple_connection_get_account(gc), + from, st, "message", descr, NULL); + } g_free(from); - g_free(msg); } static void ggp_sr_close_cb(gpointer user_data) @@ -1608,12 +1610,12 @@ purple_debug_info("gg", "notify60: (%d) status=%d; version=%d; descr=%s\n", ev->event.notify60[i].uin, - ev->event.notify60[i].status, + GG_S(ev->event.notify60[i].status), ev->event.notify60[i].version, ev->event.notify60[i].descr ? ev->event.notify60[i].descr : "(null)"); ggp_generic_status_handler(gc, ev->event.notify60[i].uin, - ev->event.notify60[i].status, + GG_S(ev->event.notify60[i].status), ev->event.notify60[i].descr); } break; @@ -1623,7 +1625,7 @@ ev->event.status.descr ? ev->event.status.descr : "(null)"); ggp_generic_status_handler(gc, ev->event.status.uin, - ev->event.status.status, ev->event.status.descr); + GG_S(ev->event.status.status), ev->event.status.descr); break; case GG_EVENT_STATUS60: purple_debug_info("gg", diff -r 0625cebc84d7 -r 0c764778c765 libpurple/protocols/gg/lib/events.c --- a/libpurple/protocols/gg/lib/events.c Tue Apr 13 16:27:01 2010 +0000 +++ b/libpurple/protocols/gg/lib/events.c Tue Apr 13 16:28:32 2010 +0000 @@ -1143,7 +1143,7 @@ case GG_NOTIFY_REPLY80: { struct gg_notify_reply80 *n = (void*) p; - int length = h->length, i = 0; + unsigned int length = h->length, i = 0; gg_debug_session(sess, GG_DEBUG_MISC, "// gg_watch_fd_connected() received a notify reply\n"); diff -r 0625cebc84d7 -r 0c764778c765 libpurple/protocols/gg/lib/libgadu.c --- a/libpurple/protocols/gg/lib/libgadu.c Tue Apr 13 16:27:01 2010 +0000 +++ b/libpurple/protocols/gg/lib/libgadu.c Tue Apr 13 16:28:32 2010 +0000 @@ -412,7 +412,8 @@ { struct gg_header h; char *buf = NULL; - int ret = 0, offset, size = 0; + int ret = 0; + unsigned int offset, size = 0; gg_debug_session(sess, GG_DEBUG_FUNCTION, "** gg_recv_packet(%p);\n", sess); @@ -609,7 +610,7 @@ h->length = gg_fix32(tmp_length - sizeof(struct gg_header)); if ((gg_debug_level & GG_DEBUG_DUMP)) { - int i; + unsigned int i; gg_debug_session(sess, GG_DEBUG_DUMP, "// gg_send_packet(0x%.2x)", gg_fix32(h->type)); for (i = 0; i < tmp_length; ++i) diff -r 0625cebc84d7 -r 0c764778c765 libpurple/protocols/oscar/clientlogin.c --- a/libpurple/protocols/oscar/clientlogin.c Tue Apr 13 16:27:01 2010 +0000 +++ b/libpurple/protocols/oscar/clientlogin.c Tue Apr 13 16:28:32 2010 +0000 @@ -428,6 +428,9 @@ "was %d (%d): %s\n", status_code, status_detail_code, response); if (status_code == 330 && status_detail_code == 3011) { + PurpleAccount *account = purple_connection_get_account(gc); + if (!purple_account_get_remember_password(account)) + purple_account_set_password(account, NULL); purple_connection_error_reason(gc, PURPLE_CONNECTION_ERROR_AUTHENTICATION_FAILED, _("Incorrect password"));