pidgin: c842e713: Skip the X-GOOGLE-TOKEN mech (given us b...

evands at pidgin.im evands at pidgin.im
Tue May 20 21:50:55 EDT 2008


-----------------------------------------------------------------
Revision: c842e71349e82744d9939f0250b08cd9104c2b3b
Ancestor: c88a3075ebd15bf3cae940ac330c60c4853771ca
Author: evands at pidgin.im
Date: 2008-05-21T01:49:03
Branch: im.pidgin.pidgin
URL: http://d.pidgin.im/viewmtn/revision/info/c842e71349e82744d9939f0250b08cd9104c2b3b

Modified files:
        libpurple/protocols/jabber/auth.c

ChangeLog: 

Skip the X-GOOGLE-TOKEN mech (given us by Google Talk when connecting with
SASL support), as we don't support it and its presence in the mechs list
makes us think we have another fallback left if we fail PLAIN, which can
distort the presented error message.

-------------- next part --------------
============================================================
--- libpurple/protocols/jabber/auth.c	8e99ca556f5791c7e113bcbcfddb8b5b02fd83f4
+++ libpurple/protocols/jabber/auth.c	f05ebdbe6f749b16b26acd16ed962c67b9ed29ec
@@ -499,6 +499,13 @@ jabber_auth_start(JabberStream *js, xmln
 	{
 		char *mech_name = xmlnode_get_data(mechnode);
 #ifdef HAVE_CYRUS_SASL
+		/* Don't include Google Talk's X-GOOGLE-TOKEN mechanism, as we will not
+		 * support it and including it gives a false fall-back to other mechs offerred,
+		 * leading to incorrect error handling.
+		 */
+		if (mech_name && !strcmp(mech_name, "X-GOOGLE-TOKEN"))
+			continue;
+
 		g_string_append(js->sasl_mechs, mech_name);
 		g_string_append_c(js->sasl_mechs, ' ');
 #else


More information about the Commits mailing list