From f4472dd6dcdfbb5d4a2a50ddc615644c3b2c8145 Mon Sep 17 00:00:00 2001 From: danieldg Date: Thu, 3 Sep 2009 02:30:12 +0000 Subject: Change cmd_*.so to use the Module object API Create Module* objects for each command, and load them like modules. This unifies the external API for modules. Library directory is now deprecated: all modules are located in a single module directory. Header files for each command are no longer needed; remove. This also fixes two potential segfaults in m_spanningtree. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11668 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/modules/m_spanningtree/postcommand.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'src/modules/m_spanningtree/postcommand.cpp') diff --git a/src/modules/m_spanningtree/postcommand.cpp b/src/modules/m_spanningtree/postcommand.cpp index d2cea154a..2cf4fa3ad 100644 --- a/src/modules/m_spanningtree/postcommand.cpp +++ b/src/modules/m_spanningtree/postcommand.cpp @@ -14,8 +14,6 @@ /* $ModDesc: Provides a spanning tree server link protocol */ #include "inspircd.h" -#include "commands/cmd_whois.h" -#include "commands/cmd_stats.h" #include "socket.h" #include "xline.h" #include "../transport.h" @@ -68,8 +66,14 @@ void ModuleSpanningTree::OnPostCommand(const std::string &command, const std::ve else { Module* srcmodule = thiscmd->creator; + Version ver = srcmodule->GetVersion(); - if (srcmodule && !(srcmodule->GetVersion().Flags & VF_COMMON)) { + // XXX Temporary check to avoid routing cmd_* entries while they default to global routing + if (srcmodule->ModuleSourceFile[0] == 'c') + return; + + if (!(ver.Flags & VF_COMMON)) + { ServerInstance->Logs->Log("m_spanningtree",ERROR,"Routed command %s from non-VF_COMMON module %s", command.c_str(), srcmodule->ModuleSourceFile.c_str()); return; -- cgit v1.3.1-10-gc9f91