Mercurial > pidgin.yaz
diff libpurple/protocols/jabber/parser.c @ 29962:32fe87f58d06
jabber: Backward compatibility in case any servers advertise other random 0.## versions
author | Paul Aurich <paul@darkrain42.org> |
---|---|
date | Tue, 09 Mar 2010 23:11:46 +0000 |
parents | 618c4165d4f8 |
children | 08c29a5c452a |
line wrap: on
line diff
--- a/libpurple/protocols/jabber/parser.c Tue Mar 09 23:09:54 2010 +0000 +++ b/libpurple/protocols/jabber/parser.c Tue Mar 09 23:11:46 2010 +0000 @@ -55,7 +55,6 @@ js->protocol_version.major = atoi(attrib); js->protocol_version.minor = dot ? atoi(dot + 1) : 0; - g_free(attrib); /* TODO: Check this against the spec; I'm not sure if the check * against minor is accurate. @@ -64,6 +63,12 @@ purple_connection_error_reason(js->gc, PURPLE_CONNECTION_ERROR_AUTHENTICATION_IMPOSSIBLE, _("XMPP Version Mismatch")); + + if (js->protocol_version.major == 0 && js->protocol_version.minor != 9) { + purple_debug_warning("jabber", "Treating version %s as 0.9 for backward " + "compatibility\n", attrib); + } + g_free(attrib); } else if(!xmlStrcmp(attributes[i], (xmlChar*) "id")) { g_free(js->stream_id); js->stream_id = attrib;