X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_connflood.cpp;h=6a0ee948ab279efdfeebf5f4d41ccced5f10d2d9;hb=d54fd9b1e6b31f69332a9241b5f17330c0ad61e0;hp=8df8ecefcec57ea7813ab2ed0a1509f4cb9deca5;hpb=2e328fd5fae4c4a121d170d06432da96dcd72b0f;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_connflood.cpp b/src/modules/m_connflood.cpp index 8df8ecefc..6a0ee948a 100644 --- a/src/modules/m_connflood.cpp +++ b/src/modules/m_connflood.cpp @@ -21,10 +21,11 @@ using namespace std; #include "users.h" #include "modules.h" +#include "inspircd.h" + /* $ModDesc: Connection throttle */ int conns = 0, throttled = 0; -extern time_t TIME; class ModuleConnFlood : public Module { @@ -34,12 +35,12 @@ private: std::string quitmsg; ConfigReader* conf; - Server *Srv; + public: - ModuleConnFlood(Server* Me) : Module::Module(Me) + ModuleConnFlood(InspIRCd* Me) : Module::Module(Me) { - Srv = Me; + InitConf(); } @@ -60,7 +61,7 @@ public: void InitConf() { /* read configuration variables */ - conf = new ConfigReader; + conf = new ConfigReader(ServerInstance); /* throttle configuration */ seconds = conf->ReadInteger("connflood", "seconds", 0, true); maxconns = conf->ReadInteger("connflood", "maxconns", 0, true); @@ -70,12 +71,12 @@ public: /* seconds to wait when the server just booted */ boot_wait = conf->ReadInteger("connflood", "bootwait", 0, true); - first = TIME; + first = ServerInstance->Time(); } virtual void OnUserRegister(userrec* user) { - time_t next = TIME; + time_t next = ServerInstance->Time(); if (!first) first = next - boot_wait; @@ -91,10 +92,10 @@ public: { /* expire throttle */ throttled = 0; - Srv->SendOpers("*** Connection throttle deactivated"); + ServerInstance->WriteOpers("*** Connection throttle deactivated"); return; } - Srv->QuitUser(user, quitmsg); + userrec::QuitUser(ServerInstance, user, quitmsg); return; } @@ -103,8 +104,8 @@ public: if (conns >= maxconns) { throttled = 1; - Srv->SendOpers("*** Connection throttle activated"); - Srv->QuitUser(user, quitmsg); + ServerInstance->WriteOpers("*** Connection throttle activated"); + userrec::QuitUser(ServerInstance, user, quitmsg); return; } } @@ -134,7 +135,7 @@ public: { } - virtual Module * CreateModule(Server* Me) + virtual Module * CreateModule(InspIRCd* Me) { return new ModuleConnFlood(Me); }