Add an option to stop the connection when SASL fails.

This commit is contained in:
LemonBoy 2016-07-12 13:59:46 +02:00
commit 91c9e871c7
3 changed files with 25 additions and 0 deletions

View file

@ -48,6 +48,7 @@ static gboolean sasl_timeout(IRC_SERVER_REC *server)
cap_finish_negotiation(server);
server->sasl_timeout = 0;
server->sasl_success = FALSE;
signal_emit("server sasl failure", 2, server, "The authentication timed out");
@ -84,6 +85,8 @@ static void sasl_fail(IRC_SERVER_REC *server, const char *data, const char *from
params = event_get_params(data, 2, NULL, &error);
server->sasl_success = FALSE;
signal_emit("server sasl failure", 2, server, error);
/* Terminate the negotiation */
@ -99,6 +102,8 @@ static void sasl_already(IRC_SERVER_REC *server, const char *data, const char *f
server->sasl_timeout = 0;
}
server->sasl_success = TRUE;
signal_emit("server sasl success", 1, server);
/* We're already authenticated, do nothing */
@ -112,6 +117,8 @@ static void sasl_success(IRC_SERVER_REC *server, const char *data, const char *f
server->sasl_timeout = 0;
}
server->sasl_success = TRUE;
signal_emit("server sasl success", 1, server);
/* The authentication succeeded, time to finish the CAP negotiation */