w00t
841dc636d1
Add bancache.coo/h. Nothing in them, yet.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8483 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-03 21:19:39 +00:00
brain
335a65f418
More anal config parsing, validates channel fields, ip address fields (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-03 16:14:29 +00:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
brain
a796450b8c
Whoops, must be const
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8378 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-26 20:53:37 +00:00
brain
efa0823927
Add new event for this with gauranteed delivery of message BEFORE the text is sent out
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8376 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-26 20:48:58 +00:00
w00t
7b3105e5d4
Implement <connect:limit> - limits how many clients can sit inside a <connect> tag. Brain, we have a problem here in that if we User::QuitUser() a user with a NULL MyClass member (connect class), then things break (like sendq et al). What should we do with this, create a generic catchall class or something just in case? (to replicate, set up a single connect class with a low limit, and connect too many clients. Crash is the result)
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8357 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-24 22:52:51 +00:00
w00t
d5ee2584e1
Disable all connect classes, reenable them as we find them in the config. This stops users using a connect class removed from the conf (or will in a second)
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8355 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-24 19:12:45 +00:00
brain
58e4aa3a8c
Pedantic safety
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8350 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-24 18:05:44 +00:00
brain
3c4730c34f
Some constructors dont initialize the refcount, namely, the one thats usually called :P
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8346 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-24 16:08:29 +00:00
brain
5b329bf110
Obnoxious -pedantic warnings
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8344 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-24 15:51:08 +00:00
brain
fa04fb00cf
Try this w00t, compiles, test running now
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8343 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-24 15:48:00 +00:00
w00t
5b80dc83fd
Move some stuff from using userrec cached stuff to using stuff in the connect classes
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8339 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-23 23:54:24 +00:00
w00t
0b98824cc5
Some more class stuff, blah. Now possible to move a user to a different class via User::SetClass(), which cmd_oper uses. GetClass() is now just a wrapper around User::MyClass. User::CheckClass() does not support any parameters anymore, nor does User::GetClass().. I think I have this all right ;p
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8337 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-23 23:25:49 +00:00
w00t
bbb7c9eec5
Some initial work towards tying <connect> classes to user accounts. This will (in the longer term) allow for things like limits on how many users can fit in a <connect> for 1.2
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8336 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-23 23:07:24 +00:00
brain
cbb8fda4a7
Move socketengines into their own dir. This was all w00t's idea, but i told him no because i didnt think it would work. Now ive done it myself :P ner ner ne ner ner :)
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8332 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-23 22:30:25 +00:00
brain
6720b7bccb
Visual studio doesnt like throw definitions like this
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8324 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-23 21:05:01 +00:00
brain
a78e985b88
More pedantic safety
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8318 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-23 20:29:00 +00:00