X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_rline.cpp;h=e6414c5dd85f53b847e4387e6f1abdf8bd9af6ca;hb=3151d60c1ecc9462e4c335282ee6c31672f45111;hp=353a184aa523139c390f852f981b1a65bd74a71d;hpb=21e7efdadfa685ac1ddcb0a0a515502bc873302b;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_rline.cpp b/src/modules/m_rline.cpp index 353a184aa..e6414c5dd 100644 --- a/src/modules/m_rline.cpp +++ b/src/modules/m_rline.cpp @@ -1,10 +1,16 @@ /* * InspIRCd -- Internet Relay Chat Daemon * - * Copyright (C) 2009 Daniel De Graaf - * Copyright (C) 2008 Craig Edwards + * Copyright (C) 2018 linuxdaemon + * Copyright (C) 2017, 2019 Matt Schatz + * Copyright (C) 2013, 2017-2018, 2020 Sadie Powell + * Copyright (C) 2012-2013, 2016 Attila Molnar + * Copyright (C) 2012, 2018-2019 Robby + * Copyright (C) 2009-2010 Daniel De Graaf + * Copyright (C) 2009 Uli Schlachter + * Copyright (C) 2008-2009 Robin Burchell * Copyright (C) 2008 Thomas Stagner - * Copyright (C) 2008 Robin Burchell + * Copyright (C) 2008 Craig Edwards * * This file is part of InspIRCd. InspIRCd is free software: you can * redistribute it and/or modify it under the terms of the GNU General Public @@ -80,9 +86,9 @@ class RLine : public XLine ZLine* zl = new ZLine(ServerInstance->Time(), duration ? expiry - ServerInstance->Time() : 0, ServerInstance->Config->ServerName.c_str(), reason.c_str(), u->GetIPString()); if (ServerInstance->XLines->AddLine(zl, NULL)) { - std::string timestr = InspIRCd::TimeString(zl->expiry); - ServerInstance->SNO->WriteToSnoMask('x', "Z-line added due to R-line match on %s%s%s: %s", - zl->ipaddr.c_str(), zl->duration ? " to expire on " : "", zl->duration ? timestr.c_str() : "", zl->reason.c_str()); + std::string expirystr = zl->duration ? InspIRCd::Format(" to expire in %s (on %s)", InspIRCd::DurationString(zl->duration).c_str(), InspIRCd::TimeString(zl->expiry).c_str()) : ""; + ServerInstance->SNO->WriteToSnoMask('x', "Z-line added due to R-line match on %s%s: %s", + zl->ipaddr.c_str(), expirystr.c_str(), zl->reason.c_str()); added_zline = true; } else @@ -161,7 +167,7 @@ class CommandRLine : public Command } catch (ModuleException &e) { - ServerInstance->SNO->WriteToSnoMask('a',"Could not add RLINE: " + e.GetReason()); + ServerInstance->SNO->WriteToSnoMask('a', "Could not add R-line: " + e.GetReason()); } if (r) @@ -170,13 +176,13 @@ class CommandRLine : public Command { if (!duration) { - ServerInstance->SNO->WriteToSnoMask('x',"%s added permanent R-line for %s: %s", user->nick.c_str(), parameters[0].c_str(), parameters[2].c_str()); + ServerInstance->SNO->WriteToSnoMask('x', "%s added permanent R-line for %s: %s", user->nick.c_str(), parameters[0].c_str(), parameters[2].c_str()); } else { - time_t c_requires_crap = duration + ServerInstance->Time(); - std::string timestr = InspIRCd::TimeString(c_requires_crap); - ServerInstance->SNO->WriteToSnoMask('x', "%s added timed R-line for %s to expire on %s: %s", user->nick.c_str(), parameters[0].c_str(), timestr.c_str(), parameters[2].c_str()); + ServerInstance->SNO->WriteToSnoMask('x', "%s added timed R-line for %s, expires in %s (on %s): %s", + user->nick.c_str(), parameters[0].c_str(), InspIRCd::DurationString(duration).c_str(), + InspIRCd::TimeString(ServerInstance->Time() + duration).c_str(), parameters[2].c_str()); } ServerInstance->XLines->ApplyLines(); @@ -198,7 +204,7 @@ class CommandRLine : public Command } else { - user->WriteNotice("*** R-line " + parameters[0] + " not found in list, try /stats R."); + user->WriteNotice("*** R-line " + parameters[0] + " not found on the list."); } } @@ -246,7 +252,7 @@ class ModuleRLine : public Module, public Stats::EventListener Version GetVersion() CXX11_OVERRIDE { - return Version("RLINE: Regexp user banning.", VF_COMMON | VF_VENDOR, rxfactory ? rxfactory->name : ""); + return Version("Adds the /RLINE command which allows server operators to prevent users matching a nickname!username@hostname+realname regular expression from connecting to the server.", VF_COMMON | VF_VENDOR, rxfactory ? rxfactory->name : ""); } ModResult OnUserRegister(LocalUser* user) CXX11_OVERRIDE @@ -301,7 +307,7 @@ class ModuleRLine : public Module, public Stats::EventListener if (stats.GetSymbol() != 'R') return MOD_RES_PASSTHRU; - ServerInstance->XLines->InvokeStats("R", 223, stats); + ServerInstance->XLines->InvokeStats("R", stats); return MOD_RES_DENY; }