From 1f610e7c1fece538fc6757b076ac1a0b889a3fce Mon Sep 17 00:00:00 2001 From: brain Date: Wed, 18 Mar 2009 10:52:10 +0000 Subject: 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 --- src/modules/m_spanningtree/main.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/modules/m_spanningtree') 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 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 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 params; params.push_back(":"+reason); Utils->DoOneToMany(dest->uuid,"OPERQUIT",params); -- cgit v1.2.3