summaryrefslogtreecommitdiff
path: root/src/xline.cpp
AgeCommit message (Collapse)Author
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
2007-10-31Add factories for other typesbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8439 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-31Add factories for eline and gline as testsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8438 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-31Implement: XLineManager::RegisterFactory, UnregisterFactory, GetFactorybrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8437 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-31More fixes and some optimizationsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8430 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-31More stuffbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8429 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-31Fixified some morebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8428 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-31The rest doesnt compile yet, dont bother :pbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8427 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-31Clean up XLine conf stuff a little bit, move most of it to configreader. ↵w00t
Also, check elines and call ApplyLines on both rehash and startup. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8425 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-29A few more timesaving checks.brain
The more astute amongst you will have noticed all the Add?Line functions now look practically identical. This paves the way for us to have one generic one, but before we do this i'd rather have us add an XLine* pointer to it, not a hostmask or something non-generic. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8423 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-29Add the lookup_lines stuff. Sorry i havent documented this yet, i am tired.brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8422 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-29Ok, now each xline will be in two places. The sorted vector and a map, each ↵brain
line type having its own map stored in a map of maps. (RTFS when its done) This allows for faster checking for simple existence of a line for removal/adding without O(n) lookups git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8420 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-29This commit is untested and breaks a lot of xline stuff. work in progress.brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8418 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-28Make ELines cached, and check for ELined status in all the Matches for all ↵w00t
the linetypes. Brain, SVN up before you overwrite my fixes to bits of this again :P git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8417 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-28Update User::exempt all the time we change an E:Line. Brain, can you check ↵w00t
I've done this okay, and fix my XXX if you know how? ta. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8416 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-28YAR!brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8415 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-28Grrbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8413 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-28Add Apply and DefaultApply.brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8412 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-28Fixifyw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8411 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-28Rewrite of XLineManager::ApplyLines to only apply pending lines. This ↵w00t
..doesn't seem to compile at the moment for me. Not tested, at all. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8410 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-28I think this is done. Add overloaded Matches() which takes std::string and ↵brain
implement it in zline and qline, the rest dont need it git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8409 e03df62e-2008-0410-955e-edbf42e46eb7