813 Commits

Author SHA1 Message Date
brain
4d941f1b7a Move more stuff into class DNS
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4651 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02 19:59:06 +00:00
brain
e00b5b82db Comments, add more detail, remove dnsqueue.h include from tons of places
Remove THREADED_DNS defines from all over the place


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4629 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-01 23:26:11 +00:00
brain
e74bb16a4f Stuff to make user host resolving use class Resolver - not tested yet
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4626 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-01 22:59:59 +00:00
brain
a5c9214743 Removed threaded dns (it might make a comeback some day, but as it stands its incompatible with the new OO resolver)
Migrated to new OO resolver, removed as much firedns craq as is safe to do so, operates over one file descriptor now and keyed against request id.
The only way to use the system is via class Resolver (so i'll need to migrate the rest of the ircd to use it)


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4622 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-01 21:35:07 +00:00
brain
4488e47713 The IPV6 stuff compiles now, with compile-correct ipv6 code. I dont know if this works yet.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4611 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-01 11:46:19 +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
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
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
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
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
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
brain
0eaa647dcb Fix my last broken commit
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4323 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-11 10:33:43 +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
dc42f264d7 relocate the Move* methods to private: where they belong, rename erase_factory and erase_module to be more appropriate EraseFactory and EraseModule methods
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4098 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-01 15:07:09 +00:00
brain
75eb9178d5 Make WritePID a public function of class InspIRCd
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4097 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-01 15:01:32 +00:00
brain
55de6781e0 Move SetSignals(), Start() and DaemonSeed() into private methods of class InspIRCd, move MakeLowerMap() into private: section
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4096 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-01 14:56:33 +00:00
special
9fc81392b3 Forward port of CullList and my bragging rights
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4087 e03df62e-2008-0410-955e-edbf42e46eb7
2006-06-29 15:35:42 +00:00
om
e0e96f0124 You don't need to cast a char* to a char* to put it through a const char*...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4083 e03df62e-2008-0410-955e-edbf42e46eb7
2006-06-29 09:33:44 +00:00
om
6fa94ee369 Remove hardcoded filename prefix to log message, with the new macro these are un-needed.
Remove un-needed cast, ffs guys, templates stop you needing to cast the stuff inside them... So why do you do it anyway? :<

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4082 e03df62e-2008-0410-955e-edbf42e46eb7
2006-06-29 09:29:14 +00:00
brain
7eb84435ee Return false was missing
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3928 e03df62e-2008-0410-955e-edbf42e46eb7
2006-05-03 09:23:47 +00:00
brain
858cc30b98 New header at the top of this file clarifying gplv2 only (we hadnt made it clear in this package before)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3926 e03df62e-2008-0410-955e-edbf42e46eb7
2006-05-02 20:33:21 +00:00
brain
5d407fb44c delete operator tracking in debug mode (using a macro -- live with it.)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3904 e03df62e-2008-0410-955e-edbf42e46eb7
2006-04-24 13:28:07 +00:00
brain
162bbb0513 Fixes for lib dirs
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3889 e03df62e-2008-0410-955e-edbf42e46eb7
2006-04-20 16:59:28 +00:00
brain
67f111a8aa Execinfo stuff
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3886 e03df62e-2008-0410-955e-edbf42e46eb7
2006-04-20 16:13:01 +00:00
om
aa21503f06 Shuffle some more includes around, const reference a few functions in inspircd.*
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3854 e03df62e-2008-0410-955e-edbf42e46eb7
2006-04-09 11:51:24 +00:00
om
d54fbc71e2 Split inspircd_io.* insp inspsocket.* and configreader.* with a few odd bits going into inspircd.*, doesn't look like I've broken anything... :P
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3847 e03df62e-2008-0410-955e-edbf42e46eb7
2006-04-08 17:05:48 +00:00
nenolod
ab24f0dca4 - first steps towards a working IPv6 port. I'll work more on this tomorrow. :-P
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3845 e03df62e-2008-0410-955e-edbf42e46eb7
2006-04-08 01:35:02 +00:00
om
e21c3bb140 Slight optimisation to config reader, looks nicer even if it's not faster.
Make ./inspircd script use -nolog (it already used -debug, which didn't exist until now!?)
Add commandline options -nolog and -debug, -debug forces all log messages to be output regardless of level. -nolog stops the logfile 
being written, so you can run with -debug without filling up your disk.
make clean && make install, apparently some of the core doesn't depend on inspircd_io.h in the makefiles..so it'll probably segfault if 
you don't.


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3841 e03df62e-2008-0410-955e-edbf42e46eb7
2006-04-07 12:21:11 +00:00
w00t
a7b0c26a4c Holy christ that was a LOT OF SPACES. TABS, USE THEM, LOVE THEM, APPRECIATE THEM - we now have no stupid spaces. This was mostly a mass find/replace, so some indentation may be stuffed. Minor issue, though.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3838 e03df62e-2008-0410-955e-edbf42e46eb7
2006-04-06 02:25:20 +00:00
w00t
7db1335b25 trivial: Made a slight error on that last commit, missed a bit.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3816 e03df62e-2008-0410-955e-edbf42e46eb7
2006-04-04 05:53:22 +00:00
brain
32ae5cb126 Test fixes for cpu eating issue
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3809 e03df62e-2008-0410-955e-edbf42e46eb7
2006-04-03 23:31:55 +00:00
brain
3a8f99c057 Bugfix for bug #101 being as the fix was just one simple line :)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3751 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-25 12:10:39 +00:00
brain
0e962ce7dd Stack overflow prevention allows deeper recursion
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3748 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-22 07:24:05 +00:00
brain
acf64694a6 Allow adding of new client ports via /REHASH.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3731 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-18 18:31:03 +00:00
brain
1667f43351 Fix to warning line 218
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3723 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-16 18:46:59 +00:00
brain
5c3dd95446 Catch std::bad_alloc program wide (to catch out nazi sysadmins who restrict machines to small memory sizes, and expect things to still run fine :p)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3722 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-16 18:09:04 +00:00
brain
60079fde5b Obscure bug of the week: InspIRCd crashes when given more than 64 client ports to bind in the config file (yes, *REALLY*.)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3701 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-13 13:51:44 +00:00
brain
949712aeba Checks and stuff :p
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3671 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-11 18:18:06 +00:00
brain
3814121794 Re-enterant safety
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3666 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-11 17:38:49 +00:00
brain
4706227c0e Removed lots of claptrap debug in a well tested old section of code
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3661 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-11 15:40:13 +00:00
brain
2b4af06e1c Delete unknown sockets on sight
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3603 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-09 20:35:49 +00:00
brain
594f7f6c01 What MUPPET made stdin, stdout and stderr FILE* pointers rather than ints?!
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3532 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-07 22:16:41 +00:00
brain
9af07046bf close stdin, stderr and stdout rather than freopen to /dev/null
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3531 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-07 22:15:36 +00:00