X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_messageflood.cpp;h=5a40664d9b0f81c313e5408ff86bda5735ab8472;hb=de25d946733f774e3a5b53a58438a9c92af0acbe;hp=7d0f594818ae72eb26ec70075a05631ac805e739;hpb=6d57bbe05c31c79eaad02fe81cfb9c1ed6b79c58;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_messageflood.cpp b/src/modules/m_messageflood.cpp index 7d0f59481..5a40664d9 100644 --- a/src/modules/m_messageflood.cpp +++ b/src/modules/m_messageflood.cpp @@ -28,7 +28,7 @@ class floodsettings : public classbase time_t reset; std::map counters; - floodsettings(InspIRCd *Instance, bool a, int b, int c) : ServerInstance(Instance), ban(a), secs(b), lines(c) + floodsettings(bool a, int b, int c) : ban(a), secs(b), lines(c) { reset = ServerInstance->Time() + secs; }; @@ -77,7 +77,7 @@ class MsgFlood : public ModeHandler { public: SimpleExtItem ext; - MsgFlood(InspIRCd* Instance, Module* Creator) : ModeHandler(Instance, Creator, 'f', 1, 0, false, MODETYPE_CHANNEL, false), + MsgFlood(Module* Creator) : ModeHandler(Creator, 'f', PARAM_SETONLY, MODETYPE_CHANNEL), ext("messageflood", Creator) { } ModePair ModeSet(User* source, User* dest, Channel* channel, const std::string ¶meter) @@ -137,7 +137,7 @@ class MsgFlood : public ModeHandler if (!f) { parameter = std::string(ban ? "*" : "") + ConvToStr(nlines) + ":" +ConvToStr(nsecs); - f = new floodsettings(ServerInstance,ban,nsecs,nlines); + f = new floodsettings(ban,nsecs,nlines); ext.set(channel, f); channel->SetModeParam('f', parameter); return MODEACTION_ALLOW; @@ -155,7 +155,7 @@ class MsgFlood : public ModeHandler { if ((((nlines != f->lines) || (nsecs != f->secs) || (ban != f->ban))) && (((nsecs > 0) && (nlines > 0)))) { - floodsettings *fs = new floodsettings(ServerInstance,ban,nsecs,nlines); + floodsettings *fs = new floodsettings(ban,nsecs,nlines); ext.set(channel, fs); channel->SetModeParam('f', parameter); return MODEACTION_ALLOW; @@ -195,8 +195,8 @@ class ModuleMsgFlood : public Module public: - ModuleMsgFlood(InspIRCd* Me) - : Module(Me), mf(Me, this) + ModuleMsgFlood() + : mf(this) { if (!ServerInstance->Modes->AddMode(&mf)) throw ModuleException("Could not add new modes!"); @@ -207,7 +207,7 @@ class ModuleMsgFlood : public Module ModResult ProcessMessages(User* user,Channel* dest, const std::string &text) { - if (!IS_LOCAL(user) || (CHANOPS_EXEMPT(ServerInstance, 'f') && dest->GetStatus(user) == STATUS_OP)) + if (!IS_LOCAL(user) || (CHANOPS_EXEMPT('f') && dest->GetPrefixValue(user) == OP_VALUE)) { return MOD_RES_PASSTHRU; } @@ -269,7 +269,7 @@ class ModuleMsgFlood : public Module Version GetVersion() { - return Version("$Id$", VF_COMMON | VF_VENDOR, API_VERSION); + return Version("Provides channel mode +f (message flood protection)", VF_COMMON | VF_VENDOR, API_VERSION); } };