X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_securelist.cpp;h=f4042b8f6299cbdfec0d51a9773b6e43a0c3b84d;hb=ad47ea662698e72ff8f79b03512b1e7fe81bdf53;hp=25b5bdaa15f51c616c870b13e0f221144ee9409c;hpb=226a95aab09b9e1f43f61e78179bfa1135816c2d;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_securelist.cpp b/src/modules/m_securelist.cpp index 25b5bdaa1..f4042b8f6 100644 --- a/src/modules/m_securelist.cpp +++ b/src/modules/m_securelist.cpp @@ -21,27 +21,18 @@ #include "inspircd.h" -/* $ModDesc: Disallows /LIST for recently connected clients to hinder spam bots */ - class ModuleSecureList : public Module { std::vector allowlist; time_t WaitTime; public: - void init() - { - OnRehash(NULL); - Implementation eventlist[] = { I_OnRehash, I_OnPreCommand, I_On005Numeric }; - ServerInstance->Modules->Attach(eventlist, this, sizeof(eventlist)/sizeof(Implementation)); - } - - virtual Version GetVersion() + Version GetVersion() CXX11_OVERRIDE { return Version("Disallows /LIST for recently connected clients to hinder spam bots", VF_VENDOR); } - void OnRehash(User* user) + void ReadConfig(ConfigStatus& status) CXX11_OVERRIDE { allowlist.clear(); @@ -57,7 +48,7 @@ class ModuleSecureList : public Module * OnPreCommand() * Intercept the LIST command. */ - virtual ModResult OnPreCommand(std::string &command, std::vector ¶meters, LocalUser *user, bool validated, const std::string &original_line) + ModResult OnPreCommand(std::string &command, std::vector ¶meters, LocalUser *user, bool validated, const std::string &original_line) CXX11_OVERRIDE { /* If the command doesnt appear to be valid, we dont want to mess with it. */ if (!validated) @@ -75,14 +66,14 @@ class ModuleSecureList : public Module /* Some crap clients (read: mIRC, various java chat applets) muck up if they don't * receive these numerics whenever they send LIST, so give them an empty LIST to mull over. */ - user->WriteNumeric(321, "%s Channel :Users Name",user->nick.c_str()); - user->WriteNumeric(323, "%s :End of channel list.",user->nick.c_str()); + user->WriteNumeric(RPL_LISTSTART, "Channel :Users Name"); + user->WriteNumeric(RPL_LISTEND, ":End of channel list."); return MOD_RES_DENY; } return MOD_RES_PASSTHRU; } - virtual void On005Numeric(std::map& tokens) + void On005Numeric(std::map& tokens) CXX11_OVERRIDE { tokens["SECURELIST"]; }