summaryrefslogtreecommitdiff
path: root/modules/protocol
diff options
context:
space:
mode:
Diffstat (limited to 'modules/protocol')
-rw-r--r--modules/protocol/inspircd20.cpp4
-rw-r--r--modules/protocol/unreal.cpp11
2 files changed, 9 insertions, 6 deletions
diff --git a/modules/protocol/inspircd20.cpp b/modules/protocol/inspircd20.cpp
index 8dbdfb2ff..9bb3d9e1a 100644
--- a/modules/protocol/inspircd20.cpp
+++ b/modules/protocol/inspircd20.cpp
@@ -483,7 +483,7 @@ struct IRCDMessageEncap : IRCDMessage
u->SetRealname(params[3]);
UplinkSocket::Message(u) << "FNAME " << params[3];
}
- else if (params[1] == "SASL" && params.size() == 6)
+ else if (Config->NSSASL && params[1] == "SASL" && params.size() == 6)
{
class InspIRCDSASLIdentifyRequest : public IdentifyRequest
{
@@ -501,6 +501,8 @@ struct IRCDMessageEncap : IRCDMessage
void OnFail() anope_override
{
UplinkSocket::Message(Me) << "ENCAP " << this->uid.substr(0, 3) << " SASL " << Me->GetSID() << " " << this->uid << " " << " D F";
+
+ Log(findbot(Config->NickServ)) << "A user failed to identify for account " << this->GetAccount() << " using SASL";
}
};
diff --git a/modules/protocol/unreal.cpp b/modules/protocol/unreal.cpp
index 03a63687f..62157b8b4 100644
--- a/modules/protocol/unreal.cpp
+++ b/modules/protocol/unreal.cpp
@@ -867,7 +867,7 @@ struct IRCDMessageSASL : IRCDMessage
return;
UplinkSocket::Message(Me) << "SVSLOGIN " << this->uid.substr(0, p) << " " << this->uid << " " << this->GetAccount();
- UplinkSocket::Message(findbot(Config->NickServ)) << "SASL " << this->uid.substr(0, p) << " " << this->uid << " D S";
+ UplinkSocket::Message() << "SASL " << this->uid.substr(0, p) << " " << this->uid << " D S";
}
void OnFail() anope_override
@@ -876,7 +876,9 @@ struct IRCDMessageSASL : IRCDMessage
if (p == Anope::string::npos)
return;
- UplinkSocket::Message(findbot(Config->NickServ)) << "SASL " << this->uid.substr(0, p) << " " << this->uid << " D F";
+ UplinkSocket::Message() << "SASL " << this->uid.substr(0, p) << " " << this->uid << " D F";
+
+ Log(findbot(Config->NickServ)) << "A user failed to identify for account " << this->GetAccount() << " using SASL";
}
};
@@ -893,12 +895,11 @@ struct IRCDMessageSASL : IRCDMessage
bool Run(MessageSource &source, const std::vector<Anope::string> &params) anope_override
{
size_t p = params[1].find('!');
- if (p == Anope::string::npos)
+ if (!Config->NSSASL || p == Anope::string::npos)
return true;
- /* Unreal segfaults if we send from Me */
if (params[2] == "S")
- UplinkSocket::Message(findbot(Config->NickServ)) << "SASL " << params[1].substr(0, p) << " " << params[1] << " C +";
+ UplinkSocket::Message() << "SASL " << params[1].substr(0, p) << " " << params[1] << " C +";
else if (params[2] == "C")
{
Anope::string decoded;