* +------------------------------------+
*
* InspIRCd: (C) 2002-2009 InspIRCd Development Team
- * See: http://www.inspircd.org/wiki/index.php/Credits
+ * See: http://wiki.inspircd.org/Credits
*
* This program is free but copyrighted software; see
* the file COPYING for details.
{
ServerInstance->BanCache->RemoveEntries(line->type, false); // XXX perhaps remove ELines here?
- /* If the line exists, check if its an expired line */
+ if (line->duration && ServerInstance->Time() > line->expiry)
+ return false; // Don't apply expired XLines.
+
+ /* Don't apply duplicate xlines */
ContainerIter x = lookup_lines.find(line->type);
if (x != lookup_lines.end())
{
LookupIter i = x->second.find(line->Displayable());
if (i != x->second.end())
{
- if (i->second->duration && ServerInstance->Time() > i->second->expiry)
- ExpireLine(x, i);
- else
- return false;
+ return false;
}
}