brain
b5788187ac
Document irc::commasepstream and irc::tokenstream
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4414 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-16 15:31:53 +00:00
brain
085cd4278f
Created new class irc::commasepstream.
...
Will read comma seperated lists and works identically to irc::tokenstream
It's re-entrant so we can run two of them together for JOIN
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4412 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-16 15:08:59 +00:00
brain
d787576389
Fix socket leak properly this time
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4405 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-16 13:52:10 +00:00
brain
5d18f26b6b
Fix case sensitive commands issue due to new std::string based parser, improve the craq disabled commands check that was potentially O(n) where n is the number of disabled commands (erk)
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4404 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-16 13:02:38 +00:00
brain
0757a4a495
mass tidyup, change A LOT of stuff to const char** which was char** (such as parameters to commands in handlers)
...
which makes the new lineparser work neater with no casts. This also removes tons of casts from other locations
(all in all, ive added 2 casts and removed almost a hundred)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4403 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-16 12:18:29 +00:00
brain
80d1296c31
MAJOR tidy of line parser, some parts rewritten and major chunks removed
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4402 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-16 08:38:33 +00:00
om
c195e03e61
const the std::string reference in tokenstream's constructor
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4400 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-16 07:23:03 +00:00
brain
ef10f984fa
This should be faster, we read it like a stream now with GetToken until GetToken returns "".
...
The optimizations done by gcc means theres only one std::string constructor call per token, which is mmm yum.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4397 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-16 02:09:58 +00:00
brain
6ab0b94dce
irc::tokenstream is a token parser which using std::string and std::vector builds a list of tokens using irc parsing rules.
...
e.g.:
:arse PRIVMSG #chan :foo bar baz
becomes
a[0] = ":arse", a[1] = "PRIVMSG", a[2] = "#chan", a[3] = "foo bar baz".
*** SOMEONE *** needs to optimize this or at least verify its neatness (without making it total craq and unreadable). Feel free to mess with my code.
Any optimizations you make, run them against the COMMENTED OUT TEST SUITE at the top of main() in src/inspircd.cpp and ensure ALL output is the same
with no crashes. (note: if you comment out and build with the test suite, all inspircd will do is output test data and exit!)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4396 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-16 01:40:58 +00:00
brain
5454b47bd5
Removed GCC2 checks as we havent supported gcc2 for years
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4394 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-15 17:35:31 +00:00
brain
40ef7ec1b6
3.3 -> 3.4 fix (the 3.3 stuff was actually craq)
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4393 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-14 21:29:23 +00:00
brain
d4ca01f12f
Add <options:nouserdns> - defaults to off. if set to on, no user dns lookups are performed, saving resources
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4386 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-14 13:02:40 +00:00
brain
174169ac35
Rollback dns change
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4384 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-14 12:14:42 +00:00
brain
ccb1837a14
Fix dns socket leak found in stable
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4383 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-14 11:43:17 +00:00
brain
a8b71c68dd
Tiny tiny docs update, not even worth re-generating the docs for atm
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4370 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-12 16:15:00 +00:00
brain
7b41936ce8
Document class Resolver
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4369 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-12 15:35:59 +00:00
brain
d4cb72e312
Make it work:
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4357 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-12 12:43:55 +00:00
brain
069fa0a472
Test framework in m_testcommand, add interface
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4354 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-12 12:26:58 +00:00
brain
b864f69ce9
Added class Resolver (needs testing)
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4353 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-12 12:20:36 +00:00
om
ecec1067b4
Add single parameter versions of Extensible::Extend and Extensible::GetExt for storing boolean values, seckshayer
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4324 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-11 12:27:58 +00:00
brain
276b84df68
Move openSockfd[] into ServerConfig
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4322 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-11 10:03:09 +00:00
brain
b9d5841f8f
ContentSize speedups
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4316 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-10 22:23:03 +00:00
brain
719f60cfc6
Add FileReader::ContentSize and FileReader::Contents
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4314 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-10 22:11:53 +00:00
brain
184b622025
Try to make this serve some static content
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4308 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-10 21:23:21 +00:00
brain
1b9da97971
Update docs to indicate new templated GetExt and Extend, remove references to char* and void* pointers in here, and indicate how its now possible to store a NULL in Extensible :p
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4306 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-10 20:26:42 +00:00
brain
57a5c3b9b3
Take out broken id
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4305 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-10 19:12:04 +00:00
brain
f6103acd92
Aaaand, fix the typo
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4304 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-10 19:09:19 +00:00
brain
d9174c0a19
Added refcount to classbase, static classbase::id
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4303 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-10 19:08:43 +00:00
brain
28b812bb33
I made a Boo Boo :p
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4301 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-10 19:04:16 +00:00
brain
df6c796c0a
Deps weeding
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4300 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-10 19:02:52 +00:00
brain
ac39617c08
Inherit just about everything from classbase
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4299 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-10 19:02:06 +00:00
brain
62b550f653
Inherit tons of stuff from classbase that should always have been
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4298 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-10 18:54:25 +00:00
brain
7cca932bb5
Sort deps of base.h
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4295 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-10 18:25:17 +00:00
brain
0b1cf0e951
Sort include dependencies of dns.h
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4294 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-10 18:24:34 +00:00
brain
3dacf1edd2
Made a load more stuff Extensible which might be of use to someone
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4293 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-10 18:22:16 +00:00
brain
b9fbf3621c
Properly set the resulting pointer to NULL when the object isnt found
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4292 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-10 18:13:07 +00:00
brain
9941a616cb
If you ask me, it looks a hell of a lot tidier without forcing the cast.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4277 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-10 16:51:19 +00:00
w00t
91436d31a4
- userrec::ProcessNoticeMasks - provide a way to set or unset masks.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4276 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-10 16:04:06 +00:00
w00t
2816a3ff87
- Add usermode +n for notice masks - our implementation of snomasks. We're not sure how this will tie in with +s yet.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4274 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-10 15:20:41 +00:00
w00t
d2381df1f7
-Clone mode methods into notice mask methods for userrec.
...
- Modify userrec to add char [] of notice masks, works in the same function as modes.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4273 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-10 15:07:39 +00:00
brain
09b79e31b4
Add empty snomasks.cpp (still got to add headers here so the build doesnt barf on the empty file?)
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4270 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-10 14:32:50 +00:00
brain
e2ca8e6131
Add interface to AddModeWatcher and DelModeWatcher into class Server
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4267 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-10 12:53:29 +00:00
brain
db75baa96d
Added ModeParser::AddModeWatcher() and ModeParser::DelModeWatcher()
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4266 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-10 12:46:03 +00:00
brain
b4cbd36f1c
Finally finished documenting new mode parser. Lots of comments.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4242 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-09 19:22:04 +00:00
brain
de4a3f44b9
Fix whoopsies
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4239 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-09 17:59:42 +00:00
brain
04b29a4e89
Added Server::GetModuleName(), Module* to filename
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4238 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-09 17:56:43 +00:00
brain
b98c8c198c
Reorder to avoid warning.
...
We could make the autotidy stuff part of the 'check argument' virtual method in banexception and inviteexception at a later date?
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4237 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-09 17:37:36 +00:00
brain
f16ef27e0e
Altered u_listmode to have a constructor arg 'autotidy' which if set to true runs input through ModeParser::CleanMask() otherwise leaves it alone
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4236 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-09 17:36:30 +00:00
brain
49ef1162a5
Alter SetModeParam to take const char* to save on casts, notice a load of modules that arent setting the param or the mode inside the handler
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4231 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-09 16:40:58 +00:00
om
a09109f612
Okay..updates to u_listmode, general cleanups and add some virtual methods which subclasses can override to alter behaviour..all looking much nicer and more flexible now.
...
Update m_chanfilter to use u_listmode, demonstrates most or all of the new features of it and looks a hell of a lot prettier :)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4201 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-09 11:59:07 +00:00