1527 Commits

Author SHA1 Message Date
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
w00t
1f9ef40812 Configurable prefixes for chanmodes +qa: prefixes can be turned on or off individually and seperately, per server as well as per mode, and prefixes are no longer limited to ~&. *** SERVICES AUTHORS *** This involves a protocol change. FJOIN now sends the userlist with format modes,nick instead of prefixes,nick.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9241 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-01 13:53:27 +00:00
w00t
d48726ce80 AWAY notification for WATCH. Numerics are now sent out when a user goes away (or returns from AWAY), as well as in WATCH L (if the user is online and away).
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9227 e03df62e-2008-0410-955e-edbf42e46eb7
2008-03-30 15:33:33 +00:00
w00t
e2f4bf3a13 Merge OnCancelAway and OnSetAway, add param awaymsg to OnSetAway (blank when cancelling), and change return type to int so modules can block away messages by returning nonzero.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9223 e03df62e-2008-0410-955e-edbf42e46eb7
2008-03-30 14:26:01 +00:00
aquanight
58385dd458 Commit -Wformat=2 -Wmissing-format-attributes, printf-like functions in inspircd now get treated like printf (meaning compile-time check goodness) in GCC
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9217 e03df62e-2008-0410-955e-edbf42e46eb7
2008-03-30 02:48:54 +00:00
brain
4f946291b7 A load of classes dont inherit from classbase, and they should. fix.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9191 e03df62e-2008-0410-955e-edbf42e46eb7
2008-03-24 16:53:34 +00:00
brain
d1b20f9519 This module uses io hooking too, fix it up
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9190 e03df62e-2008-0410-955e-edbf42e46eb7
2008-03-24 16:24:52 +00:00