]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/commands/cmd_rules.cpp
Fix mistakenly using Clang instead of GCC on older FreeBSD versions.
[user/henk/code/inspircd.git] / src / commands / cmd_rules.cpp
index 5d41aa4b8db8e335cc97675d07e41dd59277dba7..7aacf8c31262be7cf17f1e204a6e7ceda6e2ea99 100644 (file)
@@ -49,9 +49,15 @@ class CommandRules : public Command
 CmdResult CommandRules::Handle (const std::vector<std::string>& parameters, User *user)
 {
        if (parameters.size() > 0 && parameters[0] != ServerInstance->Config->ServerName)
+       {
+               // Give extra penalty if a non-oper queries the /RULES of a remote server
+               LocalUser* localuser = IS_LOCAL(user);
+               if ((localuser) && (!IS_OPER(user)))
+                       localuser->CommandFloodPenalty += 2000;
                return CMD_SUCCESS;
+       }
 
-       ConfigTag* tag = NULL;
+       ConfigTag* tag = ServerInstance->Config->EmptyTag;
        if (IS_LOCAL(user))
                tag = user->GetClass()->config;
        std::string rules_name = tag->getString("rules", "rules");