summaryrefslogtreecommitdiff
path: root/src/xline.cpp
AgeCommit message (Collapse)Author
2009-02-22Don't allow expired XLines to be added.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11139 e03df62e-2008-0410-955e-edbf42e46eb7
2009-02-14Nuke trailing spacespeavey
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11105 e03df62e-2008-0410-955e-edbf42e46eb7
2009-01-28Note to self, cast time_t to long int for printf... thanks Ankit for ↵dz
pointing this out. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11012 e03df62e-2008-0410-955e-edbf42e46eb7
2009-01-28Make xline expiry messages a bit clearer that the xline may have expired a ↵dz
while ago, and give the correct time since they were set instead of the duration. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11011 e03df62e-2008-0410-955e-edbf42e46eb7
2009-01-27Check line expiry when touching an xline, to prevent huge buildup of stale ↵w00t
lines chomping CPU. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11007 e03df62e-2008-0410-955e-edbf42e46eb7
2009-01-02Update copyrights for 2009.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10932 e03df62e-2008-0410-955e-edbf42e46eb7
2008-12-07Move stuff to use ASCII map where required.w00t
Also move this out of being a member totally, as it breaks (gah) and is already untidy.. to be revisited. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10858 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-22Second part of fix for bug #605, make adding and removal of lines not case ↵brain
sensitive git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10590 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-22Fix for bug #605 reported by MacGuyver, if a line is expired when we are ↵brain
adding another with the same hostmask, replace the existing line with the new one git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10589 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-19Don't check E:Lines when enforcing Q:Lines on connected users. Thanks MacGyver.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10559 e03df62e-2008-0410-955e-edbf42e46eb7
2008-08-28Rename lowermap to rfc_case_insensitive_map, add case_sensitive_map.. adjust ↵w00t
files to not pass lowermap directly. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10337 e03df62e-2008-0410-955e-edbf42e46eb7
2008-08-21match() is no longer a function+no header, now a static method of InspIRCd ↵w00t
class, blah blah blah. Also rip out the 1.2 matcher, as it was slow, and replace it with one adapted from znc, which happens to be a tiny bit faster than 1.1's (and the fastest I've seen so far that works properly) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10212 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-29Remove last vestige of libircdfoo, by changing tag into a single ↵w00t
identifier marking object as requiring compilation into a .o (minor commit) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10076 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-12Add XLineManager::DelAll to delete all lines of a given type.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9975 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-18Make User:: nick/ident/dhost/fullname and some other things std::string ↵aquanight
instead of char*/char[] (MODULES DO NOT COMPILE) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9748 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-18Remove .c_str()'s in match() calls that are no longer needed as match() ↵brain
natively takes std::strings git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9737 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-21Fix quietbans and hidesplits etc, cull list's sending a seperate quit ↵brain
message to normal users was broken git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9574 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-21Merge in large patchset from GreenReaper, useful fixes for freeing a ton of ↵brain
different things on shutdown for tidyness, and a few stack corruption fixes in the mode handler git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9565 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-09Move QuitUser into UserManager class, and unstaticize it. This prepares for ↵w00t
some benchmarking lulz on object pooling I plan to do today, as well as making more sense now we *have* a manager class git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9442 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-07Add extra stuff for w00t, AutoApplyToUserList method for XLineFactorybrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9409 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-05Fix bug (partially/accidentally) discovered by Bricker: if an XLine is not ↵w00t
permanent, bancache should use the expiry time of the xline, not an arbitrary value git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9356 e03df62e-2008-0410-955e-edbf42e46eb7
2008-03-30Commit -Wformat=2 -Wmissing-format-attributes, printf-like functions in ↵aquanight
inspircd now get treated like printf (meaning compile-time check goodness) in GCC git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9217 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-22Convert remaining InspIRCd::Log() calls to new logging systemaquanight
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9001 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-17I gots a better fix :pbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8951 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-11Fix trampling on memory in Z/G/K/ELine.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8901 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-11Add -Wshadow to cflags, and fix a bunch of warnings that come with it. Add a ↵w00t
note to webirc that needs looking at. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8892 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-02Move some stuff to usermanager, remove a little header insanity, remove ↵w00t
trace because it's still less useful than a chocolate fireman. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8790 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-10Header update: 2007 -> 2008w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8694 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-09Add OnExpireLine(XLine *) hook, will be used in xline db stuff to avoid ↵w00t
getting a fucked up vector git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8676 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-09Fix bug in new XLine system (thanks Brain) - I don't know how I didn't spot ↵w00t
this one :P git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8672 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-06Maybe BanCache works now?w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8643 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-06Add removal of BanCache entries on XLINE add/del, so we avoid out of date ↵w00t
responses. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8641 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04Integrate K/Gline into the bancache system by making some modifications to ↵w00t
DefaultApply method. This means any type of XLine that uses DefaultApply can hook into the bancache system and add positive hits quickly and easily with no modification, which is neat. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8538 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-02Force to uuid on applying a qline, rather than disconnectingbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8472 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-02We cant return NULL if the first hit we get expires in MatchLine, there may ↵brain
be another *after* it which matches, meaning that user may escape retribution ;) (thanks for pointing that out, aquanight) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8471 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-02Whoops, new expiry stuff was expiring perm lines! fixed.brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8466 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-02Expire lines on burst, and ensure that if an eline expires while we're ↵brain
checking elines, the iterator is not trashed git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8465 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-02Expire timed glines that are due for expiry on stats request for it, thanks ↵brain
for the idea danieldg git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8464 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-02Hopefully fix the bursting of xlines to work again (even with unknown types) ↵brain
and also add facility to enumerate them git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8461 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-02Move lookup_lines to private, theres no need for it to be public any morebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8460 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-02Tidy up, and make the identifer for a line type be std::string not charbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8459 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-02XLines now only checked for expiry on positive hit. saves us a honking big ↵brain
O(n) loop. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8458 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-02xline gutting, once more. There is no longer an active_lines vector, and no ↵brain
requirement for sorting. Expiry will be cheked on a per-line basis for each positive hit on that line, saving on cpu time. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8457 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-01Update docs on how XLine system will be workingw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8452 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-31There, i think all thats now left is matches_*line which we can do with two ↵brain
overloaded methods Matches(const char type, const std::string &pattern) and Matches(const char type, User* u) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8450 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-31Fix (?) stats charsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8448 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-31This *should* fix expiry. Can someone else (w00t? :p) test for me, and check ↵brain
im not committing something thats a pointless exercise in futility? :P git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8447 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-31More debug in herebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8446 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-31Start to fix broken expirybrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8445 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-31Fix up to pass User*brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8442 e03df62e-2008-0410-955e-edbf42e46eb7