3459 Commits

Author SHA1 Message Date
brain
09dbf0f948 Remove some casts
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4427 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-16 19:58:25 +00:00
brain
d8fbbeafdf Craq removal service, at your service
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4426 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-16 19:54:17 +00:00
brain
1e232ef237 i'm doing this in increments, because if i try and change too much at once, it breaks
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4425 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-16 19:45:24 +00:00
brain
dcad2fe327 Fixing sendq crask
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4424 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-16 19:43:38 +00:00
om
c17d4bc92c Update to new API - I think this is right, compiles...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4422 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-16 19:14:31 +00:00
brain
2dfa145d99 Fixed it myself so i can carry on coding1
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4421 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-16 17:49:43 +00:00
w00t
fe6158e237 More WHO
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4420 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-16 17:27:49 +00:00
w00t
3a7c9d1180 WHO refactoring. In progress currently.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4419 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-16 17:03:35 +00:00
brain
f8956e4b45 *Changed user input/output buffering to incur less copies
*Fix warnings in command_parse


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4418 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-16 15:45:13 +00:00
w00t
b07953b0e7 Change to a DIFFERENT HOOK for added goodness.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4417 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-16 15:44:00 +00:00
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
fae424910d Document loopcall (its still complicated in concept, but now easier to read and possibly easier to understand)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4413 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-16 15:21:34 +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
863d8a3d08 Adjustment
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4410 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-16 14:30:50 +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
8ce25663a9 Fixes/codes of the query queue, various prototypes and stuff...mostly commited so I can do other stuff without typing the paths out manually
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4401 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-16 07:24:17 +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
b3bab5a002 Disable test suite
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4399 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-16 02:16:10 +00:00
brain
654482dc4f Improved this a lot
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4398 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-16 02:15:45 +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
a551684ab0 Don't allow SAQUIT, SANICK, SAPART and SAJOIN on ulined clients :)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4390 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-14 16:08:48 +00:00
brain
b06846c089 Tidyup
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4389 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-14 15:28:16 +00:00
brain
bb2daddfaa Changed to different way of clearing users on netsplit (uses less ram and should be less bug prone)
WE NEED TESTERS FOR THIS. MAKE TEST NETWORKS FULL OF 1_0_STABLE SVN SERVERS AND FILL THEM WITH BOTS/PSEUDOS THEN CAUSE NETSPLITS!


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4388 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-14 15:25:25 +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
45216ce431 Move a notice around
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4379 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-13 16:30:55 +00:00
brain
c02f21d528 Fix -modupdate to actually work (doesnt force a total rebuild when you add a module)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4378 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-13 16:30:18 +00:00
brain
7ba5119a71 Missing newline
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4377 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-13 16:21:24 +00:00
brain
7386174f05 Output module counts on ./configure -update
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4376 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-13 16:19:52 +00:00
brain
9e754af283 Final test.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4375 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-12 19:36:39 +00:00
brain
90c8377bc8 Test
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4374 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-12 19:34:27 +00:00
brain
6f496589a2 Mirroring test
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4373 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-12 19:30:22 +00:00
brain
a7c61798a2 Test commit (this should be auto synched to staffbox)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4372 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-12 19:28:31 +00:00
brain
6b1bf65aac Test commit
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4371 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-12 19:24:15 +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
5e606f5ffc Removed debugging
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4368 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-12 15:14:56 +00:00
brain
4f03923da6 All this works now (hopefully)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4367 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-12 15:14:20 +00:00
brain
aa04777319 Fix typo
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4366 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-12 14:17:09 +00:00
brain
7984f41072 Seems to work ok
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4365 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-12 14:16:31 +00:00
brain
d4efb7d2da I don't know if this works yet -- needs testing
Nonblocking DNS calls


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4364 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-12 14:02:23 +00:00
om
de814e737b A few updates to the API header
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4363 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-12 13:29:44 +00:00
om
cabf8c1b2f Add part-finished m_cgiirc module for Brain to play with
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4362 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-12 13:29:04 +00:00