changeset 24565:915fdb649210

Send the "client-accepts-full-bind-result" attribute for Google Talk when using SASL auth. This prevents errors when people with googlemail.com accounts add their account using the gmail.com domain or similar. Fixes #6949. committer: John Bailey <rekkanoryo@rekkanoryo.org>
author Paul Aurich <paul@darkrain42.org>
date Sat, 29 Nov 2008 19:44:57 +0000
parents 5f597914cd01
children e1c38e93d5c3
files ChangeLog libpurple/protocols/jabber/auth.c
diffstat 2 files changed, 7 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Sat Nov 29 19:35:13 2008 +0000
+++ b/ChangeLog	Sat Nov 29 19:44:57 2008 +0000
@@ -26,6 +26,9 @@
 	* Gadu-Gadu now does proper charset translations where needed (Adam
 	  Strzelecki)
 	* Quit trying to get user info for XMPP MUC's (Paul Aurich)
+	* Send "client-accepts-full-bind-result" attribute during SASL login for
+	  XMPP accounts.  Will fix Google Talk login failures if the user
+	  configures the wrong domain for his/her account.
 
 	Pidgin:
 	* On GTK+ 2.14 and higher, we're using the gtk-tooltip-delay setting
--- a/libpurple/protocols/jabber/auth.c	Sat Nov 29 19:35:13 2008 +0000
+++ b/libpurple/protocols/jabber/auth.c	Sat Nov 29 19:44:57 2008 +0000
@@ -397,6 +397,10 @@
 		auth = xmlnode_new("auth");
 		xmlnode_set_namespace(auth, "urn:ietf:params:xml:ns:xmpp-sasl");
 		xmlnode_set_attrib(auth, "mechanism", js->current_mech);
+		
+		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) {
 				xmlnode_insert_data(auth, "=", -1);