X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_spanningtree%2Fprecommand.cpp;h=b331571ca3d2de721e15eea2bff9de8cea3230ec;hb=09186df9f8c0d4f699b5abb4325d7dd583a8a0b1;hp=00f2c598cbbab1b72e386fb524964c349a0bf88d;hpb=e4acbc95b8b6cd5b28d38a2242c02e8ff4991e4a;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_spanningtree/precommand.cpp b/src/modules/m_spanningtree/precommand.cpp index 00f2c598c..b331571ca 100644 --- a/src/modules/m_spanningtree/precommand.cpp +++ b/src/modules/m_spanningtree/precommand.cpp @@ -1,100 +1,72 @@ -/* +------------------------------------+ - * | Inspire Internet Relay Chat Daemon | - * +------------------------------------+ +/* + * InspIRCd -- Internet Relay Chat Daemon * - * InspIRCd: (C) 2002-2008 InspIRCd Development Team - * See: http://www.inspircd.org/wiki/index.php/Credits + * Copyright (C) 2008 Thomas Stagner + * Copyright (C) 2007 Craig Edwards * - * This program is free but copyrighted software; see - * the file COPYING for details. + * This file is part of InspIRCd. InspIRCd is free software: you can + * redistribute it and/or modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation, version 2. * - * --------------------------------------------------- + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . */ + /* $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 "wildcard.h" -#include "xline.h" -#include "transport.h" - -#include "m_spanningtree/timesynctimer.h" -#include "m_spanningtree/resolvers.h" -#include "m_spanningtree/main.h" -#include "m_spanningtree/utils.h" -#include "m_spanningtree/treeserver.h" -#include "m_spanningtree/link.h" -#include "m_spanningtree/treesocket.h" -#include "m_spanningtree/rconnect.h" -#include "m_spanningtree/rsquit.h" +#include "xline.h" + +#include "main.h" +#include "utils.h" +#include "treeserver.h" +#include "treesocket.h" -/* $ModDep: m_spanningtree/timesynctimer.h m_spanningtree/resolvers.h m_spanningtree/main.h m_spanningtree/utils.h m_spanningtree/treeserver.h m_spanningtree/link.h m_spanningtree/treesocket.h m_spanningtree/rconnect.h m_spanningtree/rsquit.h */ +/* $ModDep: m_spanningtree/main.h m_spanningtree/utils.h m_spanningtree/treeserver.h m_spanningtree/treesocket.h */ -int ModuleSpanningTree::OnPreCommand(const std::string &command, const char** parameters, int pcnt, User *user, bool validated, const std::string &original_line) +ModResult ModuleSpanningTree::OnPreCommand(std::string &command, std::vector& parameters, LocalUser *user, bool validated, const std::string &original_line) { /* If the command doesnt appear to be valid, we dont want to mess with it. */ if (!validated) - return 0; + return MOD_RES_PASSTHRU; if (command == "CONNECT") { - return this->HandleConnect(parameters,pcnt,user); - } - else if (command == "STATS") - { - return this->HandleStats(parameters,pcnt,user); - } - else if (command == "MOTD") - { - return this->HandleMotd(parameters,pcnt,user); - } - else if (command == "ADMIN") - { - return this->HandleAdmin(parameters,pcnt,user); + return this->HandleConnect(parameters,user); } else if (command == "SQUIT") { - return this->HandleSquit(parameters,pcnt,user); + return this->HandleSquit(parameters,user); } else if (command == "MAP") { - this->HandleMap(parameters,pcnt,user); - return 1; - } - else if ((command == "TIME") && (pcnt > 0)) - { - return this->HandleTime(parameters,pcnt,user); - } - else if (command == "LUSERS") - { - this->HandleLusers(parameters,pcnt,user); - return 1; + return this->HandleMap(parameters,user) ? MOD_RES_DENY : MOD_RES_PASSTHRU; } else if (command == "LINKS") { - this->HandleLinks(parameters,pcnt,user); - return 1; + this->HandleLinks(parameters,user); + return MOD_RES_DENY; } else if (command == "WHOIS") { - if (pcnt > 1) + if (parameters.size() > 1) { // remote whois - return this->HandleRemoteWhois(parameters,pcnt,user); + return this->HandleRemoteWhois(parameters,user); } } - else if ((command == "VERSION") && (pcnt > 0)) - { - this->HandleVersion(parameters,pcnt,user); - return 1; - } - else if ((command == "MODULES") && (pcnt > 0)) + else if ((command == "VERSION") && (parameters.size() > 0)) { - return this->HandleModules(parameters,pcnt,user); + this->HandleVersion(parameters,user); + return MOD_RES_DENY; } - return 0; + return MOD_RES_PASSTHRU; }