X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fcoremods%2Fcore_xline%2Fcmd_zline.cpp;h=350f3270c0d8dd5518b5b056ff1cb271f7c4a688;hb=6adca3e0997781eae4adb02f19a2f8c312512ae1;hp=eda5b2a4623fa572da9eb02f73d22a1d5b3f47e1;hpb=c67d3103e9f7397f0ab9631bf07a5e5547deb2c3;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/coremods/core_xline/cmd_zline.cpp b/src/coremods/core_xline/cmd_zline.cpp index eda5b2a46..350f3270c 100644 --- a/src/coremods/core_xline/cmd_zline.cpp +++ b/src/coremods/core_xline/cmd_zline.cpp @@ -21,23 +21,16 @@ #include "inspircd.h" #include "xline.h" -/** Handle /ZLINE. - */ -class CommandZline : public Command +#include "core_xline.h" + +CommandZline::CommandZline(Module* parent) + : Command(parent, "ZLINE", 1, 3) { - public: - /** Constructor for zline. - */ - CommandZline ( Module* parent) : Command(parent,"ZLINE",1,3) { flags_needed = 'o'; Penalty = 0; syntax = " [ :]"; } - /** Handle command. - * @param parameters The parameters to the command - * @param user The user issuing the command - * @return A value from CmdResult to indicate command success or failure. - */ - CmdResult Handle(const std::vector& parameters, User *user); -}; + flags_needed = 'o'; + syntax = " [ :]"; +} -CmdResult CommandZline::Handle (const std::vector& parameters, User *user) +CmdResult CommandZline::Handle(User* user, const Params& parameters) { std::string target = parameters[0]; @@ -65,7 +58,8 @@ CmdResult CommandZline::Handle (const std::vector& parameters, User ipaddr++; } - if (ServerInstance->IPMatchesEveryone(ipaddr,user)) + IPMatcher matcher; + if (InsaneBan::MatchesEveryone(ipaddr, matcher, user, "Z", "ipmasks")) return CMD_FAILURE; unsigned long duration = InspIRCd::Duration(parameters[1]); @@ -107,4 +101,7 @@ CmdResult CommandZline::Handle (const std::vector& parameters, User return CMD_SUCCESS; } -COMMAND_INIT(CommandZline) +bool CommandZline::IPMatcher::Check(User* user, const std::string& ip) const +{ + return InspIRCd::MatchCIDR(user->GetIPString(), ip, ascii_case_insensitive_map); +}