changeset 30572:016b15f13443

merge of '6c7b27abd37198a7bf98e9255299159259bcffc7' and 'bdb5fe6e0e06c8f8275aff942d31b2d4359487bb'
author Elliott Sales de Andrade <qulogic@pidgin.im>
date Tue, 21 Sep 2010 04:37:26 +0000
parents 621182ecbfda (diff) a0a90f71275c (current diff)
children 22a713532200
files ChangeLog
diffstat 9 files changed, 47 insertions(+), 24 deletions(-) [+]
line wrap: on
line diff
--- a/COPYRIGHT	Mon Sep 20 01:08:08 2010 +0000
+++ b/COPYRIGHT	Tue Sep 21 04:37:26 2010 +0000
@@ -84,6 +84,7 @@
 Andrea Canciani
 Damien Carbery
 Michael Carlson
+Rodrigo Tobar Carrizo
 Keegan Carruthers-Smith
 Ludovico Cavedon
 Steve Cavilia
--- a/ChangeLog	Mon Sep 20 01:08:08 2010 +0000
+++ b/ChangeLog	Tue Sep 21 04:37:26 2010 +0000
@@ -27,9 +27,9 @@
 	* Add Google Chrome to the list of possible browsers on non-Windows
 	  systems.
 	* Add Chromium to the list of possible browsers on non-Windows systems.
-	* The "Manual" browser option is now stored as a string.  It is no longer
-	  necessary to specify a full path to the browser command. (rtobar)
-	  (#12024)
+	* The "Manual" browser option is now stored as a string.  It is no
+	  longer necessary to specify a full path to the browser command.
+	  (Rodrigo Tobar Carrizo) (#12024)
 	* The Send To menu can now be used if the active account in the
 	  conversation becomes disabled or inactive. (Keith Moyer) (#12471)
 
@@ -47,6 +47,11 @@
 	* Added support for using Google's relay servers when making voice and
 	  video calls to Google clients.
 	* Fix detecting file transfer proxies advertised by the server.
+	* Advertise support for Google Talk's JID Domain Discovery extension
+	  in all cases again (changed in 2.7.0), not just when the domain
+	  is "gmail.com" or "googlemail.com" (it's also needed for Google
+	  Talk used for accounts on arbitrary domains not using Google Apps
+	  for Your Domain). (#a14153)
 
 	Yahoo/Yahoo JAPAN:
 	* Stop doing unnecessary lookups of certain alias information.  This
--- a/libpurple/protocols/jabber/auth_cyrus.c	Mon Sep 20 01:08:08 2010 +0000
+++ b/libpurple/protocols/jabber/auth_cyrus.c	Tue Sep 21 04:37:26 2010 +0000
@@ -321,11 +321,8 @@
 		xmlnode_set_namespace(auth, NS_XMPP_SASL);
 		xmlnode_set_attrib(auth, "mechanism", js->current_mech);
 
-		if (g_str_equal(js->user->domain, "gmail.com") ||
-				g_str_equal(js->user->domain, "googlemail.com")) {
-			xmlnode_set_attrib(auth, "xmlns:ga", "http://www.google.com/talk/protocol/auth");
-			xmlnode_set_attrib(auth, "ga:client-uses-full-bind-result", "true");
-		}
+		xmlnode_set_attrib(auth, "xmlns:ga", "http://www.google.com/talk/protocol/auth");
+		xmlnode_set_attrib(auth, "ga:client-uses-full-bind-result", "true");
 
 		if (clientout) {
 			if (coutlen == 0) {
--- a/libpurple/protocols/jabber/auth_plain.c	Mon Sep 20 01:08:08 2010 +0000
+++ b/libpurple/protocols/jabber/auth_plain.c	Tue Sep 21 04:37:26 2010 +0000
@@ -40,11 +40,8 @@
 	auth = xmlnode_new("auth");
 	xmlnode_set_namespace(auth, NS_XMPP_SASL);
 
-	if (g_str_equal(js->user->domain, "gmail.com") ||
-			g_str_equal(js->user->domain, "googlemail.com")) {
-		xmlnode_set_attrib(auth, "xmlns:ga", "http://www.google.com/talk/protocol/auth");
-		xmlnode_set_attrib(auth, "ga:client-uses-full-bind-result", "true");
-	}
+	xmlnode_set_attrib(auth, "xmlns:ga", "http://www.google.com/talk/protocol/auth");
+	xmlnode_set_attrib(auth, "ga:client-uses-full-bind-result", "true");
 
 	response = g_string_new("");
 	response = g_string_append_c(response, '\0');
--- a/libpurple/protocols/jabber/google/google_session.c	Mon Sep 20 01:08:08 2010 +0000
+++ b/libpurple/protocols/jabber/google/google_session.c	Tue Sep 21 04:37:26 2010 +0000
@@ -636,7 +636,7 @@
 
 		if (cname && type && address && port) {
 			PurpleMediaCandidateType candidate_type;
-			guint prio = preference ? atof(preference) * 1000 : 0;
+			guint prio = preference ? g_ascii_strtod(preference, NULL) * 1000 : 0;
 			
 			g_snprintf(n, sizeof(n), "S%d", name++);
 			
--- a/libpurple/protocols/jabber/jabber.h	Mon Sep 20 01:08:08 2010 +0000
+++ b/libpurple/protocols/jabber/jabber.h	Tue Sep 21 04:37:26 2010 +0000
@@ -338,11 +338,25 @@
  */
 char *jabber_parse_error(JabberStream *js, xmlnode *packet, PurpleConnectionError *reason);
 
-void jabber_add_feature(const gchar *namespace, JabberFeatureEnabled cb); /* cb may be NULL */
+/**
+ * Add a feature to the list of features advertised via disco#info.  If you
+ * call this while accounts are connected, Bad Things(TM) will happen because
+ * the Entity Caps hash will be out-of-date (which should be fixed :/)
+ *
+ * @param namespace The namespace of the feature
+ * @param cb        A callback determining whether or not this feature
+ *                  will advertised; may be NULL.
+ */
+void jabber_add_feature(const gchar *namespace, JabberFeatureEnabled cb);
 void jabber_remove_feature(const gchar *namespace);
 
-/** Adds an identity to this jabber library instance. For list of valid values visit the
- *	website of the XMPP Registrar ( http://www.xmpp.org/registrar/disco-categories.html#client ).
+/** Adds an identity to this jabber library instance. For list of valid values
+ * visit the website of the XMPP Registrar
+ * (http://www.xmpp.org/registrar/disco-categories.html#client).
+ *
+ * Like with jabber_add_feature, if you call this while accounts are connected,
+ * Bad Things will happen.
+ *
  *  @param category the category of the identity.
  *  @param type the type of the identity.
  *  @param language the language localization of the name. Can be NULL.
--- a/libpurple/protocols/jabber/jingle/transport.c	Mon Sep 20 01:08:08 2010 +0000
+++ b/libpurple/protocols/jabber/jingle/transport.c	Tue Sep 21 04:37:26 2010 +0000
@@ -108,7 +108,6 @@
 static void
 jingle_transport_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
 {
-	JingleTransport *transport;
 	g_return_if_fail(JINGLE_IS_TRANSPORT(object));
 
 	switch (prop_id) {
@@ -121,7 +120,6 @@
 static void
 jingle_transport_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
 {
-	JingleTransport *transport;
 	g_return_if_fail(JINGLE_IS_TRANSPORT(object));
 
 	switch (prop_id) {
--- a/pidgin/gtknotify.c	Mon Sep 20 01:08:08 2010 +0000
+++ b/pidgin/gtknotify.c	Tue Sep 21 04:37:26 2010 +0000
@@ -1392,7 +1392,7 @@
 	{
 		const char *web_command;
 
-		web_command = purple_prefs_get_string(PIDGIN_PREFS_ROOT "/browsers/command");
+		web_command = purple_prefs_get_string(PIDGIN_PREFS_ROOT "/browsers/manual_command");
 
 		if (web_command == NULL || *web_command == '\0')
 		{
--- a/pidgin/gtkprefs.c	Mon Sep 20 01:08:08 2010 +0000
+++ b/pidgin/gtkprefs.c	Tue Sep 21 04:37:26 2010 +0000
@@ -1811,7 +1811,7 @@
 {
 	const char *program = gtk_entry_get_text(GTK_ENTRY(entry));
 
-	purple_prefs_set_string(PIDGIN_PREFS_ROOT "/browsers/command", program);
+	purple_prefs_set_string(PIDGIN_PREFS_ROOT "/browsers/manual_command", program);
 
 	/* carry on normally */
 	return FALSE;
@@ -1968,7 +1968,7 @@
 
 		entry = gtk_entry_new();
 		gtk_entry_set_text(GTK_ENTRY(entry),
-						   purple_prefs_get_string(PIDGIN_PREFS_ROOT "/browsers/command"));
+						   purple_prefs_get_string(PIDGIN_PREFS_ROOT "/browsers/manual_command"));
 		g_signal_connect(G_OBJECT(entry), "focus-out-event",
 						 G_CALLBACK(manual_browser_set), NULL);
 		hbox = pidgin_add_widget_to_vbox(GTK_BOX(vbox), _("_Manual:\n(%s for URL)"), sg, entry, TRUE, NULL);
@@ -2828,7 +2828,7 @@
 	/* Browsers */
 	purple_prefs_add_none(PIDGIN_PREFS_ROOT "/browsers");
 	purple_prefs_add_int(PIDGIN_PREFS_ROOT "/browsers/place", PIDGIN_BROWSER_DEFAULT);
-	purple_prefs_add_string(PIDGIN_PREFS_ROOT "/browsers/command", "");
+	purple_prefs_add_string(PIDGIN_PREFS_ROOT "/browsers/manual_command", "");
 	purple_prefs_add_string(PIDGIN_PREFS_ROOT "/browsers/browser", "mozilla");
 #endif
 
@@ -2859,7 +2859,7 @@
 void
 pidgin_prefs_update_old(void)
 {
-	const char *str;
+	const char *str = NULL;
 
 	purple_prefs_rename("/gaim/gtk", PIDGIN_PREFS_ROOT);
 
@@ -2875,6 +2875,17 @@
 	purple_prefs_rename_boolean_toggle(PIDGIN_PREFS_ROOT "/conversations/ignore_colors",
 									 PIDGIN_PREFS_ROOT "/conversations/show_incoming_formatting");
 
+	/*
+	 * this path pref changed to a string, so migrate.  I know this will break
+	 * things for and confuse users that use multiple versions with the same
+	 * config directory, but I'm not inclined to want to deal with that at the
+	 * moment. -- rekkanoryo
+	 */
+	if((str = purple_prefs_get_path(PIDGIN_PREFS_ROOT "/browsers/command")) != NULL) {
+		purple_prefs_set_string(PIDGIN_PREFS_ROOT "/browsers/manual_command", str);
+		purple_prefs_remove(PIDGIN_PREFS_ROOT "/browsers/command");
+	}
+
 	/* this string pref moved into the core, try to be friendly */
 	purple_prefs_rename(PIDGIN_PREFS_ROOT "/idle/reporting_method", "/purple/away/idle_reporting");
 	if ((str = purple_prefs_get_string("/purple/away/idle_reporting")) &&