diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2009-03-18 10:52:10 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2009-03-18 10:52:10 +0000 |
commit | 1f610e7c1fece538fc6757b076ac1a0b889a3fce (patch) | |
tree | 62ba5f0284e8ca87119c92bd465eb2db5b2cc06f /src | |
parent | fc98fbf44d18ba866102544ca09f1b1c551fdb49 (diff) |
Fix for bug #784 reported by HiroP, add check to the FHOST code to not send out FHOST for unregistered users, there was already a check on OnMode hence why the +x didnt go out, just the host change.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11232 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src')
-rw-r--r-- | src/modules/m_spanningtree/main.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/modules/m_spanningtree/main.cpp b/src/modules/m_spanningtree/main.cpp index 6f5a424ff..ad51f4019 100644 --- a/src/modules/m_spanningtree/main.cpp +++ b/src/modules/m_spanningtree/main.cpp @@ -601,6 +601,9 @@ void ModuleSpanningTree::OnUserJoin(User* user, Channel* channel, bool sync, boo int ModuleSpanningTree::OnChangeLocalUserHost(User* user, const std::string &newhost) { + if (user->registered != REG_ALL) + return 0; + std::deque<std::string> params; params.push_back(newhost); Utils->DoOneToMany(user->uuid,"FHOST",params); @@ -612,6 +615,7 @@ void ModuleSpanningTree::OnChangeName(User* user, const std::string &gecos) // only occurs for local clients if (user->registered != REG_ALL) return; + std::deque<std::string> params; params.push_back(gecos); Utils->DoOneToMany(user->uuid,"FNAME",params); @@ -692,7 +696,9 @@ void ModuleSpanningTree::OnUserKick(User* source, User* user, Channel* chan, con void ModuleSpanningTree::OnRemoteKill(User* source, User* dest, const std::string &reason, const std::string &operreason) { - if (!IS_LOCAL(source)) return; // Only start routing if we're origin. + if (!IS_LOCAL(source)) + return; // Only start routing if we're origin. + std::deque<std::string> params; params.push_back(":"+reason); Utils->DoOneToMany(dest->uuid,"OPERQUIT",params); |