]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/commands/cmd_unloadmodule.cpp
Merge pull request #544 from SaberUK/master+kill-maxbuf
[user/henk/code/inspircd.git] / src / commands / cmd_unloadmodule.cpp
index 6d0f5f41c484e1722d0f76dbf8598ae77c5aaec4..29f4549873219141f037c187dd7e24e904ed0655 100644 (file)
@@ -42,12 +42,19 @@ class CommandUnloadmodule : public Command
 
 CmdResult CommandUnloadmodule::Handle (const std::vector<std::string>& parameters, User *user)
 {
+       if (!ServerInstance->Config->ConfValue("security")->getBool("allowcoreunload") &&
+               InspIRCd::Match(parameters[0], "cmd_*.so", ascii_case_insensitive_map))
+       {
+               user->WriteNumeric(972, "%s %s :You cannot unload core commands!", user->nick.c_str(), parameters[0].c_str());
+               return CMD_FAILURE;
+       }
+
        if (parameters[0] == "cmd_unloadmodule.so" || parameters[0] == "cmd_loadmodule.so")
        {
                user->WriteNumeric(972, "%s %s :You cannot unload module loading commands!", user->nick.c_str(), parameters[0].c_str());
                return CMD_FAILURE;
        }
-               
+
        Module* m = ServerInstance->Modules->Find(parameters[0]);
        if (m && ServerInstance->Modules->Unload(m))
        {