aboutsummaryrefslogtreecommitdiff
path: root/src/mode.cpp
Commit message (Expand)AuthorAgeFilesLines
* Send the 001-004 numerics and MOTD/LUSERS from core_info.•••Co-authored-by: Attila Molnar <attilamolnar@hush.com> Gravatar Peter Powell2018-08-221-25/+0
* Implement IRCv3 message tag support.•••Co-authored-by: Attila Molnar <attilamolnar@hush.com> Gravatar Peter Powell2018-08-131-30/+12
* Add ERR_INVALIDMODEPARAM for responding to invalid mode params.•••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. Gravatar Peter Powell2018-01-291-0/+5
* Ensure that ModeParser doesn't try to process a non-existent mode.•••This fixes #1431 and closes #1432. Gravatar B00mX0r2017-12-111-0/+6
* Extract RFC modes from the core to core_channel and core_user.Gravatar Peter Powell2017-12-101-48/+0
* Enable using m_customprefix to alter core prefix modes.•••This replaces the devoice module which has now been removed. If you want users to be able to devoice themselves then you can load the customprefix module add the following config tag: <customprefix name="voice" depriv="yes"> If you wish to keep identical behaviour rather than allowing users to use "MODE #YourChannel -v TheirNick" then you can load the alias module and add the following config tag: <alias text="DEVOICE" format="#*" replace="MODE $2 -v $nick"> Gravatar Peter Powell2017-11-061-0/+8
* Move depriv from m_customprefix into PrefixMode.Gravatar Peter Powell2017-11-061-1/+10
* Add support for setting the unset rank in ModeHandler.Gravatar Peter Powell2017-11-061-4/+11
* Fix RPL_SERVERVERSION treating the modes as a single parameter.Gravatar Peter Powell2017-10-041-1/+3
* Convert Disabled[CU]Modes to use a bitset instead of a char array.Gravatar Peter Powell2017-09-181-2/+2
* Add ModeParser::IsModeChar to standardise mode validation.Gravatar Peter Powell2017-09-181-7/+8
* Make ModeHandler::GetUserParameter() const, accept const UserGravatar Attila Molnar2016-12-301-1/+1
* Change Membership:hasMode() to accept a PrefixModeGravatar Attila Molnar2016-08-301-1/+1
* Replace loop over alphabet with loop over mode list in several placesGravatar Attila Molnar2016-08-301-4/+5
* Pass the ModeHandler to User::HasModePermission()•••Mark the method as const Gravatar Attila Molnar2016-08-301-1/+1
* Mark ModeHandler::GetModeChar() and ModeWatcher::GetModeType() as constGravatar Attila Molnar2016-08-291-5/+0
* Convert ModeHandler::GetNumParams() to NeedsParam() that returns a boolGravatar Attila Molnar2016-08-291-13/+13
* Merge insp20Gravatar Attila Molnar2016-08-171-5/+14
|\
| * Fix 005 not showing some modes with the same rank as others.Gravatar Peter Powell2016-05-301-6/+14
| * Reject empty mode parameters in ModeParser::Process() instead of relying on M...Gravatar Attila Molnar2014-11-301-1/+1
* | Convert WriteNumeric() calls to pass the parameters of the numeric as method ...Gravatar Attila Molnar2016-02-251-12/+11
* | Implement ModeHandler::RegisterService()Gravatar Attila Molnar2015-11-231-0/+6
* | Reduce std::string::substr() usage•••substr() returns a new string while erase() and assign() modify the existing one Gravatar Attila Molnar2015-01-101-1/+1
* | Change type of some associative containers to their flat versions, including ...Gravatar Attila Molnar2014-12-151-2/+2
* | Add typedef ModeParser::ModeWatcherMap, remove ModeWatchIterGravatar Attila Molnar2014-12-151-7/+7
* | Remove listmode hiding support from the core•••This is now handled by m_hidelist Gravatar Attila Molnar2014-09-101-7/+0
* | Migrate code from ModeParser into cmd_mode (core_user)•••- Process() that takes a std::vector<std::string> - DisplayCurrentModes() - DisplayListModes() Gravatar Attila Molnar2014-09-041-125/+0
* | Split ModeParser::DisplayListMode() into two parts•••ShowListModeList() sends the list of one listmode to a user, DisplayListMode() calls it for each mode letter Gravatar Attila Molnar2014-09-041-1/+9
* | Remove unused parameter passed to ModeParser::DisplayCurrentModes()Gravatar Attila Molnar2014-09-041-2/+2
* | Pass Modes::ChangeList references to the OnPreMode hook, make it modifiable•••This gets rid of the duplicated mode parsing logic in m_namedmodes Gravatar Attila Molnar2014-09-041-1/+1
* | Let callers customize the begin/end positions for ModeParser::ModeParamsToCha...•••This helps spanningtree when it deals with a vector of parameters where the modes begin at different positions Gravatar Attila Molnar2014-09-041-4/+7
* | Use Modes::ChangeList in ModeHandler::RemoveMode()Gravatar Attila Molnar2014-09-031-20/+11
* | Add a ModeParser::Process() overload that can process an entire Modes::Change...•••This is a wrapper that calls ProcessSingle() repeatedly until the entire changelist is processed Gravatar Attila Molnar2014-09-031-0/+13
* | Make it possible to resume processing a partially processed Modes::ChangeList•••Return number of processed mode changes from ModeParser::ProcessSingle() and add a begin index parameter Gravatar Attila Molnar2014-09-031-2/+7
* | Split out ModeParser::ModeParamsToChangeList()Gravatar Attila Molnar2014-09-031-10/+14
* | Handle mode merges in ModeParser::ProcessSingle()Gravatar Attila Molnar2014-09-031-9/+18
* | Validate mode parameters from ModeParser::ProcessSingle()Gravatar Attila Molnar2014-09-031-12/+27
* | Split out ModeParser::ProcessSingle() from Process()•••This applies up to one MODE line's worth of mode changes from a Modes::ChangeList Gravatar Attila Molnar2014-09-031-19/+42
* | Add mode process flag MODE_CHECKACCESSGravatar Attila Molnar2014-09-031-11/+17
* | Remove ModeHandler::m_paramtype and GetTranslateType()Gravatar Attila Molnar2014-09-031-2/+1
* | Remove ModeParser::LastParseTranslate and GetLastParseTranslate()Gravatar Attila Molnar2014-09-031-3/+0
* | Remove ModeParser::LastParseParams and GetLastParseParams()Gravatar Attila Molnar2014-09-031-5/+0
* | Compare Limits.MaxModes to the size of LastChangeList in ModeParser::Process()Gravatar Attila Molnar2014-09-031-1/+1
* | Remove ProtocolInterface::SendMode()Gravatar Attila Molnar2014-09-031-3/+0
* | Pass the modes to the OnMode hook as a Modes::ChangeList, pass ModeProcessFla...Gravatar Attila Molnar2014-09-031-1/+1
* | Populate a Modes::ChangeList object in ModeParser::Process()Gravatar Attila Molnar2014-09-031-0/+2
* | Change mode_sequence to be a const ref in ModeParser::Process()•••Also change the signature of DisplayListModes() to accept a const ref Gravatar Attila Molnar2014-09-021-2/+2
* | Replace stringstream with a std::string in ModeParser::Process()•••There is no benefit in using a stringstream here Gravatar Attila Molnar2014-09-021-4/+5
* | Pass prefix rank and prefix char to PrefixMode constructorGravatar Attila Molnar2014-08-061-2/+2
* | Remove a bunch of useless classes representing simple core modesGravatar Attila Molnar2014-08-061-7/+18