changeset 25724:cd4a5275ba06

merge of '421269ebbe32a67020772ec7ba39a1e5f8b14b4c' and 'e93b917159d299a748daabcb28522fd911304d55'
author Marcus Lundblad <ml@update.uu.se>
date Sat, 27 Sep 2008 19:39:40 +0000
parents be762644486f (current diff) e414fb3c8c70 (diff)
children daaabfcf5c2b
files
diffstat 7 files changed, 52 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/COPYRIGHT	Sat Sep 27 19:39:17 2008 +0000
+++ b/COPYRIGHT	Sat Sep 27 19:39:40 2008 +0000
@@ -425,6 +425,7 @@
 Gal Topper
 Chris Toshok
 Ken Tossell
+Marcus Trautwig
 Tom Tromey
 Todd Troxell
 Brad Turcotte
--- a/ChangeLog	Sat Sep 27 19:39:17 2008 +0000
+++ b/ChangeLog	Sat Sep 27 19:39:40 2008 +0000
@@ -5,6 +5,8 @@
 	* Restored the "Has You" feature to the MSN protocol tooltips.
 	* Fixed a crash on removing a custom buddy icon on a buddy.
 	* Fixed a crash caused by certain self-signed SSL certificates.
+	* Enable a number of strong ciphers which were previously disabled
+	  when using NSS.  (Thanks to Marcus Trautwig.)
 
 	Pidgin:
 	* The status selector now saves your message when changing status.
@@ -13,6 +15,8 @@
 	  help with discoverability.  CTRL+S is no longer bound to mute.
 	* Added ability to change the color of visited links (using the theme
 	  control plugin, or setting the color in ~/.gtkrc-2.0)
+	* Fix a crash occuring when a custom smiley is deleted and re-added and
+	  used in an open conversation after being re-added
 
 	Finch:
 	* A new 'Nested Grouping' option in the 'Grouping' plugin. Group
@@ -24,6 +28,10 @@
 	* Sending and receiving custom smileys using the specification in
 	  XEP-0231 (bits of binary) and XHTML-IM
 
+	Yahoo:
+	* Only send a Ping once every hour.  This prevents the account from
+	  being disconnected from the server periodically.
+
 version 2.5.1 (08/30/2008):
 	libpurple:
 	* In the Join/Part plugin, add the ability to apply the rules to
--- a/libpurple/dnsquery.c	Sat Sep 27 19:39:17 2008 +0000
+++ b/libpurple/dnsquery.c	Sat Sep 27 19:39:40 2008 +0000
@@ -461,8 +461,8 @@
 		return FALSE;
 	}
 	if (rc < sizeof(dns_params)) {
-		purple_debug_error("dns", "Tried to read %" G_GSSIZE_FORMAT
-				" bytes from child but only read %" G_GSSIZE_FORMAT "\n",
+		purple_debug_error("dns", "Tried to write %" G_GSSIZE_FORMAT
+				" bytes to child but only wrote %" G_GSSIZE_FORMAT "\n",
 				sizeof(dns_params), rc);
 		purple_dnsquery_resolver_destroy(resolver);
 		return FALSE;
--- a/libpurple/plugins/ssl/ssl-nss.c	Sat Sep 27 19:39:17 2008 +0000
+++ b/libpurple/plugins/ssl/ssl-nss.c	Sat Sep 27 19:39:40 2008 +0000
@@ -141,6 +141,19 @@
 	g_free(lib);
 	NSS_SetDomesticPolicy();
 
+	SSL_CipherPrefSetDefault(TLS_DHE_RSA_WITH_AES_256_CBC_SHA, 1);
+	SSL_CipherPrefSetDefault(TLS_DHE_DSS_WITH_AES_256_CBC_SHA, 1);
+	SSL_CipherPrefSetDefault(TLS_RSA_WITH_AES_256_CBC_SHA, 1);
+	SSL_CipherPrefSetDefault(TLS_DHE_DSS_WITH_RC4_128_SHA, 1);
+	SSL_CipherPrefSetDefault(TLS_DHE_RSA_WITH_AES_128_CBC_SHA, 1);
+	SSL_CipherPrefSetDefault(TLS_DHE_DSS_WITH_AES_128_CBC_SHA, 1);
+	SSL_CipherPrefSetDefault(SSL_RSA_WITH_RC4_128_SHA, 1);
+	SSL_CipherPrefSetDefault(TLS_RSA_WITH_AES_128_CBC_SHA, 1);
+	SSL_CipherPrefSetDefault(SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA, 1);
+	SSL_CipherPrefSetDefault(SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA, 1);
+	SSL_CipherPrefSetDefault(SSL_DHE_RSA_WITH_DES_CBC_SHA, 1);
+	SSL_CipherPrefSetDefault(SSL_DHE_DSS_WITH_DES_CBC_SHA, 1);
+
 	_identity = PR_GetUniqueIdentity("Purple");
 	_nss_methods = PR_GetDefaultIOMethods();
 }
--- a/libpurple/protocols/msn/group.h	Sat Sep 27 19:39:17 2008 +0000
+++ b/libpurple/protocols/msn/group.h	Sat Sep 27 19:39:40 2008 +0000
@@ -33,10 +33,10 @@
 #include "userlist.h"
 
 #define MSN_INDIVIDUALS_GROUP_ID	"1983"
-#define MSN_INDIVIDUALS_GROUP_NAME	"Other Contacts"
+#define MSN_INDIVIDUALS_GROUP_NAME	_("Other Contacts")
 
 #define MSN_NON_IM_GROUP_ID		"email"
-#define MSN_NON_IM_GROUP_NAME	"Non-IM Contacts"
+#define MSN_NON_IM_GROUP_NAME	_("Non-IM Contacts")
 
 /**
  * A group.
--- a/pidgin/gtkimhtml.c	Sat Sep 27 19:39:17 2008 +0000
+++ b/pidgin/gtkimhtml.c	Sat Sep 27 19:39:40 2008 +0000
@@ -348,6 +348,9 @@
 			g_string_free (t->values, TRUE);
 			g_free (t->children);
 		}
+		if (t && t->image) {
+			t->image->imhtml = NULL;
+		}
 		g_free (t);
 	}
 }
@@ -1958,7 +1961,6 @@
 	}
 }
 
-/* this isn't used yet
 static void gtk_smiley_tree_remove (GtkSmileyTree     *tree,
 			GtkIMHtmlSmiley   *smiley)
 {
@@ -1974,7 +1976,7 @@
 
 		pos = strchr (t->values->str, *x);
 		if (pos)
-			t = t->children [(int) pos - (int) t->values->str];
+			t = t->children [(unsigned int) pos - (unsigned int) t->values->str];
 		else
 			return;
 
@@ -1985,8 +1987,6 @@
 		t->image = NULL;
 	}
 }
-*/
-
 
 static gint
 gtk_smiley_tree_lookup (GtkSmileyTree *tree,
@@ -2046,6 +2046,25 @@
 	return 0;
 }
 
+static void
+gtk_imhtml_disassociate_smiley_foreach(gpointer key, gpointer value,
+	gpointer user_data)
+{
+	GtkSmileyTree *tree = (GtkSmileyTree *) value;
+	GtkIMHtmlSmiley *smiley = (GtkIMHtmlSmiley *) user_data;
+	gtk_smiley_tree_remove(tree, smiley);
+}
+
+static void
+gtk_imhtml_disassociate_smiley(GtkIMHtmlSmiley *smiley)
+{
+	if (smiley->imhtml) {
+		gtk_smiley_tree_remove(smiley->imhtml->default_smilies, smiley);
+		g_hash_table_foreach(smiley->imhtml->smiley_data, 
+			gtk_imhtml_disassociate_smiley_foreach, smiley);
+	}
+}
+
 void
 gtk_imhtml_associate_smiley (GtkIMHtml       *imhtml,
 			     const gchar     *sml,
@@ -5617,12 +5636,14 @@
 	smiley->smile = g_strdup(shortcut);
 	smiley->hidden = hide;
 	smiley->flags = flags;
+	smiley->imhtml = NULL;
 	gtk_imhtml_smiley_reload(smiley);
 	return smiley;
 }
 
 void gtk_imhtml_smiley_destroy(GtkIMHtmlSmiley *smiley)
 {
+	gtk_imhtml_disassociate_smiley(smiley);
 	g_free(smiley->smile);
 	g_free(smiley->file);
 	if (smiley->icon)
--- a/po/POTFILES.in	Sat Sep 27 19:39:17 2008 +0000
+++ b/po/POTFILES.in	Sat Sep 27 19:39:40 2008 +0000
@@ -98,6 +98,7 @@
 libpurple/protocols/msn/contact.c
 libpurple/protocols/msn/dialog.c
 libpurple/protocols/msn/error.c
+libpurple/protocols/msn/group.h
 libpurple/protocols/msn/msn.c
 libpurple/protocols/msn/nexus.c
 libpurple/protocols/msn/notification.c