From ff3e396e92dfc6f95bf8e7a099e43cc0d3eebdf9 Mon Sep 17 00:00:00 2001 From: Adam Date: Fri, 9 Nov 2012 19:13:33 -0500 Subject: Add a config option to disable sasl --- modules/protocol/inspircd20.cpp | 4 +++- modules/protocol/unreal.cpp | 11 ++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) (limited to 'modules/protocol') 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 ¶ms) 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; -- cgit