summaryrefslogtreecommitdiff
path: root/src/modules/m_messageflood.cpp
AgeCommit message (Collapse)Author
2020-01-11Update copyright headers.InspIRCd Robot
2019-06-12Show the mode syntax in ERR_INVALIDMODEPARAM.Peter Powell
2019-06-06Make messageflood weights configurable.Peter Powell
Also, default TAGMSG to being worth 0.2 NOTICE/PRIVMSG. This should prevent flood kicks from typing notifications. Closes #1649.
2019-04-28Some more text fixes and improvements (#1618).Robby
2019-04-16Update trivially-modifiable modules to handle tag messages.Peter Powell
2018-12-12Fix conversion issues by replacing ConvToInt with ConvToNum<T>.Peter Powell
The former was a thin wrapper around atol and brought with it all of the weird parsing logic of atol which is almost never what is actually wanted. It also almost never returned the numeric type which is actually wanted which can cause weird issues when casting.
2018-01-29Add ERR_INVALIDMODEPARAM for responding to invalid mode params.Peter Powell
Currently on invalid modes we do a combination of different things: 1. Send a custom mode-specific numeric (which often collides with other modes). 2. Send a server notice. 3. Do absolutely nothing. This new numeric is a generic way of handling invalid parameters when setting a mode that avoids all of the mistakes of the previous behaviour.
2018-01-06Rework message handling.Peter Powell
- Move all message-related types to their own header to make moving them to a cross-module events easier. - Rename OnUserMessage to OnUserPostMessage. - Rename OnText to OnUserMessage. - Replace the dest, target_type, and status parameters with the MessageTarget class. - Replace the text, exempt_list, and msgtype parameters with the MessageDetails struct. - Add echooriginal and originaltext to the MessageDetails struct to allow spam filtering to not be broken by cap echo-message.
2017-11-21Add the override keyword in places that it is missing.Peter Powell
GCCs warnings for this are much better than Clangs.
2017-11-17Fix a ton of -Wsign-conversion warnings.Peter Powell
2017-10-28Hide User#host and User#dhost and use accessors to modify them.Peter Powell
This removes the need to invalidate the cache after changing a user's hostname.
2017-10-21Add a helper function for calling the OnCheckExemption event.Peter Powell
2017-07-27Merge pull request #1271 from SaberUK/master+exemptionPeter Powell
Move the OnCheckExemption hook out of the core.
2017-07-12Add CXX11_OVERRIDE to overridden members that lack it.Peter Powell
This fixes a ton of warnings when building on compilers that default to C++11 or newer.
2017-03-20Move the OnCheckExemption hook out of the core.Peter Powell
2016-08-24m_messageflood Improve kick messageAttila Molnar
Fixes issue #1019 reported by @B00mX0r Also add back a missing word caused by an oversight in #531
2016-02-25Convert WriteNumeric() calls to pass the parameters of the numeric as method ↵Attila Molnar
parameters
2014-12-15Change type of some associative containers to their flat versions, including ↵Attila Molnar
Extensible storage
2014-09-03Replace irc::modestacker usage with the new ModeParser::Process()Attila Molnar
2014-02-15Add ParamModeBase and ParamMode, change all parameter modes to inherit from ↵Attila Molnar
ParamMode - Type of the extension used to store data is a template parameter - The extension is automatically unset when the mode is unset - Handlers inheriting from ParamMode have to provide OnSet() and SerializeParam(); may optionally provide OnUnset() - Transparently handle the case when OnSet() modifies the mode parameter - Remove Channel::custom_mode_params map; ask the mode handlers to serialize their parameters instead
2014-01-08Remove PreText()-like functionsAttila Molnar
Do processing in OnUserPreMessage()
2013-11-12Use WriteNumeric() everywhere we send numerics and include the user's nick ↵Adam
automatically
2013-09-08Automatically register ServiceProviders created by modulesattilamolnar
2013-08-04Automatically attach modules to eventsattilamolnar
2013-07-04Remove $Core and $Mod* comments apart from $ModDep.Peter Powell
2013-07-01Replace hardcoded mode letters passed to IsModeSet() and GetModeParameter() ↵attilamolnar
with ModeHandlers, part 1
2013-06-13Call Channel::SetModeParam() from the mode parser when needed instead of ↵attilamolnar
requiring mode handlers to do it
2013-06-13Introduce ModeProcessFlags, can be passed to ModeParser::Process() to ↵attilamolnar
indicate local only mode changes and mode merges Change ProtocolInterface::SendMode() to take source and destination parameters, and call it from the mode parser whenever the mode change is global This deprecates the ambiguous InspIRCd::SendMode() and InspIRCd::SendGlobalMode() interface (the latter sent mode changes originating from local users twice, etc.)
2013-06-06Replace some C string operations with the + operator.Peter Powell
2013-05-20Remove OnUserPreNotice and OnUserNotice hooks, add MessageType argument to ↵attilamolnar
OnUserMessage and OnUserPreMessage All modules (except m_nonotice) that perform filtering on messages have common logic for handling PRIVMSGs and NOTICEs and most of them run the exact same code in both cases
2013-05-15Tidy up keywords on module methods.Peter Powell
- Remove virtual keyword from a ton of methods which don't need it. - Add override keyword to a ton of methods which do need it.
2013-05-15Replace some C-isms with C++-isms.Peter Powell
* 'const char*' to 'const std::string&'. * snprintf to std::string concatenation. * Replace duplicated OneOfMatches with InspIRCd::MatchMask.
2013-01-02m_messageflood Ask to be the last to handle OnUserPreMessage/OnUserPreNoticeattilamolnar
Fixes #394 reported by @JDowny
2012-12-02Register all commands, modes and extensions using AddService()attilamolnar
AddService() throws an exception if an item cannot be registered, modules no longer need to worry about AddMode() etc. failing
2012-12-02Dynamically determine the size of the eventlist[] passed to Attach()attilamolnar
m_sqlauth was attached to I_OnUserDisconnect but didn't provide a handler for it, remove
2012-12-02Attach to events and register services in init()attilamolnar
2012-08-08m_messageflood Unset +f when the module is unloadedattilamolnar
2012-08-08m_messageflood Make code more readableattilamolnar
Remove unnecessary checks Use std::string::find() and ::substr() for finding the delimiter and splitting the parameter
2012-08-08m_messageflood Perform at most one std::map::find() per message if we aren't ↵attilamolnar
kicking the user
2012-04-19Replace copyright headers with headers granting specific authors copyrightRobby-
2010-02-20Restore <options:exemptchanops> with long namesdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12502 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-28Fix empty FMODE being sent if SendMode mode changesdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12323 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-15Remove VF_COMMON from mode-provider modules (no longer needed due to better ↵danieldg
CAPAB checking) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12263 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-11...because every now and again, i have to do a massive commit.brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12248 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-24Get rid of ModePairdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11963 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-23Make User::uuid and User::server constdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11962 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-20Get rid of more unneeded parent classesdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11930 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-18Cull channels, warn when Extensible objects are not culled as they must bedanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11901 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-17Remove dummy API_VERSION from Version constructordanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11887 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-14Move static map of extensions into ServerInstance, add const-correctnessdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11873 e03df62e-2008-0410-955e-edbf42e46eb7