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
w00t
7dbd30b89c
Update User::exempt all the time we change an E:Line. Brain, can you check 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-28 21:23:07 +00:00
brain
e8df3f491d
YAR!
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8415 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-28 21:20:09 +00:00
brain
402bb37950
Fix it all up, im done with the main bit of this
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8414 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-28 21:17:43 +00:00
brain
d01372ab64
Grr
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8413 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-28 21:17:11 +00:00
brain
774747d8ac
Add Apply and DefaultApply.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8412 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-28 21:14:41 +00:00
w00t
02a1173a5e
Fixify
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8411 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-28 21:00:19 +00:00
w00t
dece466300
Rewrite of XLineManager::ApplyLines to only apply pending lines. This ..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-28 20:59:00 +00:00
brain
1580ba87b9
I think this is done. Add overloaded Matches() which takes std::string and 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-28 20:29:53 +00:00
w00t
f5f716ea6f
Move matches_qline to Matches, though this won't work properly .. :s
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8408 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-28 19:54:36 +00:00
w00t
fd568fb528
Make E:Line/G:Line use the Matches stuff
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8407 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-28 19:35:58 +00:00
w00t
a87326fb17
Make ZLine use Matches()
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8406 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-28 19:32:23 +00:00
w00t
ba84759bf7
Fix this to pass a User
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8405 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-28 19:29:05 +00:00
brain
f428fe870d
Done my part
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8404 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-28 19:26:22 +00:00
w00t
3f29514c37
Add a virtual Matches to XLine class, and override it appropriately for all 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-28 19:20:44 +00:00
brain
7361ed672e
Forgot it should return false
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8402 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-28 19:07:06 +00:00
brain
e43b51239d
Fixed w00t
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8401 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-28 19:04:44 +00:00
w00t
9d5687922c
Ignore this commit. *jedi mind trick*
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8400 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-28 18:59:24 +00:00
w00t
ce9b1289c6
PERL PIE FOR ALL: Rename a fuckload of XLineManager's methods
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8399 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-28 18:44:49 +00:00
w00t
4840d5e775
- Tear out a useless load of XLine clutters that did nothing much except 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-28 18:33:06 +00:00