Mercurial > pidgin
changeset 29856:a54e59c1c520
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.
author | Paul Aurich <paul@darkrain42.org> |
---|---|
date | Sat, 01 May 2010 16:37:07 +0000 |
parents | 552616f49f94 |
children | 4428b676c698 2829dd1cc118 |
files | ChangeLog libpurple/protocols/jabber/auth_cyrus.c libpurple/protocols/jabber/auth_plain.c |
diffstat | 3 files changed, 15 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- 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
--- 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) {
--- 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);