1533 Commits

Author SHA1 Message Date
peavey
c2d1f2cdaf Convert a whole bunch more
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9620 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-04 23:28:57 +00:00
peavey
222e912fc3 Converting
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9619 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-04 23:13:23 +00:00
brain
b7904e2372 Update comments for new api
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9610 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-04 21:41:34 +00:00
brain
71eb82a980 Fix unused HandleServer to use new system too, and update comments to match api
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9609 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-04 21:41:09 +00:00
brain
ffbd1eebf0 Conversion of command handler params from "const char* const* parameters, int pcnt" to "const std::vector<std::string>& parameters". All of core is converted, but cant test it till the modules are converted.
IMPORTANT: The mode parser public calls have had to be tweaked a bit to also use the string vector. Note that this makes a LOT of our core a bit messy and paves the way to convert a lot of stuff from the mess
of .c_str() calls to using std::string params directly.


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9608 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-04 21:37:36 +00:00
brain
787c16487e Optimize MODE #chan b etc, avoid a 256 byte memset for duplicate mode checks
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9601 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-02 16:01:45 +00:00
brain
0376f1d8be Convert to SimpleUserModeHandler and SimpleChannelModeHandler
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9599 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-01 19:56:16 +00:00
brain
f3abcf2bcf Simple user/channel mode patch
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9596 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-01 16:12:45 +00:00
w00t
28a1967177 Hack, hack, hack, hack hack. Hack hack. Probably fix snotice loops, though.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9573 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-21 20:54:37 +00:00
brain
98659aa0dc Merge in large patchset from GreenReaper, useful fixes for freeing a ton of different things on shutdown for tidyness, and a few stack corruption fixes in the mode handler
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9565 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-21 16:59:23 +00:00
brain
e5131f92b3 Fix RemoveCommands to remove all commands (this function had some really odd removal logic?)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9554 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-20 18:58:59 +00:00
w00t
8c2d960130 Remove SpanningTreeProtocolInterface::SendOperNotice - it was translated to a SendSNONotice 'A' anyway, and only used by SAMODE, which duplicated it with a SendSNONotice 'A' also anyhow o.o - this means OPERNOTICE is now gone from protocol 1200, and SNONOTICE should be used instead.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9530 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-17 14:01:12 +00:00
w00t
57542f8488 Add potential for local-only snotices and use them for the ones that should be local. Individual messages cannot be made local-only, but I can't think of circumstances where this is necessary. Let's write it when it *is* necessary. :)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9527 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-17 12:09:15 +00:00
brain
94f2293f65 Implement our own dllmain. if this works and gets rid of error at 70 modules, i will backport it
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9521 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-16 22:17:28 +00:00
brain
3039e0663f Change that allows the m_override module to not announce a key override for a user that specified the right key
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9516 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-16 00:36:20 +00:00
brain
8528562075 See configreader.cpp line 764 to see how to declare deprecated items. This is reasonably well thought out so i see no issue with leaving items here a very long time :)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9507 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-15 01:10:08 +00:00
brain
dd73789134 Port a bunch of methods of InspIRCd to functors. IsChannel, IsSID, Rehash.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9474 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-13 03:28:56 +00:00
brain
27e2941ec9 Fixes for bug #515, update existing in-use connect tags on the fly in rehash
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9471 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-12 17:01:36 +00:00
brain
597ecea91e Trunk fix for bug #505 reported by nenolod
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9468 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-12 15:48:01 +00:00
brain
2a3538cf05 (untested) don't move newconfig to ServerConfig::config_data until its been validated by all the validation funcs in the core config table
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9461 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-11 23:55:10 +00:00
brain
1eae3c2ad4 Remove 'default log' and <options:loglevel> (wtf?)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9460 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-11 23:27:27 +00:00
w00t
d75ec0e5a5 Patch from Brain fixing broken stuff
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9456 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-11 14:27:26 +00:00
brain
e20a091589 Much faster way of checking if the user is 4in6, avoid strncmp in User::GetIPString(), do it in User::SetSockAddr()
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9455 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-11 00:03:03 +00:00
brain
548883a392 Comment small API change (returning -1 from OnCheckBan to explicitly deny the ban)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9450 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-10 20:53:13 +00:00
w00t
6d6f0ef3c6 AddClient -> AddUser, to be consistant
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9443 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-09 15:47:10 +00:00
w00t
d7a0cd3db1 Move QuitUser into UserManager class, and unstaticize it. This prepares for some benchmarking lulz on object pooling I plan to do today, as well as making more sense now we *have* a manager class
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9442 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-09 15:34:54 +00:00
brain
ef30d86d11 Add extra stuff for w00t, AutoApplyToUserList method for XLineFactory
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9409 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-07 22:30:45 +00:00
brain
f78a6a90b1 This should probably be tested, but makes a whole lot more sense like this (users.cpp)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9404 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-07 22:00:49 +00:00
brain
18310fc8b7 We were lucky this one didnt bring down the whole devnet (see cmd_part.cpp diff)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9400 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-07 16:18:32 +00:00
w00t
f00094febf The start of extended bans infrastructure: syntax is e.g. +b n:w00tdiff@*, bans of any type can be applied and checked against, but there's more to come with this.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9337 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-04 21:43:21 +00:00
w00t
eb2e28b0cf Remove deprecated InspIRCd::Log() method so people don't use it etc
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9320 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-04 15:40:33 +00:00
brain
89fc6ca9c6 Remote server PRIVMSG/NOTICE to nickname support
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9314 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-04 15:06:32 +00:00
w00t
ce4dc653ce Remove two useless methods, chanlog is b0rked at the moment.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9313 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-04 15:06:24 +00:00
brain
001861f5d2 Add protocol api functions: PI->WriteChannelPrivmsg() and PI->WriteChannelNotice() - sends with SID origin over network
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9308 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-04 14:37:23 +00:00
brain
3f971b447f Change the function name because gcc is dumb :/
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9305 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-04 13:29:15 +00:00
brain
d3d32dcf6d A convenience function for ProtocolInterface::SendMode that just takes a string, then splits it internally to deque for sending to the other function of the same name
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9303 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-04 13:21:12 +00:00
brain
b07868e77c The rest of the server protocol interface and fix a warning in m_rline
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9299 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-04 12:49:42 +00:00
brain
e48c7e038a Add basic stuff for protocol interface and implement a couple of the methods. It's all in ServerInstance->PI for calls from other modules/the core
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9297 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-04 12:30:38 +00:00
brain
3079075ad6 Fix socketengine select to work with arsey compilers that think we're using ISO C++
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9287 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-03 16:03:10 +00:00
brain
57608fe351 Fixes for bug #493, tidyups to clearing of channel modes on losing FJOIN. Module unloads may also be tidied at a future date but it means reordering some loops in mode.cpp. See around the comment added.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9283 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-02 23:53:29 +00:00
brain
7dadb07a19 Fix peavey and w00ts bug they found by removing the nonblocking part of the logger. This stuff was hackish and isnt required. If your hard disk locks up, then you have bigger worries.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9276 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-02 19:52:33 +00:00
brain
2db77cda56 Automatic detection and allocation of max fds. No longer needs recompile to change, just adjust it in your kernel or whatever and restart insp.
Please note that select and iocp socket engines do not support detection and are always set to FD_SETSIZE and 10240 descriptors respectively.


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9263 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-02 17:08:09 +00:00
w00t
d9d33e7246 Fix all this crap - it actually works now (we pray..)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9261 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-02 12:33:01 +00:00
w00t
519d8e5dfe Better generation. This is still fucked up, but less spectacularly and in a much less obvious way.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9260 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-02 11:48:54 +00:00
w00t
9fcf4c08a1 Unneeded
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9255 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-02 08:54:43 +00:00
w00t
814eff8532 Initialise a variable correctly to avoid valgrind warning
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9252 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-01 23:24:22 +00:00
w00t
86c2b7abf7 Remove call to FlushWriteBuffer from BufferedSocket::Write(), this means we don't try write() pointlessly when we may very well not (chewing CPU), and instead waits for the socketengine to tell us we can write. Tested, works fine. (nothing used this return value anyway)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9247 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-01 18:56:31 +00:00
w00t
6953371f71 Remove deprecated BufferedSocket::MarkAsClosed()
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9246 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-01 18:34:34 +00:00
w00t
1fe8085c6d Remove this, it won't work (reliably), use ModeParser::ModeString() instead, ta B
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9243 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-01 16:30:49 +00:00
brain
5b4e92cc2c Add an optional bool to ModeParser::ModeString() to not give the nickname n times on the end of the string. This can be used for w00ts funky stuff. :-)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9242 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-01 16:25:02 +00:00