diff --git a/src/EchoHub.Server.Irc/IrcCommandHandler.cs b/src/EchoHub.Server.Irc/IrcCommandHandler.cs index baf53e9..f2f6a0f 100644 --- a/src/EchoHub.Server.Irc/IrcCommandHandler.cs +++ b/src/EchoHub.Server.Irc/IrcCommandHandler.cs @@ -140,6 +140,15 @@ public sealed class IrcCommandHandler return; } + // AUTHENTICATE * = client aborts SASL + if (msg.Parameters[0] == "*") + { + _conn.IsSasl = false; + await _conn.SendNumericAsync(ServerName, IrcNumericReply.ERR_SASLFAIL, + ":SASL authentication aborted"); + return; + } + try { var decoded = Convert.FromBase64String(msg.Parameters[0]);