X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_safelist.cpp;h=0155492fc4829a3c5bb7dcafa2cfc943a55108fa;hb=2ab88037d8d7d6df3fb9686216a0b36f5ece2313;hp=2bcb77a91e64b2ce6c6dd750d7fef799b0ba3c54;hpb=9cf56d917d92959701694477f7944d45ad2c38ed;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_safelist.cpp b/src/modules/m_safelist.cpp index 2bcb77a91..0155492fc 100644 --- a/src/modules/m_safelist.cpp +++ b/src/modules/m_safelist.cpp @@ -10,11 +10,7 @@ * * --------------------------------------------------- */ - -#include "users.h" -#include "channels.h" -#include "modules.h" -#include "configreader.h" + #include "inspircd.h" #include "wildcard.h" @@ -52,7 +48,7 @@ class ModuleSafeList : public Module { } - virtual void OnRehash(userrec* user, const std::string ¶meter) + virtual void OnRehash(User* user, const std::string ¶meter) { ConfigReader MyConf(ServerInstance); ThrottleSecs = MyConf.ReadInteger("safelist", "throttle", "60", 0, true); @@ -75,7 +71,7 @@ class ModuleSafeList : public Module * OnPreCommand() * Intercept the LIST command. */ - virtual int OnPreCommand(const std::string &command, const char** parameters, int pcnt, userrec *user, bool validated, const std::string &original_line) + virtual int OnPreCommand(const std::string &command, const char** parameters, int pcnt, User *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) @@ -92,11 +88,11 @@ class ModuleSafeList : public Module * HandleList() * Handle (override) the LIST command. */ - int HandleList(const char** parameters, int pcnt, userrec* user) + int HandleList(const char** parameters, int pcnt, User* user) { int minusers = 0, maxusers = 0; - if (global_listing >= LimitList) + if (global_listing >= LimitList && !IS_OPER(user)) { user->WriteServ("NOTICE %s :*** Server load is currently too heavy. Please try again later.", user->nick); user->WriteServ("321 %s Channel :Users Name",user->nick); @@ -143,7 +139,7 @@ class ModuleSafeList : public Module return 1; } - DELETE(last_list_time); + delete last_list_time; user->Shrink("safelist_last"); } @@ -165,13 +161,13 @@ class ModuleSafeList : public Module return 1; } - virtual void OnBufferFlushed(userrec* user) + virtual void OnBufferFlushed(User* user) { char buffer[MAXBUF]; ListData* ld; if (user->GetExt("safelist_cache", ld)) { - chanrec* chan = NULL; + Channel* chan = NULL; long amount_sent = 0; do { @@ -221,11 +217,11 @@ class ModuleSafeList : public Module } ld->list_position++; } - while ((chan != NULL) && (amount_sent < (user->sendqmax / 4))); + while ((chan != NULL) && (amount_sent < (user->MyClass->GetSendqMax() / 4))); if (ld->list_ended) { user->Shrink("safelist_cache"); - DELETE(ld); + delete ld; global_listing--; } } @@ -235,20 +231,20 @@ class ModuleSafeList : public Module { if(target_type == TYPE_USER) { - userrec* u = (userrec*)item; + User* u = (User*)item; ListData* ld; u->GetExt("safelist_cache", ld); if (ld) { u->Shrink("safelist_cache"); - DELETE(ld); + delete ld; global_listing--; } time_t* last_list_time; u->GetExt("safelist_last", last_list_time); if (last_list_time) { - DELETE(last_list_time); + delete last_list_time; u->Shrink("safelist_last"); } } @@ -259,33 +255,11 @@ class ModuleSafeList : public Module output.append(" SAFELIST"); } - virtual void OnUserQuit(userrec* user, const std::string &message, const std::string &oper_message) + virtual void OnUserQuit(User* user, const std::string &message, const std::string &oper_message) { this->OnCleanup(TYPE_USER,user); } }; - -class ModuleSafeListFactory : public ModuleFactory -{ - public: - ModuleSafeListFactory() - { - } - - ~ModuleSafeListFactory() - { - } - - virtual Module * CreateModule(InspIRCd* Me) - { - return new ModuleSafeList(Me); - } - -}; - -extern "C" DllExport void * init_module( void ) -{ - return new ModuleSafeListFactory; -} +MODULE_INIT(ModuleSafeList)