summaryrefslogtreecommitdiff
path: root/modules/pseudoclients/nickserv
diff options
context:
space:
mode:
Diffstat (limited to 'modules/pseudoclients/nickserv')
-rw-r--r--modules/pseudoclients/nickserv/account.cpp4
-rw-r--r--modules/pseudoclients/nickserv/nickserv.cpp16
2 files changed, 12 insertions, 8 deletions
diff --git a/modules/pseudoclients/nickserv/account.cpp b/modules/pseudoclients/nickserv/account.cpp
index 55c537a0c..675a58acb 100644
--- a/modules/pseudoclients/nickserv/account.cpp
+++ b/modules/pseudoclients/nickserv/account.cpp
@@ -165,6 +165,10 @@ void AccountImpl::SetDisplay(const NickServ::Nick *na)
NickServ::nickcore_map& map = NickServ::service->GetAccountList();
+ /* this affects the serialized aliases */
+ for (unsigned i = 0; i < aliases->size(); ++i)
+ aliases->at(i)->QueueUpdate();
+
/* Remove the core from the list */
map.erase(this->display);
diff --git a/modules/pseudoclients/nickserv/nickserv.cpp b/modules/pseudoclients/nickserv/nickserv.cpp
index 75d68c430..895fc2937 100644
--- a/modules/pseudoclients/nickserv/nickserv.cpp
+++ b/modules/pseudoclients/nickserv/nickserv.cpp
@@ -29,7 +29,7 @@ class NickServCollide : public Timer
Reference<NickServ::Nick> na;
public:
- NickServCollide(NickServ::NickServService *nss, User *user, NickServ::Nick *nick, time_t delay) : Timer(delay), service(nss), u(user), ts(user->timestamp), na(nick)
+ NickServCollide(Module *me, NickServ::NickServService *nss, User *user, NickServ::Nick *nick, time_t delay) : Timer(me, delay), service(nss), u(user), ts(user->timestamp), na(nick)
{
}
@@ -52,7 +52,7 @@ class NickServHeld : public Timer
Reference<NickServ::Nick> na;
Anope::string nick;
public:
- NickServHeld(NickServ::Nick *n, long l) : Timer(l), na(n), nick(na->nick)
+ NickServHeld(Module *me, NickServ::Nick *n, long l) : Timer(me, l), na(n), nick(na->nick)
{
n->Extend<bool>("HELD");
}
@@ -74,8 +74,8 @@ class NickServRelease : public User, public Timer
Anope::string nick;
public:
- NickServRelease(NickServ::Nick *na, time_t delay) : User(na->nick, Config->GetModule("nickserv")->Get<const Anope::string>("enforceruser", "user"),
- Config->GetModule("nickserv")->Get<const Anope::string>("enforcerhost", "services.localhost.net"), "", "", Me, "Services Enforcer", Anope::CurTime, "", Servers::TS6_UID_Retrieve(), NULL), Timer(delay), nick(na->nick)
+ NickServRelease(Module *me, NickServ::Nick *na, time_t delay) : User(na->nick, Config->GetModule("nickserv")->Get<const Anope::string>("enforceruser", "user"),
+ Config->GetModule("nickserv")->Get<const Anope::string>("enforcerhost", "services.localhost.net"), "", "", Me, "Services Enforcer", Anope::CurTime, "", IRCD->UID_Retrieve(), NULL), Timer(me, delay), nick(na->nick)
{
/* Erase the current release timer and use the new one */
Anope::map<NickServRelease *>::iterator nit = NickServReleases.find(this->nick);
@@ -139,12 +139,12 @@ class NickServCore : public Module, public NickServ::NickServService
{
collided.Unset(na);
- new NickServHeld(na, Config->GetModule("nickserv")->Get<time_t>("releasetimeout", "1m"));
+ new NickServHeld(this, na, Config->GetModule("nickserv")->Get<time_t>("releasetimeout", "1m"));
if (IRCD->CanSVSHold)
IRCD->SendSVSHold(na->nick, Config->GetModule("nickserv")->Get<time_t>("releasetimeout", "1m"));
else
- new NickServRelease(na, Config->GetModule("nickserv")->Get<time_t>("releasetimeout", "1m"));
+ new NickServRelease(this, na, Config->GetModule("nickserv")->Get<time_t>("releasetimeout", "1m"));
}
}
@@ -249,13 +249,13 @@ class NickServCore : public Module, public NickServ::NickServService
{
time_t killquick = Config->GetModule("nickserv")->Get<time_t>("killquick", "20s");
u->SendMessage(*NickServ, _("If you do not change within %s, I will change your nick."), Anope::Duration(killquick, u->Account()).c_str());
- new NickServCollide(this, u, na, killquick);
+ new NickServCollide(this, this, u, na, killquick);
}
else
{
time_t kill = Config->GetModule("nickserv")->Get<time_t>("kill", "60s");
u->SendMessage(*NickServ, _("If you do not change within %s, I will change your nick."), Anope::Duration(kill, u->Account()).c_str());
- new NickServCollide(this, u, na, kill);
+ new NickServCollide(this, this, u, na, kill);
}
}