diff options
Diffstat (limited to 'src/modules/m_spanningtree')
-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) { |