summaryrefslogtreecommitdiff
path: root/src/modules/m_spanningtree/postcommand.cpp
diff options
context:
space:
mode:
authordanieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7>2009-10-02 06:13:57 +0000
committerdanieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7>2009-10-02 06:13:57 +0000
commite57ed15735a3f23d6451845c7cf96758e6909d8c (patch)
tree78934931112dfe246bfbd25098d289fbef73692b /src/modules/m_spanningtree/postcommand.cpp
parent8456cf5ccd44911f4e56538fe0880dd7fc7cd96d (diff)
Fix routing for normal core commands like QUIT
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11795 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/modules/m_spanningtree/postcommand.cpp')
-rw-r--r--src/modules/m_spanningtree/postcommand.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/modules/m_spanningtree/postcommand.cpp b/src/modules/m_spanningtree/postcommand.cpp
index fae734d52..fbac46faa 100644
--- a/src/modules/m_spanningtree/postcommand.cpp
+++ b/src/modules/m_spanningtree/postcommand.cpp
@@ -46,7 +46,15 @@ void SpanningTreeUtilities::RouteCommand(TreeServer* origin, const std::string &
if (routing.type == ROUTE_TYPE_LOCALONLY)
{
- return;
+ Module* srcmodule = thiscmd->creator;
+ Version ver = srcmodule->GetVersion();
+
+ if ((ver.Flags & VF_CORE) && !IS_LOCAL(user))
+ routing = ROUTE_BROADCAST;
+ else
+ return;
+ if (user == ServerUser)
+ return;
}
else if (routing.type == ROUTE_TYPE_OPT_BCAST)
{