]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_hostchange.cpp
Fix IO hooking modules to use the new (not old) hooking call
[user/henk/code/inspircd.git] / src / modules / m_hostchange.cpp
index cd89d7cfdf9b435113f121760124ab06667dae2f..17f0abc88e33a38e7531efbf9e8811060a755178 100644 (file)
@@ -2,7 +2,7 @@
  *       | Inspire Internet Relay Chat Daemon |
  *       +------------------------------------+
  *
- *  InspIRCd: (C) 2002-2007 InspIRCd Development Team
+ *  InspIRCd: (C) 2002-2008 InspIRCd Development Team
  * See: http://www.inspircd.org/wiki/index.php/Credits
  *
  * This program is free but copyrighted software; see
@@ -12,7 +12,6 @@
  */
 
 #include "inspircd.h"
-#include "wildcard.h"
 
 /* $ModDesc: Provides masking of user hostnames in a different way to m_cloaking */
 
@@ -35,7 +34,7 @@ class ModuleHostChange : public Module
        std::string MySuffix;
        std::string MyPrefix;
        std::string MySeparator;
-        
+
  public:
        ModuleHostChange(InspIRCd* Me)
                : Module(Me)
@@ -44,12 +43,12 @@ class ModuleHostChange : public Module
                Implementation eventlist[] = { I_OnRehash, I_OnUserConnect };
                ServerInstance->Modules->Attach(eventlist, this, 2);
        }
-       
+
        virtual ~ModuleHostChange()
        {
                for (hostchanges_t::iterator i = hostchanges.begin(); i != hostchanges.end(); i++)
                {
-                       DELETE(i->second);
+                       delete i->second;
                }
                hostchanges.clear();
        }
@@ -60,10 +59,6 @@ class ModuleHostChange : public Module
                ServerInstance->Modules->SetPriority(this, I_OnUserConnect, PRIO_AFTER, &cloak);
        }
 
-       void Implements(char* List)
-       {
-               List[I_OnRehash] = List[I_OnUserConnect] = 1;
-       }
 
        virtual void OnRehash(User* user, const std::string &parameter)
        {
@@ -73,7 +68,7 @@ class ModuleHostChange : public Module
                MySeparator = Conf.ReadValue("host","separator",".",0);
                for (hostchanges_t::iterator i = hostchanges.begin(); i != hostchanges.end(); i++)
                {
-                       DELETE(i->second);
+                       delete i->second;
                }
                hostchanges.clear();
                for (int index = 0; index < Conf.Enumerate("hostchange"); index++)
@@ -89,19 +84,19 @@ class ModuleHostChange : public Module
                        hostchanges[mask] = x;
                }
        }
-       
+
        virtual Version GetVersion()
        {
                // returns the version number of the module to be
                // listed in /MODULES
-               return Version(1,1,0,1,VF_VENDOR,API_VERSION);
+               return Version("$Id$", VF_VENDOR, API_VERSION);
        }
-       
+
        virtual void OnUserConnect(User* user)
        {
                for (hostchanges_t::iterator i = hostchanges.begin(); i != hostchanges.end(); i++)
                {
-                       if (((match(user->MakeHost(),i->first.c_str(),true)) || (match(user->MakeHostIP(),i->first.c_str()))))
+                       if (((InspIRCd::MatchCIDR(user->MakeHost(), i->first)) || (InspIRCd::MatchCIDR(user->MakeHostIP(), i->first))))
                        {
                                Host* h = i->second;
 
@@ -146,7 +141,7 @@ class ModuleHostChange : public Module
                                        }
                                        if (complete.empty())
                                                complete = "i-have-a-lame-nick";
-                                               
+
                                        if (!MyPrefix.empty())
                                                newhost = MyPrefix + MySeparator + complete;
                                        else