summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2007-11-11Implement roadmap item: "userrec::HasPermission -> map of maps, for (even ↵brain
faster) access" This is not a map of maps, but a single level map per oper, in non-opers this member is NULL. Please note that this is not yet tested. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8564 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11Fix crashes from badly written safeitersbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8563 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11Make iterators safe in FOREACH_MOD etc macros, so that ↵brain
ModuleManager::Detach() wont screw up the iterator git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8562 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-10m_spy no longer implements SPYNAMES, instead it overrides normal NAMES on ↵brain
the event that: (1) you are an oper and (2) you are not actually ON the channel. This way it will not break m_auditorium, m_delayjoin etc, however it will work properly with mircs annoying assumptions in its channel list git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8555 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-09Roadmap item "Fix jointhrottle to not try 'throttle' clients during a ↵brain
netmerge (requires changing join event to be aware of netmerge?)" -- 1.2 only requires an extra parameter to OnUserJoin, bool sync. usually false, but FJOIN code during burst sets it to true. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8552 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-05Rehash method added which frees unused memory from the hash_map. Has a ↵brain
delete-safe iterator. see comments. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8542 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04Why the hell the includes are half way down the damn file in modules.h is ↵brain
beyond me. lets fix this. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8541 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-04And whoops, typobrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8534 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04Fix these to use new hook system (u_listmode wasnt fixed yet)brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8533 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04Get rid of global_implementation[] and implement_lists[] from herebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8532 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04Instead of a vector of vectors, use an array of vectors as in the original ↵brain
spec on Development/Hooking. This is faster, as only the inner list resizes, and this avoids calls to std::vector::operator[] git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8531 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04Honking huge commit. Removal of DELETE() template that never worked right anywaybrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8527 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04Commentsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8526 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04MODERR tidyupsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8524 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04Remove some now redundant if (!empty) checks in FOREACH_MODbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8520 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04Remove no longer required typedefbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8517 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04Comment all the new stuffbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8516 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04Not yet tested: remove last vestiges of modules[] and module_names[] arrays.brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8514 e03df62e-2008-0410-955e-edbf42e46eb7
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