# HG changeset patch # User John Bailey # Date 1261776830 0 # Node ID bf4a33bd020b8c93fec8edfff1199610d96c8bfc # Parent 3ad839deed757f77a06250250d145270037223b1# Parent a52831eada674bd6d47d16b20bf13887b26a182d merge of '0990bc18c1ec4f05a29aeb8f55d4d28a08152cc6' and 'd5e93b05ae1a8f5296a0a9b069c630630285d3c3' diff -r 3ad839deed75 -r bf4a33bd020b ChangeLog --- a/ChangeLog Mon Dec 14 15:49:07 2009 +0000 +++ b/ChangeLog Fri Dec 25 21:33:50 2009 +0000 @@ -19,6 +19,10 @@ it look and behave like the search dialog in Firefox) version 2.6.5 (??/??/20??): + libpurple: + * TLS certificates are actually stored to the local cache once again + (accepting a name mismatch on a certificate should now be remembered) + General: * Build-time fixes for Solaris. (Paul Townsend) @@ -27,10 +31,12 @@ Chinese characters (broken in 2.6.4) MSN: - * File transfer requests will no longer cause a crash if you delete the file - before the other side accepts. - * Recieved files will no longer hold an extra lock after completion, meaning - they can be moved or deleted without complaints from your OS. + * File transfer requests will no longer cause a crash if you delete the + file before the other side accepts. + * Recieved files will no longer hold an extra lock after completion, + meaning they can be moved or deleted without complaints from your OS. + * Buddies who sign in from a second location will no longer cause an + unnecessary chat window to open. XMPP: * Added support for the SCRAM-SHA-1 SASL mechanism. This is only diff -r 3ad839deed75 -r bf4a33bd020b configure.ac --- a/configure.ac Mon Dec 14 15:49:07 2009 +0000 +++ b/configure.ac Fri Dec 25 21:33:50 2009 +0000 @@ -2502,6 +2502,8 @@ pidgin/Makefile pidgin/pidgin.pc pidgin/pidgin-uninstalled.pc + pidgin/pidgin-2.pc + pidgin/pidgin-2-uninstalled.pc pidgin/pixmaps/Makefile pidgin/pixmaps/emotes/default/24/Makefile pidgin/pixmaps/emotes/none/Makefile @@ -2519,6 +2521,8 @@ libpurple/gconf/Makefile libpurple/purple.pc libpurple/purple-uninstalled.pc + libpurple/purple-2.pc + libpurple/purple-2-uninstalled.pc libpurple/plugins/Makefile libpurple/plugins/mono/Makefile libpurple/plugins/mono/api/Makefile diff -r 3ad839deed75 -r bf4a33bd020b libpurple/certificate.c --- a/libpurple/certificate.c Mon Dec 14 15:49:07 2009 +0000 +++ b/libpurple/certificate.c Fri Dec 25 21:33:50 2009 +0000 @@ -1431,9 +1431,8 @@ tls_peers = purple_certificate_find_pool(x509_tls_cached.scheme_name, "tls_peers"); if (tls_peers) { - if (!purple_certificate_pool_contains(tls_peers, vrq->subject_name) && - !purple_certificate_pool_store(tls_peers,vrq->subject_name, - peer_crt)) { + if (!purple_certificate_pool_store(tls_peers,vrq->subject_name, + peer_crt)) { purple_debug_error("certificate/x509/tls_cached", "FAILED to cache peer certificate\n"); } diff -r 3ad839deed75 -r bf4a33bd020b libpurple/media/codec.h --- a/libpurple/media/codec.h Mon Dec 14 15:49:07 2009 +0000 +++ b/libpurple/media/codec.h Fri Dec 25 21:33:50 2009 +0000 @@ -32,7 +32,7 @@ /** An opaque structure representing an audio or video codec. */ typedef struct _PurpleMediaCodec PurpleMediaCodec; -#include "util.h" +#include "../util.h" #include diff -r 3ad839deed75 -r bf4a33bd020b libpurple/protocols/jabber/jabber.c --- a/libpurple/protocols/jabber/jabber.c Mon Dec 14 15:49:07 2009 +0000 +++ b/libpurple/protocols/jabber/jabber.c Fri Dec 25 21:33:50 2009 +0000 @@ -639,10 +639,11 @@ js->srv_query_data = NULL; if (responses == NULL) { + purple_debug_warning("jabber", "Unable to find alternative XMPP connection " + "methods after failing to connect directly."); purple_connection_error_reason(js->gc, PURPLE_CONNECTION_ERROR_NETWORK_ERROR, - _("Unable to find alternative XMPP connection " - "methods after failing to connect directly.")); + _("Unable to connect")); return; } diff -r 3ad839deed75 -r bf4a33bd020b libpurple/protocols/msn/switchboard.c --- a/libpurple/protocols/msn/switchboard.c Mon Dec 14 15:49:07 2009 +0000 +++ b/libpurple/protocols/msn/switchboard.c Fri Dec 25 21:33:50 2009 +0000 @@ -222,13 +222,28 @@ { MsnCmdProc *cmdproc; PurpleAccount *account; + char *semicolon; + char *passport; g_return_if_fail(swboard != NULL); cmdproc = swboard->cmdproc; account = cmdproc->session->account; - swboard->users = g_list_prepend(swboard->users, g_strdup(user)); + semicolon = strchr(user, ';'); + /* We don't really care about the machine ID. */ + if (semicolon) + passport = g_strndup(user, semicolon - user); + else + passport = g_strdup(user); + + /* Don't add multiple endpoints to the conversation. */ + if (g_list_find_custom(swboard->users, passport, (GCompareFunc)strcmp)) { + g_free(passport); + return; + } + + swboard->users = g_list_prepend(swboard->users, passport); swboard->current_users++; swboard->empty = FALSE; diff -r 3ad839deed75 -r bf4a33bd020b libpurple/protocols/myspace/user.c --- a/libpurple/protocols/myspace/user.c Mon Dec 14 15:49:07 2009 +0000 +++ b/libpurple/protocols/myspace/user.c Fri Dec 25 21:33:50 2009 +0000 @@ -72,6 +72,9 @@ if (!user) return; + if (user->url_data != NULL) + purple_util_fetch_url_cancel(user->url_data); + g_free(user->client_info); g_free(user->gender); g_free(user->location); @@ -214,6 +217,8 @@ const char *name = purple_buddy_get_name(user->buddy); PurpleAccount *account; + user->url_data = NULL; + purple_debug_info("msim_downloaded_buddy_icon", "Downloaded %" G_GSIZE_FORMAT " bytes\n", len); @@ -377,7 +382,9 @@ /* Only download if URL changed */ if (!previous_url || !g_str_equal(previous_url, user->image_url)) { - purple_util_fetch_url(user->image_url, TRUE, NULL, TRUE, msim_downloaded_buddy_icon, (gpointer)user); + if (user->url_data != NULL) + purple_util_fetch_url_cancel(user->url_data); + user->url_data = purple_util_fetch_url(user->image_url, TRUE, NULL, TRUE, msim_downloaded_buddy_icon, (gpointer)user); } } else if (g_str_equal(key_str, "LastImageUpdated")) { /* TODO: use somewhere */ diff -r 3ad839deed75 -r bf4a33bd020b libpurple/protocols/myspace/user.h --- a/libpurple/protocols/myspace/user.h Mon Dec 14 15:49:07 2009 +0000 +++ b/libpurple/protocols/myspace/user.h Fri Dec 25 21:33:50 2009 +0000 @@ -40,6 +40,7 @@ gchar *image_url; guint last_image_updated; gboolean temporary_user; + PurpleUtilFetchUrlData *url_data; } MsimUser; /* Callback function pointer type for when a user's information is received, diff -r 3ad839deed75 -r bf4a33bd020b libpurple/purple-2-uninstalled.pc.in --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/libpurple/purple-2-uninstalled.pc.in Fri Dec 25 21:33:50 2009 +0000 @@ -0,0 +1,22 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ +datarootdir=@datarootdir@ +datadir=@datadir@ +sysconfdir=@sysconfdir@ + +abs_srcdir=@abs_srcdir@ +abs_builddir=@abs_builddir@ + +abs_top_srcdir=@abs_top_srcdir@ +abs_top_builddir=@abs_top_builddir@ + +plugindir=${libdir}/purple-@PURPLE_MAJOR_VERSION@ + +Name: libpurple +Description: libpurple is a GLib-based instant messenger library. +Version: @VERSION@ +Requires: glib-2.0 +Cflags: -I${abs_top_srcdir} -I${abs_top_builddir} +Libs: ${abs_builddir}/libpurple.la diff -r 3ad839deed75 -r bf4a33bd020b libpurple/purple-2.pc.in --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/libpurple/purple-2.pc.in Fri Dec 25 21:33:50 2009 +0000 @@ -0,0 +1,16 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ +datarootdir=@datarootdir@ +datadir=@datadir@ +sysconfdir=@sysconfdir@ + +plugindir=${libdir}/purple-@PURPLE_MAJOR_VERSION@ + +Name: libpurple +Description: libpurple is a GLib-based instant messenger library. +Version: @VERSION@ +Requires: glib-2.0 +Cflags: -I${includedir} +Libs: -L${libdir} -lpurple diff -r 3ad839deed75 -r bf4a33bd020b libpurple/purple-uninstalled.pc.in --- a/libpurple/purple-uninstalled.pc.in Mon Dec 14 15:49:07 2009 +0000 +++ b/libpurple/purple-uninstalled.pc.in Fri Dec 25 21:33:50 2009 +0000 @@ -6,9 +6,14 @@ datadir=@datadir@ sysconfdir=@sysconfdir@ +abs_srcdir=@abs_srcdir@ +abs_builddir=@abs_builddir@ + +plugindir=${libdir}/purple-@PURPLE_MAJOR_VERSION@ + Name: libpurple Description: libpurple is a GLib-based instant messenger library. Version: @VERSION@ Requires: glib-2.0 -Cflags: -I${pcfiledir} -Libs: ${pcfiledir}/libpurple.la +Cflags: -I${abs_srcdir} -I${abs_builddir} +Libs: ${abs_builddir}/libpurple.la diff -r 3ad839deed75 -r bf4a33bd020b libpurple/purple.pc.in --- a/libpurple/purple.pc.in Mon Dec 14 15:49:07 2009 +0000 +++ b/libpurple/purple.pc.in Fri Dec 25 21:33:50 2009 +0000 @@ -6,6 +6,8 @@ datadir=@datadir@ sysconfdir=@sysconfdir@ +plugindir=${libdir}/purple-@PURPLE_MAJOR_VERSION@ + Name: libpurple Description: libpurple is a GLib-based instant messenger library. Version: @VERSION@ diff -r 3ad839deed75 -r bf4a33bd020b pidgin/gtkdialogs.c --- a/pidgin/gtkdialogs.c Mon Dec 14 15:49:07 2009 +0000 +++ b/pidgin/gtkdialogs.c Fri Dec 25 21:33:50 2009 +0000 @@ -195,7 +195,6 @@ {N_("Kurdish"), "ku", "Amed Ç. Jiyan", "amedcj@hotmail.com"}, {N_("Kurdish"), "ku", "Rizoyê Xerzî", "rizoxerzi@hotmail.com"}, {N_("Lao"), "lo", "Anousak Souphavah", "anousak@gmail.com"}, - {N_("Lithuanian"), "lt", "Laurynas Biveinis", "laurynas.biveinis@gmail.com"}, {N_("Macedonian"), "mk", "Arangel Angov ", "arangel@linux.net.mk"}, {N_("Macedonian"), "mk", "Ivana Kirkovska", "ivana.kirkovska@gmail.com"}, {N_("Macedonian"), "mk", "Jovan Naumovski", "jovan@lugola.net"}, @@ -274,8 +273,9 @@ {N_("Georgian"), "ka", "Temuri Doghonadze", NULL}, {N_("Korean"), "ko", "Sang-hyun S, A Ho-seok Lee", NULL}, {N_("Korean"), "ko", "Kyeong-uk Son", NULL}, + {N_("Lithuanian"), "lt", "Laurynas Biveinis", "laurynas.biveinis@gmail.com"}, + {N_("Lithuanian"), "lt", "Gediminas Čičinskas", NULL}, {N_("Lithuanian"), "lt", "Andrius Štikonas", NULL}, - {N_("Lithuanian"), "lt", "Gediminas Čičinskas", NULL}, {N_("Macedonian"), "mk", "Tomislav Markovski", NULL}, {N_("Bokmål Norwegian"), "nb", "Hallvard Glad", "hallvard.glad@gmail.com"}, {N_("Bokmål Norwegian"), "nb", "Petter Johan Olsen", NULL}, diff -r 3ad839deed75 -r bf4a33bd020b pidgin/pidgin-2-uninstalled.pc.in --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pidgin/pidgin-2-uninstalled.pc.in Fri Dec 25 21:33:50 2009 +0000 @@ -0,0 +1,21 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ +datarootdir=@datarootdir@ +datadir=@datadir@ +sysconfdir=@sysconfdir@ + +abs_srcdir=@abs_srcdir@ +abs_builddir=@abs_builddir@ + +abs_top_srcdir=@abs_top_srcdir@ +abs_top_builddir=@abs_top_builddir@ + +plugindir=${libdir}/pidgin + +Name: Pidgin +Description: Pidgin is a GTK2-based instant messenger application. +Version: @VERSION@ +Requires: gtk+-2.0 purple +Cflags: -I${abs_top_srcdir} diff -r 3ad839deed75 -r bf4a33bd020b pidgin/pidgin-2.pc.in --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pidgin/pidgin-2.pc.in Fri Dec 25 21:33:50 2009 +0000 @@ -0,0 +1,15 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ +datarootdir=@datarootdir@ +datadir=@datadir@ +sysconfdir=@sysconfdir@ + +plugindir=${libdir}/pidgin + +Name: Pidgin +Description: Pidgin is a GTK2-based instant messenger application. +Version: @VERSION@ +Requires: gtk+-2.0 purple +Cflags: -I${includedir} diff -r 3ad839deed75 -r bf4a33bd020b pidgin/pidgin-uninstalled.pc.in --- a/pidgin/pidgin-uninstalled.pc.in Mon Dec 14 15:49:07 2009 +0000 +++ b/pidgin/pidgin-uninstalled.pc.in Fri Dec 25 21:33:50 2009 +0000 @@ -6,8 +6,13 @@ datadir=@datadir@ sysconfdir=@sysconfdir@ +abs_srcdir=@abs_srcdir@ +abs_builddir=@abs_builddir@ + +plugindir=${libdir}/pidgin + Name: Pidgin Description: Pidgin is a GTK2-based instant messenger application. Version: @VERSION@ Requires: gtk+-2.0 purple -Cflags: -I${pcfiledir} +Cflags: -I${abs_srcdir} diff -r 3ad839deed75 -r bf4a33bd020b pidgin/pidgin.pc.in --- a/pidgin/pidgin.pc.in Mon Dec 14 15:49:07 2009 +0000 +++ b/pidgin/pidgin.pc.in Fri Dec 25 21:33:50 2009 +0000 @@ -6,6 +6,8 @@ datadir=@datadir@ sysconfdir=@sysconfdir@ +plugindir=${libdir}/pidgin + Name: Pidgin Description: Pidgin is a GTK2-based instant messenger application. Version: @VERSION@