]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_connflood.cpp
Switch <stdint.h> test to use a test file too.
[user/henk/code/inspircd.git] / src / modules / m_connflood.cpp
index 9d7c9cb2cf648014ea3e31d49fd0cbbe0cafcd57..f77691e3276a8efe2f6649b4da04d31a588b79fc 100644 (file)
@@ -36,10 +36,14 @@ private:
 public:
        ModuleConnFlood()
                : conns(0), throttled(false)
+       {
+       }
+
+       void init()
        {
                InitConf();
                Implementation eventlist[] = { I_OnRehash, I_OnUserRegister };
-               ServerInstance->Modules->Attach(eventlist, this, 2);
+               ServerInstance->Modules->Attach(eventlist, this, sizeof(eventlist)/sizeof(Implementation));
        }
 
        virtual Version GetVersion()
@@ -50,21 +54,24 @@ public:
        void InitConf()
        {
                /* read configuration variables */
-               ConfigReader conf;
+               ConfigTag* tag = ServerInstance->Config->ConfValue("connflood");
                /* throttle configuration */
-               seconds = conf.ReadInteger("connflood", "seconds", 0, true);
-               maxconns = conf.ReadInteger("connflood", "maxconns", 0, true);
-               timeout = conf.ReadInteger("connflood", "timeout", 0, true);
-               quitmsg = conf.ReadValue("connflood", "quitmsg", 0);
+               seconds = tag->getInt("seconds");
+               maxconns = tag->getInt("maxconns");
+               timeout = tag->getInt("timeout");
+               quitmsg = tag->getString("quitmsg");
 
                /* seconds to wait when the server just booted */
-               boot_wait = conf.ReadInteger("connflood", "bootwait", 0, true);
+               boot_wait = tag->getInt("bootwait");
 
                first = ServerInstance->Time();
        }
 
        virtual ModResult OnUserRegister(LocalUser* user)
        {
+               if (user->exempt)
+                       return MOD_RES_PASSTHRU;
+
                time_t next = ServerInstance->Time();
 
                if ((ServerInstance->startup_time + boot_wait) > next)