7209 Commits

Author SHA1 Message Date
brain
f2b187052b Comment documentation for all the new shizzle
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8467 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-02 16:36:11 +00:00
brain
e19d04eb39 Whoops, new expiry stuff was expiring perm lines! fixed.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8466 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-02 16:14:31 +00:00
brain
f11df04688 Expire lines on burst, and ensure that if an eline expires while we're 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-02 15:58:46 +00:00
brain
ebbc4b3d54 Expire timed glines that are due for expiry on stats request for it, thanks for the idea danieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8464 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-02 15:52:34 +00:00
brain
6c025fcb9e Put back different stats numerics for /stats g, /stats k etc
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8463 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-02 15:22:23 +00:00
brain
5943ae1193 Whoops
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8462 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-02 14:04:11 +00:00
brain
17a80c5a8e Hopefully fix the bursting of xlines to work again (even with unknown types) 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-02 14:01:55 +00:00
brain
5028040d96 Move lookup_lines to private, theres no need for it to be public any more
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8460 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-02 13:46:51 +00:00
brain
5ecd5447d0 Tidy up, and make the identifer for a line type be std::string not char
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8459 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-02 13:45:02 +00:00
brain
68b55aa455 XLines now only checked for expiry on positive hit. saves us a honking big O(n) loop.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8458 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-02 12:51:22 +00:00
brain
786093b751 xline gutting, once more. There is no longer an active_lines vector, and no 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-02 12:35:18 +00:00
brain
bc6c0898c5 Installer that packages none of the extra/ modules
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8456 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-02 10:52:49 +00:00
brain
9c02aff3e4 Make misconfiguration of spanningtree more 'fatal' so we get less morons coming to us saying 'it wont link' and not knowing its skipped their invalid link tag
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8455 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-01 18:19:54 +00:00
w00t
5c5f62bdcc Comment a message out that people regularly attempt to interpret
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8453 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-01 15:19:59 +00:00
w00t
5a13b1834b Update docs on how XLine system will be working
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8452 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-01 15:15:52 +00:00
brain
ccb5d63ae7 Make it compilable :p
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8451 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-31 22:17:17 +00:00
brain
5315db41ad There, i think all thats now left is matches_*line which we can do with two 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-31 22:16:42 +00:00
brain
6236cf5891 Add XLine::SetCreateTime that removes gline_set_creation_time and friends
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8449 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-31 22:15:03 +00:00
brain
4e5bd889d9 Fix (?) stats chars
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8448 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-31 22:00:25 +00:00
brain
0ade30b8bc This *should* fix expiry. Can someone else (w00t? :p) test for me, and check 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-31 21:43:56 +00:00
brain
a60b8e0d56 More debug in here
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8446 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-31 21:09:35 +00:00
brain
78f7265d8d Start to fix broken expiry
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8445 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-31 20:54:27 +00:00
brain
6d55471b67 Use XLineFactory in ADDLINE, so that it can deal with anything the rest of the ircd knows about
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8444 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-31 20:14:52 +00:00
brain
6c72a0cf58 Make it all compile.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8443 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-31 20:10:29 +00:00
brain
c45fe6715d Fix up to pass User*
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8442 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-31 19:51:03 +00:00
brain
b3f562c11d Forward decl
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8441 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-31 19:37:07 +00:00
brain
6fb9ea5765 Remove all the OnAddGLine, OnAddWhateverLine replace with one simple 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-31 19:36:38 +00:00
brain
21f9acdb6c Add factories for other types
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8439 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-31 19:31:51 +00:00
brain
31eaefa6a6 Add factories for eline and gline as tests
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8438 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-31 19:26:26 +00:00
brain
dcd26f6b56 Implement: XLineManager::RegisterFactory, UnregisterFactory, GetFactory
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8437 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-31 19:15:12 +00:00
brain
3cf7620e91 Add XLineFactory stuff.
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-31 19:03:28 +00:00
brain
98cfe3e328 Spanningtree now compiles
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8435 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-31 18:50:09 +00:00
brain
ca7cb01b7a This one too, grr
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8434 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-31 18:06:54 +00:00
brain
de08da58f7 Bloody hell, just how many modules use this shit
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8433 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-31 17:57:57 +00:00
brain
3b1e5822f6 More fixes
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8432 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-31 17:46:57 +00:00
brain
568f90949a Make /gline etc compile with new methods
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8431 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-31 17:43:58 +00:00
brain
4c62b87419 More fixes and some optimizations
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8430 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-31 17:35:21 +00:00
brain
8fcac8d438 More stuff
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8429 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-31 17:30:18 +00:00
brain
4ae08d5272 Fixified some more
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8428 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-31 17:22:02 +00:00
brain
de17f45ced The rest doesnt compile yet, dont bother :p
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8427 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-31 17:00:23 +00:00
w00t
7a60f99d07 Reorder creation of objects so:
1) they are all done in the same place
2) calling InspIRCd::Exit() early on (before initialising a few things is done) doesn't crash us ;p

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8426 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-31 15:53:03 +00:00
w00t
0c3eeb1ae4 Clean up XLine conf stuff a little bit, move most of it to configreader. 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-31 12:12:30 +00:00
brain
be1286835c Add support for nick@server requested by many. We are not likely to backport this, cant actually find reference to it in rfc1459
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8424 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-30 22:49:46 +00:00
brain
6cc66282a5 A few more timesaving checks.
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-29 00:37:47 +00:00
brain
b253374745 Add the lookup_lines stuff. Sorry i havent documented this yet, i am tired.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8422 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-29 00:35:17 +00:00
brain
145f7fbe60 Big fat fixme here
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8421 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-29 00:24:29 +00:00
brain
22c83f35d4 Ok, now each xline will be in two places. The sorted vector and a map, each 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-29 00:23:11 +00:00
brain
8782cde20b Compile fixes
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8419 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-29 00:18:26 +00:00
brain
d67f0923b5 This commit is untested and breaks a lot of xline stuff. work in progress.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8418 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-29 00:15:10 +00:00
w00t
ae83416270 Make ELines cached, and check for ELined status in all the Matches for all 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-28 21:37:22 +00:00