From 501b4e06244dbd333ee207ceade37592482e0fe7 Mon Sep 17 00:00:00 2001 From: Wilmer van der Gaast Date: Mon, 2 Oct 2006 18:42:32 +0200 Subject: Added a useful error message for SASL negotiation failures and turned off the little hack in jabber_write() for now because it breaks error handling. --- protocols/jabber/io.c | 8 +++++++- protocols/jabber/sasl.c | 1 + 2 files changed, 8 insertions(+), 1 deletion(-) (limited to 'protocols') diff --git a/protocols/jabber/io.c b/protocols/jabber/io.c index 8834c906..634e5b99 100644 --- a/protocols/jabber/io.c +++ b/protocols/jabber/io.c @@ -51,7 +51,10 @@ int jabber_write( struct gaim_connection *gc, char *buf, int len ) /* Try if we can write it immediately so we don't have to do it via the event handler. If not, add the handler. (In most cases it probably won't be necessary.) */ + /* Disabling this trick for now because there's really not + a good way to catch errors yet. :-( if( jabber_write_callback( gc, jd->fd, GAIM_INPUT_WRITE ) ) + */ jd->w_inpa = b_input_add( jd->fd, GAIM_INPUT_WRITE, jabber_write_callback, gc ); } else @@ -63,7 +66,10 @@ int jabber_write( struct gaim_connection *gc, char *buf, int len ) jd->tx_len += len; } - /* FIXME: write_callback could've generated a real error! */ + /* FIXME: write_callback could've generated a real error! Have to + find a way to find out if we have to return 0 here. Looking for + ourselves in the linked list of connections is a possibility, + but it'd be too time-consuming... */ return 1; } diff --git a/protocols/jabber/sasl.c b/protocols/jabber/sasl.c index 39d45c9b..a9676338 100644 --- a/protocols/jabber/sasl.c +++ b/protocols/jabber/sasl.c @@ -63,6 +63,7 @@ xt_status sasl_pkt_mechanisms( struct xt_node *node, gpointer data ) if( !sup_plain && !sup_digest ) { + hide_login_progress( gc, "No known SASL authentication schemes supported" ); signoff( gc ); return XT_ABORT; } -- cgit v1.2.3