#include "users.h"
#include "modules.h"
-#include "helperfuncs.h"
+
#include "inspircd.h"
/* $ModDesc: Connection throttle */
int conns = 0, throttled = 0;
-extern time_t TIME;
-
-
class ModuleConnFlood : public Module
{
virtual Version GetVersion()
{
- return Version(1,0,0,0,0);
+ return Version(1,1,0,0,VF_VENDOR,API_VERSION);
}
void Implements(char* List)
/* 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)
+ virtual int OnUserRegister(userrec* user)
{
- time_t next = TIME;
+ time_t next = ServerInstance->Time();
if (!first)
first = next - boot_wait;
/* expire throttle */
throttled = 0;
ServerInstance->WriteOpers("*** Connection throttle deactivated");
- return;
+ return 0;
}
userrec::QuitUser(ServerInstance, user, quitmsg);
- return;
+ return 1;
}
if (tdiff <= seconds)
throttled = 1;
ServerInstance->WriteOpers("*** Connection throttle activated");
userrec::QuitUser(ServerInstance, user, quitmsg);
- return;
+ return 1;
}
}
else
conns = 1;
first = next;
}
+ return 0;
}
virtual void OnRehash(const std::string ¶meter)