Implement SASL plain authentication

This commit is contained in:
louiz’
2020-06-15 00:18:51 +02:00
parent 655bc344d4
commit 2e1ddeb654
12 changed files with 235 additions and 25 deletions
+16
View File
@@ -325,6 +325,19 @@ void ConfigureIrcServerStep1(XmppComponent&, AdhocSession& session, XmlNode& com
}
}
{
XmlSubNode field(x, "field");
field["var"] = "sasl_password";
field["type"] = "text-private";
field["label"] = "SASL Password";
set_desc(field, "Use it to authenticate with your nick.");
if (!options.col<Database::SaslPassword>().empty())
{
XmlSubNode value(field, "value");
value.set_inner(options.col<Database::SaslPassword>());
}
}
{
XmlSubNode pass(x, "field");
pass["var"] = "pass";
@@ -482,6 +495,9 @@ void ConfigureIrcServerStep2(XmppComponent& xmpp_component, AdhocSession& sessio
else if (field->get_tag("var") == "nick" && value)
options.col<Database::Nick>() = value->get_inner();
else if (field->get_tag("var") == "sasl_password" && value)
options.col<Database::SaslPassword>() = value->get_inner();
else if (field->get_tag("var") == "pass" && value)
options.col<Database::Pass>() = value->get_inner();