diff options
author | Shawn Smith <ShawnSmith0828@gmail.com> | 2014-05-26 03:18:55 -0400 |
---|---|---|
committer | Peter Powell <petpow@saberuk.com> | 2017-12-03 14:56:37 +0000 |
commit | ecb7891090387accc01d01afc7e2d722fd02889a (patch) | |
tree | de9689f0ea117833b13e804c231f4c6616b27c3e /src/modules | |
parent | 70be9c79d284982d03744443b84268bef44a3080 (diff) |
Removed config option for +L redirect.
Closes #466.
Diffstat (limited to 'src/modules')
-rw-r--r-- | src/modules/m_redirect.cpp | 28 |
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; |