summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2007-11-04Remove our vectors of Module*/ircd_module*, replace with a map of ↵brain
std::pair<ircd_module*, Module*> git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8513 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04More craqbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8507 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04Bring back Prioritize (needs to occur after module load) with a different ↵brain
declaration git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8499 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04Next part of Development/Hooking (see wiki)brain
Module::Prioritize and Module::Implements are now GONE. ModuleManager::MoveTo, MoveBefore, MoveAfter, MoveFirst, MoveLast are GONE too. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8498 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04Development/Hooking in full swing now: WARNING, this will break ALL modules ↵brain
for the time being until complete! git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8497 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04Add EventHandlers structure for Development/Hookingbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8496 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04Instantiate BanCache in InspIRCd class.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8491 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04Make bancache compile on windowsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8490 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04Remove some unnecessary headers from places, commit working BanCacheManager ↵w00t
skeleton. Work in progress, ignore it for now. Doesn't do anything, either. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8487 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-03You'll hit yourself w00t. You left the ; off both the class decls :pbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8486 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-03Remove needless headers from typedefs.hbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8485 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-03This won't work yet.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8484 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-03Add bancache.coo/h. Nothing in them, yet.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8483 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-03More anal config parsing, validates channel fields, ip address fields ↵brain
(with/without wildcard) hostname fields, fields which may not contain spaces git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8474 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-02Comment documentation for all the new shizzlebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8467 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-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-31Add XLine::SetCreateTime that removes gline_set_creation_time and friendsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8449 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-31Fix up to pass User*brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8442 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-31Forward declbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8441 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-31Remove all the OnAddGLine, OnAddWhateverLine replace with one simple ↵brain
OnAddLine and a OnDelLine which is passed User* (person adding or NULL if its the server) and the XLine git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8440 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-31Add XLineFactory stuff.brain
The idea is, a module or the core can register a class derived from XLineFactory. This class's job is to handle creation of an 'unknown' xline type given xline-specific mask data (e.g. "*@host*" or any other such text) and a line type, currently char (i DO plan on changing this!!!). This way, spanningtree and friends can create an xline without knowing its full details just by passing what all xlines share in common and a bit of semi-opaque metadata. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8436 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-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-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-28Fix it all up, im done with the main bit of thisbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8414 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-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-28Make ZLine use Matches()w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8406 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-28Ignore this commit. *jedi mind trick*w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8400 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-26Whoops, must be constbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8378 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-26Add new event for this with gauranteed delivery of message BEFORE the text ↵brain
is sent out git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8376 e03df62e-2008-0410-955e-edbf42e46eb7