aboutsummaryrefslogtreecommitdiff
path: root/src/mode.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* | Rename UserMembList to Channel::MemberMap, switch all code to use itGravatar Attila Molnar2014-07-141-1/+1
| |
* | Change return type of Channel::GetUsers() to reference from pointer as it is ↵Gravatar Attila Molnar2014-07-141-2/+2
| | | | | | | | never NULL
* | Change allocation of InspIRCd::Modes to be physically part of the object ↵Gravatar Attila Molnar2014-06-241-1/+1
| | | | | | | | containing it using fakederef
* | Add UserManager::GetUsers()Gravatar Attila Molnar2014-03-151-1/+4
| |
* | Add InspIRCd::GetChans(), remove ChannelCount()Gravatar Attila Molnar2014-03-141-1/+4
| |
* | Move the wallops mode from the core into core_wallopsGravatar Attila Molnar2014-03-091-2/+1
| |
* | Throw an exception if ModeParser::AddMode() failsGravatar Attila Molnar2014-02-231-7/+6
| |
* | Assign an id to user modes, parameter chanmodes and simple chanmodesGravatar Attila Molnar2014-02-211-1/+29
| |
* | Replace mode letter parameter of OnRawMode() with a ModeHandler*, remove pcntGravatar Attila Molnar2014-02-211-2/+2
| |
* | Add a ModeParser::FindMode() overload that takes a mode name and a mode typeGravatar Attila Molnar2014-02-201-0/+10
| |
* | Create a name -> ModeHandler* mapGravatar Attila Molnar2014-02-201-0/+9
| |
* | Replace ModeMasks with a two-dimensional arrayGravatar Attila Molnar2014-02-181-37/+19
| |
* | Change the parameter type of ModeHandler::GiveModeList() from ModeMasks to ↵Gravatar Attila Molnar2014-02-181-2/+2
| | | | | | | | ModeType
* | Add ParamModeBase and ParamMode, change all parameter modes to inherit from ↵Gravatar Attila Molnar2014-02-151-18/+26
| | | | | | | | | | | | | | | | | | | | 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
* | Merge insp20Gravatar Attila Molnar2014-01-211-3/+15
|\|
| * Use FindNickOnly() in a few more places if a local user is performing an ↵Gravatar Attila Molnar2014-01-191-5/+21
| | | | | | | | action to prevent UID walking
| * Improve support for rarely used compilers, EKOPath in this case.Gravatar ChrisTX2013-08-311-1/+1
| |
* | Automatically register and unregister mode watchersGravatar Attila Molnar2014-01-061-0/+2
| |
* | Remove useless ULine() checksGravatar Attila Molnar2014-01-051-1/+1
| |
* | Use WriteNumeric() everywhere we send numerics and include the user's nick ↵Gravatar Adam2013-11-121-21/+21
| | | | | | | | automatically
* | Keep lists of mode handlers by typeGravatar attilamolnar2013-09-121-7/+19
| |
* | Move prefix mode specific fields and getters into PrefixModeGravatar attilamolnar2013-09-111-25/+32
| | | | | | | | Add ModeHandler::IsPrefixMode()
* | Create a base class for prefix modesGravatar attilamolnar2013-09-111-29/+27
| | | | | | | | Move Channel::SetPrefix() into Membership
* | Add a type id field to ModeHandlerGravatar attilamolnar2013-09-111-2/+2
| |
* | Clean up a few constructorsGravatar attilamolnar2013-08-121-3/+0
| | | | | | | | Do not silently correct a zero TS in Channel::Channel(); require callers to supply a valid TS instead
* | Change the syntax of FOREACH macros to be less dumb.Gravatar Adam2013-08-041-1/+1
| |
* | Move SetNoticeMask(), FormatNoticeMasks() and ProcessNoticeMasks() from the ↵Gravatar attilamolnar2013-07-191-1/+4
| | | | | | | | User class to the snomask modehandler
* | Replace hardcoded mode letters passed to IsModeSet() and GetModeParameter() ↵Gravatar attilamolnar2013-07-011-8/+8
| | | | | | | | with ModeHandlers, part 1
* | Fix a few oversightsGravatar attilamolnar2013-07-011-1/+1
| | | | | | | | This partially reverts e0cb6bd46fb1d804ad6adea5688c844f7e1a0f6f
* | Call Channel::SetModeParam() from the mode parser when needed instead of ↵Gravatar attilamolnar2013-06-131-4/+3
| | | | | | | | requiring mode handlers to do it
* | Replace void* dest and target_type parameters of OnMode with a User* and a ↵Gravatar attilamolnar2013-06-131-8/+4
| | | | | | | | Channel*
* | Introduce ModeProcessFlags, can be passed to ModeParser::Process() to ↵Gravatar attilamolnar2013-06-131-3/+6
| | | | | | | | | | | | | | | | 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.)
* | Store prefix rank in a ModeHandler field, change ↵Gravatar attilamolnar2013-06-061-6/+1
| | | | | | | | ModeHandler::GetPrefixRank() to be non-virtual
* | Convert User::FormatNoticeMasks() to use std::string.Gravatar Peter Powell2013-06-061-1/+1
| |
* | Move a few trivial functions into headersGravatar attilamolnar2013-06-021-10/+0
| |
* | Watch mode names with ModeWatchers instead of mode lettersGravatar attilamolnar2013-06-011-59/+47
| |
* | Remove useless ModeType parameter from ModeWatcher::BeforeMode() and AfterMode()Gravatar attilamolnar2013-06-011-5/+5
| |
* | Simplify user mode removal via ModeHandler::RemoveMode()Gravatar attilamolnar2013-05-271-15/+7
| | | | | | | | | | The function does not need to be virtual because the core can remove any user mode using the default logic The optional modestack parameter was always NULL, so remove it
* | Deduplicate RemoveMode() implementationsGravatar attilamolnar2013-05-271-17/+31
| | | | | | | | | | The default (core) implementation can now remove prefix modes The modestacker parameter is now mandatory
* | Cache mode list that is sent in the 004 numericGravatar attilamolnar2013-05-241-35/+10
| | | | | | | | Deduplicate UserModeList(), ChannelModeList() and ParaModeList() code
* | Remove dead ModeParser codeGravatar attilamolnar2013-05-241-16/+0
| |
* | Allow spaces (and more) in oper typesGravatar attilamolnar2013-05-161-1/+1
| | | | | | | | | | The spaces are converted to '_' characters in OPERTYPE for 2.0 servers Issue #533 suggested by @ankitkv
* | Replace IS_AWAY() and IS_OPER() macros with User::IsAway() and User::IsOper()Gravatar attilamolnar2013-04-101-3/+3
| |
* | Migrate u_listmode.h into the core, change +b to use itGravatar attilamolnar2013-04-081-0/+1
| |
* | Add builtin modes using AddService()Gravatar attilamolnar2013-04-081-18/+9
| |
* | Unite include/modes/*.h into include/builtinmodes.hGravatar attilamolnar2013-04-081-24/+1
|/
* Add IS_SERVER() and REG_ALL checks to (mostly oper only) commands taking a ↵Gravatar attilamolnar2012-12-151-1/+1
| | | | | | target nickname If a SID was passed as the target user parameter or when it's an unregistered user reply with the "no such nick" (or the moral equivalent) message
* Fix unsafe iteration in DelMode() when unloading m_permchannelsGravatar attilamolnar2012-12-081-4/+9
|
* Change empty string assignments to .clear() or remove them entirelyGravatar attilamolnar2012-11-281-1/+1
| | | | Part 2 of ba5c0db795824c3fc1ad48ce332d7bdc440cb77f
* Move simple user and channel mode handlers into a single fileGravatar attilamolnar2012-10-081-13/+5
|