]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_dccallow.cpp
cmd_userhost Fix +H hidden opers being shown as opers
[user/henk/code/inspircd.git] / src / modules / m_dccallow.cpp
index 3b0467ae5454078f8d02f2ec65dfff6ea8091449..b42d129688c18d121b4dc1fe2434bdec761387e0 100644 (file)
@@ -60,7 +60,7 @@ class CommandDccallow : public Command
  public:
        CommandDccallow(Module* parent) : Command(parent, "DCCALLOW", 0)
        {
-               syntax = "{[+|-]<nick> <time>|HELP|LIST}";
+               syntax = "[(+|-)<nick> [<time>]]|[LIST|HELP]";
                /* XXX we need to fix this so it can work with translation stuff (i.e. move +- into a seperate param */
        }
 
@@ -166,7 +166,7 @@ class CommandDccallow : public Command
                                                length = ServerInstance->Duration(parameters[1]);
                                        }
 
-                                       if (!ServerInstance->IsValidMask(mask.c_str()))
+                                       if (!ServerInstance->IsValidMask(mask))
                                        {
                                                return CMD_FAILURE;
                                        }
@@ -203,7 +203,7 @@ class CommandDccallow : public Command
 
        void DisplayHelp(User* user)
        {
-               user->WriteNumeric(998, "%s :DCCALLOW [<+|->nick [time]] [list] [help]", user->nick.c_str());
+               user->WriteNumeric(998, "%s :DCCALLOW [(+|-)<nick> [<time>]]|[LIST|HELP]", user->nick.c_str());
                user->WriteNumeric(998, "%s :You may allow DCCs from specific users by specifying a", user->nick.c_str());
                user->WriteNumeric(998, "%s :DCC allow for the user you want to receive DCCs from.", user->nick.c_str());
                user->WriteNumeric(998, "%s :For example, to allow the user Brain to send you inspircd.exe", user->nick.c_str());
@@ -223,6 +223,10 @@ class CommandDccallow : public Command
                user->WriteNumeric(998, "%s :  they will be removed from your DCCALLOW list.", user->nick.c_str());
                user->WriteNumeric(998, "%s :  your DCCALLOW list will be deleted when you leave IRC.", user->nick.c_str());
                user->WriteNumeric(999, "%s :End of DCCALLOW HELP", user->nick.c_str());
+
+               LocalUser* localuser = IS_LOCAL(user);
+               if (localuser)
+                       localuser->CommandFloodPenalty += 4000;
        }
 
        void DisplayDCCAllowList(User* user)
@@ -251,16 +255,20 @@ class ModuleDCCAllow : public Module
 
        ModuleDCCAllow()
                : cmd(this)
+       {
+               ext = NULL;
+       }
+
+       void init()
        {
                ext = new SimpleExtItem<dccallowlist>("dccallow", this);
-               ServerInstance->Extensions.Register(ext);
-               ServerInstance->AddCommand(&cmd);
+               ServerInstance->Modules->AddService(*ext);
+               ServerInstance->Modules->AddService(cmd);
                ReadFileConf();
                Implementation eventlist[] = { I_OnUserPreMessage, I_OnUserPreNotice, I_OnUserQuit, I_OnUserPostNick, I_OnRehash };
-               ServerInstance->Modules->Attach(eventlist, this, 5);
+               ServerInstance->Modules->Attach(eventlist, this, sizeof(eventlist)/sizeof(Implementation));
        }
 
-
        virtual void OnRehash(User* user)
        {
                ReadFileConf();