diff options
author | attilamolnar <attilamolnar@hush.com> | 2013-05-16 16:00:19 +0200 |
---|---|---|
committer | attilamolnar <attilamolnar@hush.com> | 2013-05-18 21:23:52 +0200 |
commit | f3d134a5b642b83e865c03b45c313df7f829ba15 (patch) | |
tree | d7a2e9b138b3d9d784f067b3db4eade52281dbae /src | |
parent | b0d652a15f46bbd05657b39ca1bcadd42769354b (diff) |
Get rid of the NICKForced extension
Don't run OnUserPreNick when the nick change is forced
Diffstat (limited to 'src')
-rw-r--r-- | src/inspircd.cpp | 2 | ||||
-rw-r--r-- | src/modules/m_nickflood.cpp | 3 | ||||
-rw-r--r-- | src/modules/m_nicklock.cpp | 3 | ||||
-rw-r--r-- | src/modules/m_nonicks.cpp | 4 | ||||
-rw-r--r-- | src/users.cpp | 19 |
5 files changed, 9 insertions, 22 deletions
diff --git a/src/inspircd.cpp b/src/inspircd.cpp index 775e6f130..67cf8707b 100644 --- a/src/inspircd.cpp +++ b/src/inspircd.cpp @@ -271,7 +271,6 @@ InspIRCd::InspIRCd(int argc, char** argv) : * THIS MUST MATCH THE ORDER OF DECLARATION OF THE FUNCTORS, e.g. the methods * themselves within the class. */ - NICKForced("NICKForced", NULL), OperQuit("OperQuit", NULL), GenRandom(&HandleGenRandom), IsChannel(&HandleIsChannel), @@ -282,7 +281,6 @@ InspIRCd::InspIRCd(int argc, char** argv) : { ServerInstance = this; - Extensions.Register(&NICKForced); Extensions.Register(&OperQuit); FailedPortList pl; diff --git a/src/modules/m_nickflood.cpp b/src/modules/m_nickflood.cpp index e7533fc07..de9b64f99 100644 --- a/src/modules/m_nickflood.cpp +++ b/src/modules/m_nickflood.cpp @@ -150,9 +150,6 @@ class ModuleNickFlood : public Module ModResult OnUserPreNick(User* user, const std::string &newnick) CXX11_OVERRIDE { - if (ServerInstance->NICKForced.get(user)) /* Allow forced nick changes */ - return MOD_RES_PASSTHRU; - for (UCListIter i = user->chans.begin(); i != user->chans.end(); i++) { Channel *channel = *i; diff --git a/src/modules/m_nicklock.cpp b/src/modules/m_nicklock.cpp index 8e0d5ae7f..d48687113 100644 --- a/src/modules/m_nicklock.cpp +++ b/src/modules/m_nicklock.cpp @@ -168,9 +168,6 @@ class ModuleNickLock : public Module if (!IS_LOCAL(user)) return MOD_RES_PASSTHRU; - if (ServerInstance->NICKForced.get(user)) /* Allow forced nick changes */ - return MOD_RES_PASSTHRU; - if (locked.get(user)) { user->WriteNumeric(447, "%s :You cannot change your nickname (your nick is locked)",user->nick.c_str()); diff --git a/src/modules/m_nonicks.cpp b/src/modules/m_nonicks.cpp index 58fe054b5..8981097be 100644 --- a/src/modules/m_nonicks.cpp +++ b/src/modules/m_nonicks.cpp @@ -61,10 +61,6 @@ class ModuleNoNickChange : public Module if (!IS_LOCAL(user)) return MOD_RES_PASSTHRU; - // Allow forced nick changes. - if (ServerInstance->NICKForced.get(user)) - return MOD_RES_PASSTHRU; - for (UCListIter i = user->chans.begin(); i != user->chans.end(); i++) { Channel* curr = *i; diff --git a/src/users.cpp b/src/users.cpp index 460f97a18..f7dafeb86 100644 --- a/src/users.cpp +++ b/src/users.cpp @@ -795,17 +795,16 @@ bool User::ChangeNick(const std::string& newnick, bool force) return false; } - ModResult MOD_RESULT; - - if (force) - ServerInstance->NICKForced.set(this, 1); - FIRST_MOD_RESULT(OnUserPreNick, MOD_RESULT, (this, newnick)); - ServerInstance->NICKForced.set(this, 0); - - if (MOD_RESULT == MOD_RES_DENY) + if (!force) { - ServerInstance->stats->statsCollisions++; - return false; + ModResult MOD_RESULT; + FIRST_MOD_RESULT(OnUserPreNick, MOD_RESULT, (this, newnick)); + + if (MOD_RESULT == MOD_RES_DENY) + { + ServerInstance->stats->statsCollisions++; + return false; + } } if (assign(newnick) == assign(nick)) |