summaryrefslogtreecommitdiff
path: root/src/modules/m_blockcaps.cpp
AgeCommit message (Collapse)Author
2020-01-11Update copyright headers.InspIRCd Robot
2018-08-26Implement proper CTCP parsing in MessageDetails.Peter Powell
2018-04-16Add ConfigTag::getUInt for reading unsigned config values.Peter Powell
2018-01-07Fix some char signedness oversights when using bitsets.Peter Powell
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.
2018-01-03Improve the method that blockcaps uses to block messages.Peter Powell
Previously it had a list of upper case letters and assumed that all other characters were lower case. This method is flawed as it can be evaded by using non-alphanumeric characters. The new method takes a list of lower case letters as well as upper case letters and ignores any letters which are not listed in one of the two lists. The majority of the code for this was borrowed from the m_anticaps module in inspircd-extras.
2017-12-23Use a bitset in blockcaps instead of a char array.Peter Powell
2017-11-13Only subclass Simple{Channel,User}ModeHandler when necessary.Peter Powell
2017-10-21Add a helper function for calling the OnCheckExemption event.Peter Powell
2017-10-12Merge the latest changes from insp20 into master.Peter Powell
2017-06-16Fix exempting CTCP ACTIONs in m_blockcaps and m_noctcp.Peter Powell
Previously we assumed that CTCP ACTIONs matched "\1ACTION ". This is incorrect because "\1ACTION\1" and "\1ACTION" are valid CTCPs.
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
2015-07-01m_blockcaps Reword error message to indicate 'greater than or equal to' ↵David Lamont
logic when checking caps percentage
2014-04-08m_blockcaps Get rid of needless cast, use unsigned typesAttila Molnar
2014-04-08m_blockcaps Simplify CTCP ACTION (/me) detectionAttila Molnar
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-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-10Replace range() with min and max arguments on getInt().Peter Powell
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-06Compare to ServerLimits::MaxLine instead of MAXBUF.Peter Powell
2013-05-21Merge pull request #545 from SaberUK/master+logging-cleanupAttila Molnar
Clean up the logging system (part 1 of 2).
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-19Fix spacing in calls to LogManager::Log.Peter Powell
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-12Add LOG_ prefix to the log level enum values.Peter Powell
2013-04-11Convert ISUPPORT to use a map instead of a string.Peter Powell
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-12Remove usage of the deprecated ConfigReaderattilamolnar
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-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-05Run DelMode and DelModeWatcher in RemoveModuledanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11799 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-26Remove InspIRCd* parameters and fieldsdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11763 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-22Describe module purpose in /MODULES outputdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11757 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13Membership* changesdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11697 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02ModResult conversion: Change return type of all module functionsdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11634 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02Add Module* creator to Command and ModeHandlerdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11631 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02Change allocation of commands/modesdanieldg
API change: Commands passed to AddCommand are no longer deleted automatically This removes lots of needless heap allocation and fixes a few memory leaks by allocating commands and modes as part of the Module rather than creating them separately in the module constructor. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11592 e03df62e-2008-0410-955e-edbf42e46eb7