diff options
author | danieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7> | 2009-10-02 06:13:57 +0000 |
---|---|---|
committer | danieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7> | 2009-10-02 06:13:57 +0000 |
commit | e57ed15735a3f23d6451845c7cf96758e6909d8c (patch) | |
tree | 78934931112dfe246bfbd25098d289fbef73692b /src/modules/m_spanningtree/postcommand.cpp | |
parent | 8456cf5ccd44911f4e56538fe0880dd7fc7cd96d (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.cpp | 10 |
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) { |