summaryrefslogtreecommitdiff
path: root/src/modules/m_kicknorejoin.cpp
AgeCommit message (Collapse)Author
2021-03-05Update copyright headers.InspIRCd Robot
2020-04-24Update copyright headers.InspIRCd Robot
2020-04-14Fix kicknorejoin not showing the channel name properly in errors.Sadie Powell
Closes #1775.
2020-04-10Update the module descriptions using mkversion.Sadie Powell
2020-01-11Update copyright headers.InspIRCd Robot
2019-06-12Show the mode syntax in ERR_INVALIDMODEPARAM.Peter Powell
2019-04-28Some more text fixes and improvements (#1618).Robby
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-09-23Make kicknorejoin respect /INVITE (#1514).A_D
2018-08-14Fix a bunch more conflicting/unnamed 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.
2017-11-21Add the override keyword in places that it is missing.Peter Powell
GCCs warnings for this are much better than Clangs.
2016-02-25Convert WriteNumeric() calls to pass the parameters of the numeric as method ↵Attila Molnar
parameters
2015-02-22m_kicknorejoin: Advertise upper bound. Closes #913Daniel Vassdal
2015-01-23m_kicknorejoin Store kicked users in a vectorAttila Molnar
2015-01-23m_kicknorejoin Move logic that tracks kicked users into KickRejoinDataAttila 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
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-06-13Call Channel::SetModeParam() from the mode parser when needed instead of ↵attilamolnar
requiring mode handlers to do it
2013-06-06Merge insp20attilamolnar
2013-05-16Remove unused variables, avoid copies where possible, check empty() instead ↵attilamolnar
of size() == 0 Most of these were detected by cppcheck
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-28Merge insp20attilamolnar
2013-04-16m_kicknorejoin Store and compare uuids instead pointersattilamolnar
Fixes the off chance scenario where we disallow a join because a previously kicked user has quit and the User who is trying to join happens to be allocated at the exact same memory location
2013-04-16m_kicknorejoin Limit time to 30m by defaultattilamolnar
In the current implementation we only expire entries when someone joins, without a limit it was possible to make us practically never remove entries and consume (a tiny amount of) memory for each entry until the mode was removed/parameter was changed The default limit of 30m is chosen to not surprise people when they upgrade. If you need to prevent rejoins for more than a minute then you should set a (timed)ban instead Config option is available to change the limit (2.0 only)
2013-04-16m_kicknorejoin Minor improvementsattilamolnar
- Ignore remote users - Remove expired items in one pass
2013-04-13OnUserPreJoin is a local-only hook, change User* parameter to LocalUser*attilamolnar
2013-04-01Whitespace and empty destructor removal, minor coding style changesattilamolnar
2013-04-01Change channel name parameter of Module::OnUserPreJoin() and ↵attilamolnar
Channel::JoinUser() to std::string from char*
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-09-30Fix more undefined behavior caused by referencing the returned buffer by ↵attilamolnar
std::string::c_str() when the object is temporary See 83c7cc45daf6fb1f8c36f15297a4657e45a34e88
2012-04-19Replace copyright headers with headers granting specific authors copyrightRobby-
2010-02-07Fix crash on kick when +J is set, +misc cleanupdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12396 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-15Add ParamChannelModeHandlerdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12134 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-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
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-13Simplify ModeHandler constructordanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11701 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13Module API changes to use Membership* where sensibledanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11699 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13Change Extensible to use strongly typed entriesdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11696 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