summaryrefslogtreecommitdiff
path: root/include/xline.h
AgeCommit message (Collapse)Author
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-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-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-07-16OOPS! We try again, since I'm smoking craq. LF is 0x0a NOT CR.peavey
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7456 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-16'svn propset -R svn:eol-style CR *' Set to UNIX-style always. Binaries are ↵peavey
auto skipped by svn. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7454 e03df62e-2008-0410-955e-edbf42e46eb7
2007-06-17I think we're done adding comments to headers. Phew.brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7385 e03df62e-2008-0410-955e-edbf42e46eb7
2007-06-14Fix for bug #324 reported by HiroPbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7303 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-19Space indents must die.brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7049 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-19Windows support. Tested and working to compile on freebsd and linux. Next ↵w00t
step is to make sure it actually works in windows too. ;p. Add Burlex to contributors. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7043 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-04Massive speedups for applying and checking perm xlines - matches_*line() now ↵brain
has a permonly optional param, and apply_lines can be passed an APPLY_LOCAL_ONLY. Also, improve speed of config reading stuff when reading in the lines git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6223 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-15And now, just to force you to recompile the *whole* ircd.. updated headers ↵w00t
on the headers. :p git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5998 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-14Tons of tweaks to the config stuff for the corebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5744 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-19Make the check against z/k/q/e/g methods return a pointer to the whole ↵brain
object rather than just the reason string git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5305 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-19Fix crashes, and in the process make xline even faster!brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5304 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-19Make xline more memory-efficient and faster/neater. Eliminate a mass of ↵brain
fixed-size buffer and strlcpy git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5300 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-11Fix for picky compilers (see, I work sometimes ;p)w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5218 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-10Split hostmasks into ident and host pairs for matching as g/k/e lines. This ↵brain
allows them to be matched faster and more efficiently git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5203 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-10Match IP's with klines, glines and exceptions, as well as hostsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5201 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-31Remove extra/wrong qualifications, makes GCC 4.1 (at least) dieom
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5088 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-30Remove a ton of <typeinfo>, <iostream>, <sstream> etc that we usually never usebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5081 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-12Document some missing xline stuffbrain
Document the variants of SocketEngine for epoll, kqueue and select git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4905 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11Document XLineManagerbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4897 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11Move all of the xline stuff into class XLineManager, make an instance of it ↵brain
in class InspIRCd and use it (eliminates another extern) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4878 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-09Tidy up loglevel enum (remove some C-ish defines)brain
change ServerConfig to pass a pointer to 'this' to Validation etc functions git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4811 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-30REMOTE STATS! WOOO AND YAY!brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4596 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-01Change WriteChannelWithServ and it's _NoFormat to take a const char* ↵om
servername rather than char* - although it doesn't seem to be used :< Lose some more casts in m_spanningtree, unneeded because of above changes Make xline_set_creation_time() take const char* rather than char* for it's first parameter, lose more casts in spanningtree because of this Make do_whois take a const char* rather chan char* nick, lose yet more casts git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4095 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-10Mass tidyup of ServerConfig::Read and stuffbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3634 e03df62e-2008-0410-955e-edbf42e46eb7
2006-02-08Checks to not propogate invalid or already-existing Xlinesbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3143 e03df62e-2008-0410-955e-edbf42e46eb7
2006-01-15Updated copyrights in headers etc using perl inplace editbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2795 e03df62e-2008-0410-955e-edbf42e46eb7
2005-12-14Added parameter to apply_lines to indicate what we want to applybrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2391 e03df62e-2008-0410-955e-edbf42e46eb7
2005-12-08Optimized (much faster, more efficient, less cpu usage)brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2269 e03df62e-2008-0410-955e-edbf42e46eb7
2005-11-25Fixes for removal of serverrecbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1946 e03df62e-2008-0410-955e-edbf42e46eb7
2005-05-12Changed the type of struct whowas records are stored in (no need to waste a ↵brain
big heavy userrec) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1369 e03df62e-2008-0410-955e-edbf42e46eb7
2005-04-13Added Server::AddGLinebrain
Added Server::AddKLine Added Server::AddZLine Added Server::AddQLine Added Server::AddELine Added Server::DelGLine Added Server::DelKLine Added Server::DelZLine Added Server::DelQLine Added Server::DelELine Added Server::Duration git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1071 e03df62e-2008-0410-955e-edbf42e46eb7