summaryrefslogtreecommitdiff
path: root/src/modules/m_chanfilter.cpp
AgeCommit message (Collapse)Author
2020-01-11Update copyright headers.InspIRCd Robot
2019-09-14m_chanfilter: Apply filters to part messages (#1702)linuxdaemon
2019-07-23Add a constant for the maximum length of a mode parameter.Peter Powell
2019-06-12Show the mode syntax in ERR_INVALIDMODEPARAM.Peter Powell
2018-12-19Add the <maxlist> tag and switch ListModeBase to always use it.Peter Powell
The old method of doing this was: 1. Extremely inconsistently used. Some list modes used <banlist> and some used their own config tag. 2. Not documented in the slightest. There was a small reference to <maxbans> for the ban mode but nothing else. 3. In some cases conflicting with other config tags. The chanfilter module defined a <chanfilter> tag for general config whilst also using it for the max list settings. The new <maxlist> tag avoids these issues entirely.
2018-12-09Use consistent numerics when a mode already exists or doesn't exist.Peter Powell
2018-12-09Use ERR_BANLISTFULL in the chanfilter and exemptchanops modules.Peter Powell
2018-08-15Fix aliases that resolve to messages echoing with echo-message.Peter Powell
Fixes #1459.
2018-04-22Fix some oversights relating to numerics.Peter Powell
- ERR_CANNOTSENDTOCHAN only takes the channel name and a message. - ERR_INVALIDCAPCMD is 410 not 232.
2018-04-20Optionally do not notify users if their messages are blocked by certain ↵Robby
modules (#1134). Closes #711.
2018-04-16Add ConfigTag::getUInt for reading unsigned config values.Peter Powell
2018-02-02Allow the maximum length of a chanfilter message to be configured.Peter Powell
2018-02-02Add names for a bunch of numerics.Peter Powell
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-10-21Add a helper function for calling the OnCheckExemption event.Peter Powell
2017-03-20Move the OnCheckExemption hook out of the core.Peter Powell
2016-02-25Convert WriteNumeric() calls to pass the parameters of the numeric as method ↵Attila Molnar
parameters
2014-02-26m_chanfilter Remove needless mode parameter is empty checkAttila Molnar
2014-01-31Remove some dead codeAttila Molnar
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-12Send ListModeBase modes implicitly on channel syncattilamolnar
Remove Module::ProtoSendMode() and ListModeBase::DoSyncChannel()
2013-09-08Automatically register ServiceProviders created by modulesattilamolnar
2013-08-30Replace OnRehash() with ReadConfig() that is called on boot, on module load ↵attilamolnar
and on rehash This eliminates the need for calling OnRehash() in init()
2013-08-04Automatically attach modules to eventsattilamolnar
2013-07-04Remove $Core and $Mod* comments apart from $ModDep.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-04-08Migrate u_listmode.h into the core, change +b to use itattilamolnar
2013-04-01Whitespace and empty destructor removal, minor coding style changesattilamolnar
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-11-19Remove calls to ListModeBase::OnCleanup (deprecated, empty function)attilamolnar
2012-11-12Remove usage of the deprecated ConfigReaderattilamolnar
2012-05-30Module description updatesRobby-
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-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-11-16Use ServiceProvider for inter-module dependenciesdanieldg
This will stop dependency chains from preventing module reloads when it is not actually needed; however, it removes some failsafes that will need to be reimplemented in order to avoid unmapped vtables. This deprecates Request as an inter-module signaling mechanism, although SQL still uses it. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12140 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-25Fixes from vtable cross-checkdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11977 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-12Make OnChannelRestrictionApply take a User* instead of a Membership* ↵danieldg
[jackmcbarn] git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11858 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-12m_exemptchanops by jackmcbarn - channel mode +X to allow per-channel settingdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11855 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-08Add names for all modes (part 1 of named channel mode list)danieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11809 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-08Update Event and Request APIsdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11808 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-05Run DelMode and DelModeWatcher in RemoveModuledanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11799 e03df62e-2008-0410-955e-edbf42e46eb7