# HG changeset patch # User Paul Aurich # Date 1272731827 0 # Node ID a54e59c1c5200e682ad44d89f2c18667fac3bd6d # Parent 552616f49f94240e2d14b630e33196802d884cae jabber: Only add the ga:client-uses-full-bind-result to gmail/googlemail domains I think this should be okay, but admittedly it might cause issues. Anyway, the previous one definitely caused issues with Punjab, which fails to stringify the namespaced attributes. diff -r 552616f49f94 -r a54e59c1c520 ChangeLog --- a/ChangeLog Sat May 01 05:53:50 2010 +0000 +++ b/ChangeLog Sat May 01 16:37:07 2010 +0000 @@ -96,6 +96,11 @@ minutes). This fixes an issue with Openfire disconnecting a libpurple-baesd client that has just been quiet for about 6 minutes. + * Only support Google Talk's JID Domain Discovery extension + (allowing a user to log in with "@gmail.com" or "@googlemail.com" + interchangeably) for those two domains. This change was made + due to interoperability issues with some BOSH Connection Managers + and namespaced attributes. Yahoo/Yahoo JAPAN: * Attempt to better handle transparent proxies interfering with diff -r 552616f49f94 -r a54e59c1c520 libpurple/protocols/jabber/auth_cyrus.c --- a/libpurple/protocols/jabber/auth_cyrus.c Sat May 01 05:53:50 2010 +0000 +++ b/libpurple/protocols/jabber/auth_cyrus.c Sat May 01 16:37:07 2010 +0000 @@ -314,8 +314,11 @@ xmlnode_set_namespace(auth, 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 (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"); + } if (clientout) { if (coutlen == 0) { diff -r 552616f49f94 -r a54e59c1c520 libpurple/protocols/jabber/auth_plain.c --- a/libpurple/protocols/jabber/auth_plain.c Sat May 01 05:53:50 2010 +0000 +++ b/libpurple/protocols/jabber/auth_plain.c Sat May 01 16:37:07 2010 +0000 @@ -40,8 +40,11 @@ auth = xmlnode_new("auth"); xmlnode_set_namespace(auth, NS_XMPP_SASL); - 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 (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"); + } response = g_string_new(""); response = g_string_append_len(response, "\0", 1);