om
4d0cd408df
Add an ID field to Request and a GetId() method, takes const char* and returns it - Added new constructor to use it, all modules using ID should convert to the 'new' way of doing Requests, data is now theoretically depreceiated
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4529 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-23 15:32:22 +00:00
brain
69ae63ecd2
Change stats recv/send to double, so they can hold truly massive numbers of transferred bytes (they would overflow after about 6 weeks on a busy net otherwise)
...
Fix some warnings
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4450 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-19 15:03:26 +00:00
brain
250c92805c
Change counters to unsigned long to prevent overflow to negative counts
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4449 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-19 14:56:47 +00:00
brain
eff5563892
Test change
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4444 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-19 13:50:16 +00:00
brain
40b67389a9
Add #include <sys/select.h> to select engine, we probably need it
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4443 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-19 13:29:06 +00:00
brain
67daf0546b
Fix typo in kqueue engine
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4440 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-19 12:54:56 +00:00
brain
3a6885d6a1
* Seperate out socket engines into derived classes of SocketEngine.
...
* Add a classfactory SocketEngineFactory to create a new socketengine of the configured type
* Implement configure hax to compile only the required socketengine and the base class
* Eliminates ugly defines, and is more in line with C++ ways
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4439 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-19 12:51:21 +00:00
brain
983f18f834
Tried to implement sprintf that returns std::string of any size, realized it would scale like unreal scales to ircnet (e.g. it wouldnt!) so took it back out.
...
Moved chop() functionality into userrec::AddWriteBuf and make it nicer (no strlen)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4433 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-18 21:43:37 +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
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