# HG changeset patch # User Paul Aurich # Date 1243305984 0 # Node ID 1c8d7165df6bf7ae9e9645e2c77025d4017a5ee1 # Parent 45e812208f055e54747a5887113785a569c39d7a# Parent 9639747bb98c923c94651418f211fe748ca0d099 merge of '17367f37cdcde61c1f7a9bc2df681c177a65ffbb' and 'ded483522069298e5562139fb48032231da598dc' diff -r 9639747bb98c -r 1c8d7165df6b COPYRIGHT --- a/COPYRIGHT Tue May 26 02:46:14 2009 +0000 +++ b/COPYRIGHT Tue May 26 02:46:24 2009 +0000 @@ -1,5 +1,5 @@ Pidgin, Finch, and libpurple -Copyright (C) 1998-2008 by the following: +Copyright (C) 1998-2009 by the following: If you have contributed to this project then you deserve to be on this list. Contact us (see: AUTHORS) and we'll add you. diff -r 9639747bb98c -r 1c8d7165df6b ChangeLog --- a/ChangeLog Tue May 26 02:46:14 2009 +0000 +++ b/ChangeLog Tue May 26 02:46:24 2009 +0000 @@ -46,6 +46,8 @@ * Support custom smileys in MUCs (only when all participants support the "Bits of Binary" extension, and a maximum of 10 participants are in the chat to avoid getting too many fetch requests). + * Fix an issue with Jabber (pre-XMPP) servers and the user's preference + to require SSL not being respected. Yahoo: * P2P file transfers. (Sulabh Mahajan) diff -r 9639747bb98c -r 1c8d7165df6b finch/plugins/gnttinyurl.c --- a/finch/plugins/gnttinyurl.c Tue May 26 02:46:14 2009 +0000 +++ b/finch/plugins/gnttinyurl.c Tue May 26 02:46:24 2009 +0000 @@ -228,12 +228,15 @@ if (!(*flags & PURPLE_MESSAGE_RECV) || *flags & PURPLE_MESSAGE_INVISIBLE) return FALSE; - t = g_string_new(*message); urls = purple_conversation_get_data(conv, "TinyURLs"); if (urls != NULL) /* message was cancelled somewhere? Reset. */ g_list_foreach(urls, free_urls, NULL); g_list_free(urls); - urls = extract_urls(t->str); + urls = extract_urls(*message); + if (!urls) + return FALSE; + + t = g_string_new(*message); g_free(*message); for (iter = urls; iter; iter = iter->next) { if (g_utf8_strlen((char *)iter->data, -1) >= purple_prefs_get_int(PREF_LENGTH)) { diff -r 9639747bb98c -r 1c8d7165df6b libpurple/Makefile.am diff -r 9639747bb98c -r 1c8d7165df6b libpurple/Makefile.mingw diff -r 9639747bb98c -r 1c8d7165df6b libpurple/dbus-analyze-functions.py diff -r 9639747bb98c -r 1c8d7165df6b libpurple/protocols/jabber/auth.c --- a/libpurple/protocols/jabber/auth.c Tue May 26 02:46:14 2009 +0000 +++ b/libpurple/protocols/jabber/auth.c Tue May 26 02:46:24 2009 +0000 @@ -689,6 +689,18 @@ JabberIq *iq; xmlnode *query, *username; + /* We can end up here without encryption if the server doesn't support + * and we're not using old-style SSL. If the user + * is requiring SSL/TLS, we need to enforce it. + */ + if (!jabber_stream_is_ssl(js) && + purple_account_get_bool(purple_connection_get_account(js->gc), "require_tls", FALSE)) { + purple_connection_error_reason (js->gc, + PURPLE_CONNECTION_ERROR_ENCRYPTION_ERROR, + _("You require encryption, but it is not available on this server.")); + return; + } + #ifdef HAVE_CYRUS_SASL /* If we have Cyrus SASL, then passwords will have been set * to OPTIONAL for this protocol. So, we need to do our own diff -r 9639747bb98c -r 1c8d7165df6b libpurple/protocols/jabber/google.c --- a/libpurple/protocols/jabber/google.c Tue May 26 02:46:14 2009 +0000 +++ b/libpurple/protocols/jabber/google.c Tue May 26 02:46:24 2009 +0000 @@ -667,8 +667,6 @@ purple_notify_emails(js->gc, count, FALSE, NULL, NULL, default_tos, NULL, NULL, NULL); g_free(bare_jid); - } else { - purple_notify_emails(js->gc, count, FALSE, NULL, NULL, NULL, NULL, NULL, NULL); } return; diff -r 9639747bb98c -r 1c8d7165df6b libpurple/protocols/msn/notification.c --- a/libpurple/protocols/msn/notification.c Tue May 26 02:46:14 2009 +0000 +++ b/libpurple/protocols/msn/notification.c Tue May 26 02:46:24 2009 +0000 @@ -919,10 +919,10 @@ passport = g_strdup_printf("%s@%s", local, domain); - if (!g_ascii_isdigit(cmd->command[0]) && type != NULL) + if (g_ascii_isdigit(cmd->command[0])) + network = MSN_NETWORK_UNKNOWN; + else if (type != NULL) network = (MsnNetwork)strtoul(type, NULL, 10); - else - network = MSN_NETWORK_UNKNOWN; purple_debug_info("msn", "FQY response says %s is from network %d\n", passport, network); diff -r 9639747bb98c -r 1c8d7165df6b libpurple/protocols/yahoo/yahoo.h --- a/libpurple/protocols/yahoo/yahoo.h Tue May 26 02:46:14 2009 +0000 +++ b/libpurple/protocols/yahoo/yahoo.h Tue May 26 02:46:24 2009 +0000 @@ -28,7 +28,7 @@ #include "circbuffer.h" #include "prpl.h" -#define YAHOO_PAGER_HOST "scs.msg.yahoo.com" +#define YAHOO_PAGER_HOST "scsa.msg.yahoo.com" #define YAHOO_PAGER_PORT 5050 #define YAHOO_PAGER_PORT_P2P 5101 #define YAHOO_LOGIN_URL "https://login.yahoo.com/config/pwtoken_login?src=ymsgr&ts=&token=%s" diff -r 9639747bb98c -r 1c8d7165df6b libpurple/prpl.h diff -r 9639747bb98c -r 1c8d7165df6b libpurple/purple.h.in diff -r 9639747bb98c -r 1c8d7165df6b pidgin/Makefile.am diff -r 9639747bb98c -r 1c8d7165df6b pidgin/Makefile.mingw diff -r 9639747bb98c -r 1c8d7165df6b pidgin/gtkblist.c diff -r 9639747bb98c -r 1c8d7165df6b pidgin/gtkimhtml.c --- a/pidgin/gtkimhtml.c Tue May 26 02:46:14 2009 +0000 +++ b/pidgin/gtkimhtml.c Tue May 26 02:46:24 2009 +0000 @@ -5062,6 +5062,7 @@ gtk_widget_show(img); g_object_set_data_full(G_OBJECT(anchor), "gtkimhtml_plaintext", text, g_free); g_object_set_data(G_OBJECT(anchor), "gtkimhtml_tiptext", text); + g_object_set_data_full(G_OBJECT(anchor), "gtkimhtml_htmltext", g_strdup(smiley), g_free); gtk_text_view_add_child_at_anchor(GTK_TEXT_VIEW(imhtml), ebox, anchor); } } else { diff -r 9639747bb98c -r 1c8d7165df6b pidgin/gtkmain.c