From b822830c5bd9fff5aecf4e8f876ade39a9c7ab6c Mon Sep 17 00:00:00 2001 From: danieldg Date: Sat, 13 Mar 2010 04:18:25 +0000 Subject: Change lockserv emergency unlock procedure, and add one for jumpserver [jackmcbarn] git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12630 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/modules/m_jumpserver.cpp | 9 +++++++-- src/modules/m_lockserv.cpp | 12 ++++-------- 2 files changed, 11 insertions(+), 10 deletions(-) (limited to 'src/modules') diff --git a/src/modules/m_jumpserver.cpp b/src/modules/m_jumpserver.cpp index 56e45d77e..416b25dd3 100644 --- a/src/modules/m_jumpserver.cpp +++ b/src/modules/m_jumpserver.cpp @@ -138,8 +138,8 @@ class ModuleJumpServer : public Module ModuleJumpServer() : js(this) { ServerInstance->AddCommand(&js); - Implementation eventlist[] = { I_OnUserRegister }; - ServerInstance->Modules->Attach(eventlist, this, 1); + Implementation eventlist[] = { I_OnUserRegister, I_OnRehash }; + ServerInstance->Modules->Attach(eventlist, this, 2); } virtual ~ModuleJumpServer() @@ -158,6 +158,11 @@ class ModuleJumpServer : public Module return MOD_RES_PASSTHRU; } + virtual void OnRehash(User* user) + { + // Emergency way to unlock + if (!user) js.redirect_new_users = false; + } virtual Version GetVersion() { diff --git a/src/modules/m_lockserv.cpp b/src/modules/m_lockserv.cpp index 6e92cfd40..7f1ae0bd5 100644 --- a/src/modules/m_lockserv.cpp +++ b/src/modules/m_lockserv.cpp @@ -68,15 +68,10 @@ private: CommandLockserv lockcommand; CommandUnlockserv unlockcommand; - virtual void ResetLocked() - { - locked = false; - } - public: ModuleLockserv() : lockcommand(this, locked), unlockcommand(this, locked) { - ResetLocked(); + locked = false; ServerInstance->AddCommand(&lockcommand); ServerInstance->AddCommand(&unlockcommand); Implementation eventlist[] = { I_OnUserRegister, I_OnRehash, I_OnCheckReady }; @@ -90,7 +85,8 @@ public: virtual void OnRehash(User* user) { - ResetLocked(); + // Emergency way to unlock + if (!user) locked = false; } virtual ModResult OnUserRegister(LocalUser* user) @@ -110,7 +106,7 @@ public: virtual Version GetVersion() { - return Version("Allows locking of the server to stop all incoming connections till unlocked again", VF_VENDOR); + return Version("Allows locking of the server to stop all incoming connections until unlocked again", VF_VENDOR); } }; -- cgit v1.2.3