* Copyright (C) 2013 Adam <Adam@anope.org>
* Copyright (C) 2012-2014, 2016 Attila Molnar <attilamolnar@hush.com>
* Copyright (C) 2013 Adam <Adam@anope.org>
* Copyright (C) 2012-2014, 2016 Attila Molnar <attilamolnar@hush.com>
* Copyright (C) 2009 Uli Schlachter <psychon@inspircd.org>
* Copyright (C) 2009 Daniel De Graaf <danieldg@inspircd.org>
* Copyright (C) 2007-2009 Robin Burchell <robin+git@viroteck.net>
* Copyright (C) 2007 Dennis Friis <peavey@inspircd.org>
* Copyright (C) 2009 Uli Schlachter <psychon@inspircd.org>
* Copyright (C) 2009 Daniel De Graaf <danieldg@inspircd.org>
* Copyright (C) 2007-2009 Robin Burchell <robin+git@viroteck.net>
* Copyright (C) 2007 Dennis Friis <peavey@inspircd.org>
*
* 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
*
* 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
- XLine* Generate(time_t set_time, unsigned long duration, const std::string& source, const std::string& reason, const std::string& xline_specific_mask) CXX11_OVERRIDE
- {
- IdentHostPair ih = ServerInstance->XLines->IdentSplit(xline_specific_mask);
- return new KLine(set_time, duration, source, reason, ih.first, ih.second);
- }
+ XLine* Generate(time_t set_time, unsigned long duration, const std::string& source, const std::string& reason, const std::string& xline_specific_mask) CXX11_OVERRIDE
+ {
+ IdentHostPair ih = ServerInstance->XLines->IdentSplit(xline_specific_mask);
+ return new KLine(set_time, duration, source, reason, ih.first, ih.second);
+ }
- XLine* Generate(time_t set_time, unsigned long duration, const std::string& source, const std::string& reason, const std::string& xline_specific_mask) CXX11_OVERRIDE
- {
- return new QLine(set_time, duration, source, reason, xline_specific_mask);
- }
+ XLine* Generate(time_t set_time, unsigned long duration, const std::string& source, const std::string& reason, const std::string& xline_specific_mask) CXX11_OVERRIDE
+ {
+ return new QLine(set_time, duration, source, reason, xline_specific_mask);
+ }
- XLine* Generate(time_t set_time, unsigned long duration, const std::string& source, const std::string& reason, const std::string& xline_specific_mask) CXX11_OVERRIDE
- {
- return new ZLine(set_time, duration, source, reason, xline_specific_mask);
- }
+ XLine* Generate(time_t set_time, unsigned long duration, const std::string& source, const std::string& reason, const std::string& xline_specific_mask) CXX11_OVERRIDE
+ {
+ return new ZLine(set_time, duration, source, reason, xline_specific_mask);
+ }
* was added, it iterated every existing line for every existing user. Ow. Expiry was also
* expensive, as the lists were NOT sorted.
*
* was added, it iterated every existing line for every existing user. Ow. Expiry was also
* expensive, as the lists were NOT sorted.
*
* matching speed, but matched in the same way.
* Expiry was also sped up by sorting the list by expiry (meaning just remove the items at the
* head of the list that are outdated.)
* matching speed, but matched in the same way.
* Expiry was also sped up by sorting the list by expiry (meaning just remove the items at the
* head of the list that are outdated.)
* a map of maps (first map is line type, second map is for quick lookup on add/delete/etc).
*
* Expiry is *no longer* performed on a timer, and no longer uses a sorted list of any variety. This
* a map of maps (first map is line type, second map is for quick lookup on add/delete/etc).
*
* Expiry is *no longer* performed on a timer, and no longer uses a sorted list of any variety. This
if (InspIRCd::Match(u->ident, this->identmask, ascii_case_insensitive_map))
{
if (InspIRCd::MatchCIDR(u->GetRealHost(), this->hostmask, ascii_case_insensitive_map) ||
if (InspIRCd::Match(u->ident, this->identmask, ascii_case_insensitive_map))
{
if (InspIRCd::MatchCIDR(u->GetRealHost(), this->hostmask, ascii_case_insensitive_map) ||
if (InspIRCd::Match(u->ident, this->identmask, ascii_case_insensitive_map))
{
if (InspIRCd::MatchCIDR(u->GetRealHost(), this->hostmask, ascii_case_insensitive_map) ||
if (InspIRCd::Match(u->ident, this->identmask, ascii_case_insensitive_map))
{
if (InspIRCd::MatchCIDR(u->GetRealHost(), this->hostmask, ascii_case_insensitive_map) ||
if (InspIRCd::Match(u->ident, this->identmask, ascii_case_insensitive_map))
{
if (InspIRCd::MatchCIDR(u->GetRealHost(), this->hostmask, ascii_case_insensitive_map) ||
if (InspIRCd::Match(u->ident, this->identmask, ascii_case_insensitive_map))
{
if (InspIRCd::MatchCIDR(u->GetRealHost(), this->hostmask, ascii_case_insensitive_map) ||
void QLine::Apply(User* u)
{
/* Force to uuid on apply of Q-line, no need to disconnect anymore :) */
void QLine::Apply(User* u)
{
/* Force to uuid on apply of Q-line, no need to disconnect anymore :) */