]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_rline.cpp
Fix infinite loop on alias expansion, found by Adam
[user/henk/code/inspircd.git] / src / modules / m_rline.cpp
index 8bad04f292352142781111969e85b3b2abff5b16..63ab0ccbb0ccbcb9b82eabc14a32234f78251c4e 100644 (file)
@@ -75,7 +75,7 @@ class RLine : public XLine
        void Apply(User* u)
        {
                if (ZlineOnMatch) {
-                       background_zlines.push_back(new ZLine(ServerInstance->Time(), duration ? expiry - ServerInstance->Time() : 0, ServerInstance->Config->ServerName, reason.c_str(), u->GetIPString()));
+                       background_zlines.push_back(new ZLine(ServerInstance->Time(), duration ? expiry - ServerInstance->Time() : 0, ServerInstance->Config->ServerName.c_str(), reason.c_str(), u->GetIPString()));
                }
                DefaultApply(u, "R", false);
        }
@@ -227,7 +227,7 @@ class ModuleRLine : public Module
 
        virtual Version GetVersion()
        {
-               return Version("RLINE: Regexp user banning.", VF_COMMON | VF_VENDOR, API_VERSION);
+               return Version("RLINE: Regexp user banning.", VF_COMMON | VF_VENDOR);
        }
 
        virtual void OnUserConnect(User* user)
@@ -268,7 +268,7 @@ class ModuleRLine : public Module
                {
                        for (modulelist::iterator i = ml->begin(); i != ml->end(); ++i)
                        {
-                               if (RegexNameRequest(this, *i).Send() == newrxengine)
+                               if (RegexNameRequest(this, *i).result == newrxengine)
                                {
                                        ServerInstance->SNO->WriteToSnoMask('a', "R-Line now using engine '%s'", RegexEngine.c_str());
                                        rxengine = *i;
@@ -290,11 +290,11 @@ class ModuleRLine : public Module
                return MOD_RES_DENY;
        }
 
-       virtual void OnLoadModule(Module* mod, const std::string& name)
+       virtual void OnLoadModule(Module* mod)
        {
                if (ServerInstance->Modules->ModuleHasInterface(mod, "RegularExpression"))
                {
-                       std::string rxname = RegexNameRequest(this, mod).Send();
+                       std::string rxname = RegexNameRequest(this, mod).result;
                        if (rxname == RegexEngine)
                        {
                                ServerInstance->SNO->WriteToSnoMask('a', "R-Line now using engine '%s'", RegexEngine.c_str());