X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fcoremods%2Fcore_stub.cpp;h=1e9c830241670b019c97b498a89ef06fad14e100;hb=d38595e7e14e7509e744d33df657d50d00cc201f;hp=bb6590261fbf5299a280077631f94dbbaaa1a782;hpb=f62654a6859998f9d63eb22702c572d5ebcff15c;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/coremods/core_stub.cpp b/src/coremods/core_stub.cpp index bb6590261..1e9c83024 100644 --- a/src/coremods/core_stub.cpp +++ b/src/coremods/core_stub.cpp @@ -1,9 +1,9 @@ /* * InspIRCd -- Internet Relay Chat Daemon * - * Copyright (C) 2014 Attila Molnar - * Copyright (C) 2009 Daniel De Graaf - * Copyright (C) 2007 Robin Burchell + * Copyright (C) 2019 Robby + * Copyright (C) 2017-2019 Sadie Powell + * Copyright (C) 2014-2016 Attila Molnar * * 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 @@ -21,6 +21,13 @@ #include "inspircd.h" +enum +{ + // From RFC 1459. + ERR_SUMMONDISABLED = 445, + ERR_USERSDISABLED = 446 +}; + /** Handle /CONNECT. */ @@ -33,7 +40,7 @@ class CommandConnect : public Command : Command(parent, "CONNECT", 1) { flags_needed = 'o'; - syntax = ""; + syntax = ""; } /** Handle command. @@ -41,12 +48,12 @@ class CommandConnect : public Command * @param user The user issuing the command * @return A value from CmdResult to indicate command success or failure. */ - CmdResult Handle(const std::vector& parameters, User* user) + CmdResult Handle(User* user, const Params& parameters) CXX11_OVERRIDE { /* * This is handled by the server linking module, if necessary. Do not remove this stub. */ - user->WriteServ( "NOTICE %s :Look into loading a linking module (like m_spanningtree) if you want this to do anything useful.", user->nick.c_str()); + user->WriteNotice("Look into loading a linking module (like m_spanningtree) if you want this to do anything useful."); return CMD_SUCCESS; } }; @@ -68,10 +75,10 @@ class CommandLinks : public Command * @param user The user issuing the command * @return A value from CmdResult to indicate command success or failure. */ - CmdResult Handle(const std::vector& parameters, User* user) + CmdResult Handle(User* user, const Params& parameters) CXX11_OVERRIDE { - user->WriteNumeric(RPL_LINKS, "%s %s :0 %s", ServerInstance->Config->ServerName.c_str(),ServerInstance->Config->ServerName.c_str(),ServerInstance->Config->ServerDesc.c_str()); - user->WriteNumeric(RPL_ENDOFLINKS, "* :End of /LINKS list."); + user->WriteNumeric(RPL_LINKS, ServerInstance->Config->ServerName, ServerInstance->Config->ServerName, InspIRCd::Format("0 %s", ServerInstance->Config->ServerDesc.c_str())); + user->WriteNumeric(RPL_ENDOFLINKS, '*', "End of /LINKS list."); return CMD_SUCCESS; } }; @@ -94,15 +101,15 @@ class CommandServer : public Command * @param user The user issuing the command * @return A value from CmdResult to indicate command success or failure. */ - CmdResult Handle(const std::vector& parameters, User* user) + CmdResult Handle(User* user, const Params& parameters) CXX11_OVERRIDE { if (user->registered == REG_ALL) { - user->WriteNumeric(ERR_ALREADYREGISTERED, ":You are already registered. (Perhaps your IRC client does not have a /SERVER command)."); + user->WriteNumeric(ERR_ALREADYREGISTERED, "You are already registered. (Perhaps your IRC client does not have a /SERVER command)."); } else { - user->WriteNumeric(ERR_NOTREGISTERED, ":You may not register as a server (servers have separate ports from clients, change your config)"); + user->WriteNumeric(ERR_NOTREGISTERED, "SERVER", "You may not register as a server (servers have separate ports from clients, change your config)"); } return CMD_FAILURE; } @@ -119,7 +126,7 @@ class CommandSquit : public Command : Command(parent, "SQUIT", 1, 2) { flags_needed = 'o'; - syntax = ""; + syntax = ""; } /** Handle command. @@ -127,29 +134,68 @@ class CommandSquit : public Command * @param user The user issuing the command * @return A value from CmdResult to indicate command success or failure. */ - CmdResult Handle(const std::vector& parameters, User* user) + CmdResult Handle(User* user, const Params& parameters) CXX11_OVERRIDE { - user->WriteServ("NOTICE %s :Look into loading a linking module (like m_spanningtree) if you want this to do anything useful.", user->nick.c_str()); + user->WriteNotice("Look into loading a linking module (like m_spanningtree) if you want this to do anything useful."); return CMD_FAILURE; } }; +class CommandSummon + : public SplitCommand +{ + public: + CommandSummon(Module* Creator) + : SplitCommand(Creator, "SUMMON", 1) + { + } + + CmdResult HandleLocal(LocalUser* user, const Params& parameters) CXX11_OVERRIDE + { + user->WriteNumeric(ERR_SUMMONDISABLED, "SUMMON has been disabled"); + return CMD_SUCCESS; + } +}; + +class CommandUsers + : public SplitCommand +{ + public: + CommandUsers(Module* Creator) + : SplitCommand(Creator, "USERS") + { + } + + CmdResult HandleLocal(LocalUser* user, const Params& parameters) CXX11_OVERRIDE + { + user->WriteNumeric(ERR_USERSDISABLED, "USERS has been disabled"); + return CMD_SUCCESS; + } +}; + class CoreModStub : public Module { CommandConnect cmdconnect; CommandLinks cmdlinks; CommandServer cmdserver; CommandSquit cmdsquit; + CommandSummon cmdsummon; + CommandUsers cmdusers; public: CoreModStub() - : cmdconnect(this), cmdlinks(this), cmdserver(this), cmdsquit(this) + : cmdconnect(this) + , cmdlinks(this) + , cmdserver(this) + , cmdsquit(this) + , cmdsummon(this) + , cmdusers(this) { } - Version GetVersion() + Version GetVersion() CXX11_OVERRIDE { - return Version("Provides the stub commands CONNECT, LINKS, SERVER and SQUIT", VF_VENDOR|VF_CORE); + return Version("Provides stubs for unimplemented commands", VF_VENDOR|VF_CORE); } };