summaryrefslogtreecommitdiff
path: root/src/modules
diff options
context:
space:
mode:
authorShawn Smith <ShawnSmith0828@gmail.com>2014-05-26 03:18:55 -0400
committerPeter Powell <petpow@saberuk.com>2017-12-03 14:56:37 +0000
commitecb7891090387accc01d01afc7e2d722fd02889a (patch)
treede9689f0ea117833b13e804c231f4c6616b27c3e /src/modules
parent70be9c79d284982d03744443b84268bef44a3080 (diff)
Removed config option for +L redirect.
Closes #466.
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/m_redirect.cpp28
1 files changed, 4 insertions, 24 deletions
diff --git a/src/modules/m_redirect.cpp b/src/modules/m_redirect.cpp
index 479dd6d0f..b3dc6e94d 100644
--- a/src/modules/m_redirect.cpp
+++ b/src/modules/m_redirect.cpp
@@ -72,39 +72,20 @@ class Redirect : public ParamMode<Redirect, LocalStringExt>
}
};
-/** Handles usermode +L to stop forced redirection and print an error.
-*/
-class AntiRedirect : public SimpleUserModeHandler
-{
- public:
- AntiRedirect(Module* Creator) : SimpleUserModeHandler(Creator, "antiredirect", 'L')
- {
- if (!ServerInstance->Config->ConfValue("redirect")->getBool("antiredirect"))
- DisableAutoRegister();
- }
-};
-
class ModuleRedirect : public Module
{
Redirect re;
- AntiRedirect re_u;
+ SimpleUserModeHandler antiredirectmode;
ChanModeReference limitmode;
- bool UseUsermode;
public:
ModuleRedirect()
: re(this)
- , re_u(this)
+ , antiredirectmode(this, "antiredirect", 'L')
, limitmode(this, "limit")
{
}
- void init() CXX11_OVERRIDE
- {
- /* Setting this here so it isn't changable by rehasing the config later. */
- UseUsermode = ServerInstance->Config->ConfValue("redirect")->getBool("antiredirect");
- }
-
ModResult OnUserPreJoin(LocalUser* user, Channel* chan, const std::string& cname, std::string& privs, const std::string& keygiven) CXX11_OVERRIDE
{
if (chan)
@@ -122,9 +103,8 @@ class ModuleRedirect : public Module
user->WriteNumeric(470, cname, '*', "You may not join this channel. A redirect is set, but you may not be redirected as it is a circular loop.");
return MOD_RES_DENY;
}
- /* We check the bool value here to make sure we have it enabled, if we don't then
- usermode +L might be assigned to something else. */
- if (UseUsermode && user->IsModeSet(re_u))
+
+ if (user->IsModeSet(antiredirectmode))
{
user->WriteNumeric(470, cname, channel, "Force redirection stopped.");
return MOD_RES_DENY;