From 0e2d97f6b3bcffd5637eafa9a687e42a7c134f57 Mon Sep 17 00:00:00 2001 From: Wilmer van der Gaast Date: Sun, 1 Oct 2006 11:40:55 +0200 Subject: Can now log in to the jabber.com server (which pretends to support XMPP 1.0 but does NOT (seem to) support SASL authentication). --- protocols/jabber/io.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'protocols/jabber/io.c') diff --git a/protocols/jabber/io.c b/protocols/jabber/io.c index f62e059a..3dbc6faa 100644 --- a/protocols/jabber/io.c +++ b/protocols/jabber/io.c @@ -300,8 +300,20 @@ static xt_status jabber_pkt_features( struct xt_node *node, gpointer data ) from here to make sure the TLS session will be initialized properly before we attempt SASL authentication. */ if( ( c = xt_find_node( node->children, "mechanisms" ) ) ) + { if( sasl_pkt_mechanisms( c, data ) == XT_ABORT ) return XT_ABORT; + } + else + { + /* If the server *SEEMS* to support SASL authentication but + doesn't support it after all, we should try to do + authentication the other way. jabber.com doesn't seem to + do SASL while it pretends to be XMPP 1.0 compliant! */ + if( sasl_supported( gc ) ) + if( !jabber_start_iq_auth( gc ) ) + return XT_ABORT; + } if( ( c = xt_find_node( node->children, "bind" ) ) ) { -- cgit v1.2.3