mirror of
https://github.com/inspircd/inspircd.git
synced 2025-03-10 02:59:01 -04:00
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
This commit is contained in:
parent
e9808ffb01
commit
b822830c5b
@ -953,6 +953,8 @@
|
||||
# Jump Server module: Adds support for the RPL_REDIR numeric
|
||||
# This module is oper-only.
|
||||
# To use, JUMPSERVER must be in one of your oper class blocks.
|
||||
# If your server is redirecting new clients and you get disconnected,
|
||||
# do a REHASH from shell to open up again.
|
||||
#<module name="m_jumpserver.so">
|
||||
|
||||
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
|
||||
@ -1038,7 +1040,7 @@
|
||||
# These commands require OPER status and that the LOCKSERV UNLOCKSERV #
|
||||
# are specified in a <class> tag that the oper is part of. This is so #
|
||||
# you can control who has access to this possible dangerous command. #
|
||||
# If your server is locked and you got disconnected, do a REHASH from #
|
||||
# If your server is locked and you get disconnected, do a REHASH from #
|
||||
# shell to open up again.
|
||||
#
|
||||
# This module is oper-only.
|
||||
|
@ -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()
|
||||
{
|
||||
|
@ -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);
|
||||
}
|
||||
};
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user