X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fcoremods%2Fcore_xline%2Fcmd_zline.cpp;h=350f3270c0d8dd5518b5b056ff1cb271f7c4a688;hb=6adca3e0997781eae4adb02f19a2f8c312512ae1;hp=5eeebf1752bd2916785e9776ba517d6a6cede45b;hpb=8de3635fab6d3de02b4a352380448316ebefe825;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 5eeebf175..350f3270c 100644 --- a/src/coremods/core_xline/cmd_zline.cpp +++ b/src/coremods/core_xline/cmd_zline.cpp @@ -27,11 +27,10 @@ CommandZline::CommandZline(Module* parent) : Command(parent, "ZLINE", 1, 3) { flags_needed = 'o'; - Penalty = 0; syntax = " [ :]"; } -CmdResult CommandZline::Handle (const std::vector& parameters, User *user) +CmdResult CommandZline::Handle(User* user, const Params& parameters) { std::string target = parameters[0]; @@ -59,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]); @@ -100,3 +100,8 @@ CmdResult CommandZline::Handle (const std::vector& parameters, User return CMD_SUCCESS; } + +bool CommandZline::IPMatcher::Check(User* user, const std::string& ip) const +{ + return InspIRCd::MatchCIDR(user->GetIPString(), ip, ascii_case_insensitive_map); +}