From 49c4ea5fd94c9eee17dc5a8e0691ba1da9bf33b7 Mon Sep 17 00:00:00 2001 From: LemonBoy Date: Fri, 11 Sep 2015 23:20:07 +0200 Subject: Parse the error string received by the server So that in case of SASL failure the user sees a nice error message. --- src/irc/core/sasl.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/irc/core/sasl.c') diff --git a/src/irc/core/sasl.c b/src/irc/core/sasl.c index 8f3b823f..874b67f3 100644 --- a/src/irc/core/sasl.c +++ b/src/irc/core/sasl.c @@ -41,16 +41,22 @@ static void sasl_start (IRC_SERVER_REC *server, const char *data, const char *fr static void sasl_fail (IRC_SERVER_REC *server, const char *data, const char *from) { + char *params, *error; + /* Stop any pending timeout, if any */ if (server->sasl_timeout != -1) { g_source_remove(server->sasl_timeout); server->sasl_timeout = -1; } - g_critical("Authentication failed with reason \"%s\"", data); + params = event_get_params(data, 2, NULL, &error); + + g_critical("Authentication failed with reason \"%s\"", error); /* Terminate the negotiation */ cap_finish_negotiation(server); + + g_free(params); } static void sasl_already (IRC_SERVER_REC *server, const char *data, const char *from) -- cgit v1.2.3