summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorpeavey <peavey@e03df62e-2008-0410-955e-edbf42e46eb7>2009-02-15 08:57:16 +0000
committerpeavey <peavey@e03df62e-2008-0410-955e-edbf42e46eb7>2009-02-15 08:57:16 +0000
commitf44ff8cf3c1d661316c8801b1a75190cf6462218 (patch)
tree748fe9a64f581374d4a20c2f04979ca3560fb642 /src
parent08164c9502c3a9db1810d2e8e1d291280b975aee (diff)
Also Extend user with FORCENick when calling the actual command handler for NICK in User::ForceNickChange to avoid serverwide desyncs. Fixes bug #733 reported by SnoFox.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11109 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src')
-rw-r--r--src/users.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/users.cpp b/src/users.cpp
index 7ce7ea673..0324fad7f 100644
--- a/src/users.cpp
+++ b/src/users.cpp
@@ -1057,7 +1057,9 @@ bool User::ForceNickChange(const char* newnick)
std::vector<std::string> parameters;
nickhandler->HandleInternal(1, dummy);
parameters.push_back(newnick);
+ this->Extend("NICKForced", "Enabled");
bool result = (ServerInstance->Parser->CallHandler("NICK", parameters, this) == CMD_SUCCESS);
+ this->Shrink("NICKForced");
nickhandler->HandleInternal(0, dummy);
return result;
}