summaryrefslogtreecommitdiff
path: root/src/commands/cmd_motd.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/commands/cmd_motd.cpp')
-rw-r--r--src/commands/cmd_motd.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/commands/cmd_motd.cpp b/src/commands/cmd_motd.cpp
index 869a9c353..9ed5ff188 100644
--- a/src/commands/cmd_motd.cpp
+++ b/src/commands/cmd_motd.cpp
@@ -51,7 +51,13 @@ class CommandMotd : public Command
CmdResult CommandMotd::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 /MOTD of a remote server
+ LocalUser* localuser = IS_LOCAL(user);
+ if ((localuser) && (!IS_OPER(user)))
+ localuser->CommandFloodPenalty += 2000;
return CMD_SUCCESS;
+ }
ConfigTag* tag = ServerInstance->Config->EmptyTag;
if (IS_LOCAL(user))