SASL: Support receiving USER and NICK after CAP END

This commit is contained in:
Alexey Sokolov
2025-03-16 09:44:10 +00:00
parent a7dffb8ff1
commit 0a45c4710a
2 changed files with 20 additions and 1 deletions

View File

@@ -16,6 +16,7 @@
#include <gmock/gmock.h>
#include <gtest/gtest.h>
#include <qstringview.h>
#include "znctest.h"
@@ -480,6 +481,24 @@ TEST_F(ZNCTest, SaslAuthPlainImapAuth) {
client2.ReadUntil(":irc.znc.in 903 foo :SASL authentication successful");
}
TEST_F(ZNCTest, SaslAuthUserAfterCapEnd) {
// kvirc sends this
auto znc = Run();
auto ircd = ConnectIRCd();
auto client = ConnectClient();
client.Write("CAP LS");
client.Write("PING :::1");
client.Write("CAP REQ :sasl");
client.Write("AUTHENTICATE PLAIN");
client.Write("AUTHENTICATE " +
QByteArrayLiteral("\0user\0hunter2").toBase64());
client.Write("CAP END");
client.ReadUntil("903 unknown-nick :SASL authentication successful");
client.Write("NICK nick");
client.Write("USER user 0 1 :2");
client.ReadUntil("001");
}
TEST_F(ZNCTest, SaslAuthAbort) {
auto znc = Run();
auto ircd = ConnectIRCd();