diff options
author | Adam <Adam@anope.org> | 2017-04-24 19:00:35 -0400 |
---|---|---|
committer | Adam <Adam@anope.org> | 2017-04-24 19:00:35 -0400 |
commit | aadf64d2c59325d96999cc29df1d12af2e889741 (patch) | |
tree | 4b030dc9dbdf285ece54b0cb2d14c3fe103ad6d6 /modules/sasl.cpp | |
parent | 645a9baabba32e50d25851ca1dbb125452c40b3a (diff) | |
parent | beac29b1d00235065090aa03b177e8671100bbc2 (diff) |
Merge commit 'beac29b1d00235065090aa03b177e8671100bbc2'
Diffstat (limited to 'modules/sasl.cpp')
-rw-r--r-- | modules/sasl.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/modules/sasl.cpp b/modules/sasl.cpp index a7e96bc9a..b79c0972d 100644 --- a/modules/sasl.cpp +++ b/modules/sasl.cpp @@ -118,7 +118,7 @@ class External : public Mechanism } NickServ::Account *nc = certs->FindAccountFromCert(mysess->cert); - if (!nc || nc->HasFieldS("NS_SUSPENDED")) + if (!nc || nc->HasFieldS("NS_SUSPENDED") || nc->IsUnconfirmed()) { Anope::Logger.Category("sasl").Bot("nickserv").Log(_("A user failed to identify using certificate {0} using SASL EXTERNAL"), mysess->cert); GetService()->Fail(sess); @@ -288,7 +288,7 @@ class SASLService : public SASL::Service, public Timer void IdentifyRequestListener::OnSuccess(NickServ::IdentifyRequest *req) { NickServ::Nick *na = NickServ::FindNick(req->GetAccount()); - if (!na || na->GetAccount()->HasFieldS("NS_SUSPENDED")) + if (!na || na->GetAccount()->HasFieldS("NS_SUSPENDED") || na->GetAccount()->IsUnconfirmed()) return OnFail(req); unsigned int maxlogins = Config->GetModule("nickserv/identify")->Get<unsigned int>("maxlogins"); @@ -319,6 +319,8 @@ void IdentifyRequestListener::OnFail(NickServ::IdentifyRequest *req) accountstatus = "nonexistent "; else if (na->GetAccount()->HasFieldS("NS_SUSPENDED")) accountstatus = "suspended "; + else if (na->GetAccount()->IsUnconfirmed()) + accountstatus = "unconfirmed "; Anope::Logger.Category("sasl").Bot("NickServ").Log(_("A user failed to identify for {0}account {1} using SASL"), accountstatus, req->GetAccount()); |