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
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
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
w00t
b57c7f4e46
In the grand tradition of huge fucking commits:
...
- chanrec -> Channel
- userrec -> User
Enjoy.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8204 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-15 20:59:05 +00:00
peavey
f2acdbc382
OOPS! We try again, since I'm smoking craq. LF is 0x0a NOT CR.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7456 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-16 17:30:04 +00:00
peavey
bab14f0dd2
'svn propset -R svn:eol-style CR *' Set to UNIX-style always. Binaries are auto skipped by svn.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7454 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-16 17:14:45 +00:00
brain
97c0bb9edc
I think we're done adding comments to headers. Phew.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7385 e03df62e-2008-0410-955e-edbf42e46eb7
2007-06-17 20:08:34 +00:00
brain
18e822f8bb
Fix for bug #324 reported by HiroP
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7303 e03df62e-2008-0410-955e-edbf42e46eb7
2007-06-14 17:03:16 +00:00
brain
d7324a55fa
Space indents must die.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7049 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-19 18:08:57 +00:00
w00t
9cf56d917d
Windows support. Tested and working to compile on freebsd and linux. Next 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-05-19 15:56:42 +00:00
brain
ca6434e44f
Massive speedups for applying and checking perm xlines - matches_*line() now 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
2007-01-04 18:53:31 +00:00
w00t
696ee9ff66
And now, just to force you to recompile the *whole* ircd.. updated headers on the headers. :p
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5998 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-15 22:18:59 +00:00
brain
004217daed
Tons of tweaks to the config stuff for the core
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5744 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-14 22:38:43 +00:00
brain
8ed63fe681
Make the check against z/k/q/e/g methods return a pointer to the whole 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-19 18:24:07 +00:00
brain
066e5ca366
Fix crashes, and in the process make xline even faster!
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5304 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-19 18:12:43 +00:00
brain
89dc9ab198
Make xline more memory-efficient and faster/neater. Eliminate a mass of fixed-size buffer and strlcpy
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5300 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-19 13:44:09 +00:00
w00t
83562ac4df
Fix for picky compilers (see, I work sometimes ;p)
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5218 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-11 19:34:28 +00:00
brain
a9c93027da
Split hostmasks into ident and host pairs for matching as g/k/e lines. This 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-10 17:51:03 +00:00
brain
52aec3dd2a
Match IP's with klines, glines and exceptions, as well as hosts
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5201 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-10 17:18:58 +00:00
om
f33f516fef
Remove extra/wrong qualifications, makes GCC 4.1 (at least) die
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5088 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-31 13:00:21 +00:00
brain
5b8d2c4cab
Remove a ton of <typeinfo>, <iostream>, <sstream> etc that we usually never use
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5081 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-30 09:51:50 +00:00
brain
d9d4f8fdad
Document some missing xline stuff
...
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-12 01:13:40 +00:00
brain
b96de3df20
Document XLineManager
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4897 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11 21:56:25 +00:00
brain
312d49abb0
Move all of the xline stuff into class XLineManager, make an instance of it 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-11 11:06:40 +00:00
brain
f068033883
Tidy up loglevel enum (remove some C-ish defines)
...
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-08-09 14:20:04 +00:00
brain
c746f9a964
REMOTE STATS! WOOO AND YAY!
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4596 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-30 13:00:51 +00:00
om
903dbea2b1
Change WriteChannelWithServ and it's _NoFormat to take a const char* 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-07-01 14:40:53 +00:00
brain
335ab9f041
Mass tidyup of ServerConfig::Read and stuff
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3634 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-10 17:18:15 +00:00
brain
3b9cf59ba0
Checks to not propogate invalid or already-existing Xlines
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3143 e03df62e-2008-0410-955e-edbf42e46eb7
2006-02-08 18:14:12 +00:00
brain
1383dba43e
Updated copyrights in headers etc using perl inplace edit
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2795 e03df62e-2008-0410-955e-edbf42e46eb7
2006-01-15 15:59:11 +00:00
brain
b70de5aa78
Added parameter to apply_lines to indicate what we want to apply
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2391 e03df62e-2008-0410-955e-edbf42e46eb7
2005-12-14 09:43:31 +00:00