summaryrefslogtreecommitdiff
path: root/src/xline.cpp
AgeCommit message (Collapse)Author
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
2007-10-28Move matches_qline to Matches, though this won't work properly .. :sw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8408 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-28Make E:Line/G:Line use the Matches stuffw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8407 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-28Make ZLine use Matches()w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8406 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-28Done my partbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8404 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-28Add a virtual Matches to XLine class, and override it appropriately for all ↵w00t
derived classes. Most still need to be converted to use it, however. This will make ApplyLines change much easier than it is currently .. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8403 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-28Forgot it should return falsebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8402 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-28Fixed w00tbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8401 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-28PERL PIE FOR ALL: Rename a fuckload of XLineManager's methodsw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8399 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-28- Tear out a useless load of XLine clutters that did nothing much except ↵w00t
confuse things - Revert back to early 1.0 design of using a single list for line storage. We'll make this work more efficiently than 1.0 though of course. This simplifies the code for expiry, checking, etc. - Merge a bunch of sort callbacks into a single sort callback for class XLine. - Horribly break apply_lines() for the time being. .. and that's probably it. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8398 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-22Remove the need for a bunch of the hard coded arrays/hashes by scanning the ↵brain
src/ dir for tag comments, like in modules git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8307 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-15In the grand tradition of huge fucking commits:w00t
- chanrec -> Channel - userrec -> User Enjoy. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8204 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-27Remove more unnecessary header trafficw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7887 e03df62e-2008-0410-955e-edbf42e46eb7