summaryrefslogtreecommitdiff
path: root/src/modules/m_spanningtree/main.cpp
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2009-03-18 10:52:10 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2009-03-18 10:52:10 +0000
commit1f610e7c1fece538fc6757b076ac1a0b889a3fce (patch)
tree62ba5f0284e8ca87119c92bd465eb2db5b2cc06f /src/modules/m_spanningtree/main.cpp
parentfc98fbf44d18ba866102544ca09f1b1c551fdb49 (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/modules/m_spanningtree/main.cpp')
-rw-r--r--src/modules/m_spanningtree/main.cpp8
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);