added sasl auth

This commit is contained in:
fourtf
2019-09-15 13:15:29 +02:00
parent 22ca20ad2a
commit a390649d0f
5 changed files with 29 additions and 19 deletions
+18 -15
View File
@@ -63,23 +63,26 @@ void IrcServer::initializeConnection(IrcConnection *connection,
connection->setRealName(this->data_->real.isEmpty() ? this->data_->user
: this->data_->nick);
if (this->data_->authType == IrcAuthType::Pass)
switch (this->data_->authType)
{
this->data_->getPassword(
this, [conn = new QObjectRef(connection) /* can't copy */,
this](const QString &password) mutable {
if (*conn)
{
(*conn)->setPassword(password);
this->open(Both);
}
case IrcAuthType::Sasl:
connection->setSaslMechanism("PLAIN");
[[fallthrough]];
case IrcAuthType::Pass:
this->data_->getPassword(
this, [conn = new QObjectRef(connection) /* can't copy */,
this](const QString &password) mutable {
if (*conn)
{
(*conn)->setPassword(password);
this->open(Both);
}
delete conn;
});
}
else
{
this->open(Both);
delete conn;
});
break;
default:
this->open(Both);
}
}