1
0
mirror of https://github.com/anope/anope.git synced 2026-06-30 14:46:39 +02:00

sasl.h, m_sasl.cpp: Move IdentifyRequest to the header

This commit is contained in:
Daniel Vassdal
2014-02-14 15:03:42 -08:00
parent 1b1180fda6
commit b13bded620
2 changed files with 41 additions and 41 deletions
+40
View File
@@ -72,4 +72,44 @@ namespace SASL
sasl->DeleteSessions(this, true);
}
};
class IdentifyRequest : public ::IdentifyRequest
{
Anope::string uid;
public:
IdentifyRequest(Module *m, const Anope::string &id, const Anope::string &acc, const Anope::string &pass) : ::IdentifyRequest(m, acc, pass), uid(id) { }
void OnSuccess() anope_override
{
if (!sasl)
return;
NickAlias *na = NickAlias::Find(GetAccount());
if (!na)
return OnFail();
Session *s = sasl->GetSession(uid);
if (s)
{
sasl->Succeed(s, na->nc);
delete s;
}
}
void OnFail() anope_override
{
if (!sasl)
return;
Session *s = sasl->GetSession(uid);
if (s)
{
sasl->Fail(s);
delete s;
}
Log(Config->GetClient("NickServ")) << "A user failed to identify for account " << this->GetAccount() << " using SASL";
}
};
}
+1 -41
View File
@@ -14,46 +14,6 @@ using namespace SASL;
class Plain : public Mechanism
{
class IdentifyRequest : public ::IdentifyRequest
{
Anope::string uid;
public:
IdentifyRequest(Module *m, const Anope::string &id, const Anope::string &acc, const Anope::string &pass) : ::IdentifyRequest(m, acc, pass), uid(id) { }
void OnSuccess() anope_override
{
if (!sasl)
return;
NickAlias *na = NickAlias::Find(GetAccount());
if (!na)
return OnFail();
Session *s = sasl->GetSession(uid);
if (s)
{
sasl->Succeed(s, na->nc);
delete s;
}
}
void OnFail() anope_override
{
if (!sasl)
return;
Session *s = sasl->GetSession(uid);
if (s)
{
sasl->Fail(s);
delete s;
}
Log(Config->GetClient("NickServ")) << "A user failed to identify for account " << this->GetAccount() << " using SASL";
}
};
public:
Plain(Module *o) : Mechanism(o, "PLAIN") { }
@@ -83,7 +43,7 @@ class Plain : public Mechanism
if (acc.empty() || pass.empty())
return;
IdentifyRequest *req = new IdentifyRequest(this->owner, m.source, acc, pass);
SASL::IdentifyRequest *req = new SASL::IdentifyRequest(this->owner, m.source, acc, pass);
FOREACH_MOD(OnCheckAuthentication, (NULL, req));
req->Dispatch();
}